We want to play the same trick in the COW end I/O handler, so lift this constant out of the scrub directory and change the prefix to XFS_. Signed-off-by: Christoph Hellwig <hch@xxxxxx> --- fs/xfs/libxfs/xfs_trans_resv.h | 7 +++++++ fs/xfs/scrub/newbt.c | 2 +- fs/xfs/scrub/reap.c | 2 +- fs/xfs/scrub/repair.h | 8 -------- 4 files changed, 9 insertions(+), 10 deletions(-) diff --git a/fs/xfs/libxfs/xfs_trans_resv.h b/fs/xfs/libxfs/xfs_trans_resv.h index 0554b9d775d269..51eb56560ee189 100644 --- a/fs/xfs/libxfs/xfs_trans_resv.h +++ b/fs/xfs/libxfs/xfs_trans_resv.h @@ -95,6 +95,13 @@ struct xfs_trans_resv { #define XFS_ITRUNCATE_LOG_COUNT_REFLINK 8 #define XFS_WRITE_LOG_COUNT_REFLINK 8 +/* + * This is the maximum number of deferred extent freeing item extents (EFIs) + * that we'll attach to a transaction without rolling the transaction to avoid + * overrunning a tr_itruncate reservation. + */ +#define XFS_MAX_ITRUNCATE_EFIS 128 + void xfs_trans_resv_calc(struct xfs_mount *mp, struct xfs_trans_resv *resp); uint xfs_allocfree_block_count(struct xfs_mount *mp, uint num_ops); diff --git a/fs/xfs/scrub/newbt.c b/fs/xfs/scrub/newbt.c index 4a0271123d94ea..872f97db2a6425 100644 --- a/fs/xfs/scrub/newbt.c +++ b/fs/xfs/scrub/newbt.c @@ -452,7 +452,7 @@ xrep_newbt_free( } freed += ret; - if (freed >= XREP_MAX_ITRUNCATE_EFIS) { + if (freed >= XFS_MAX_ITRUNCATE_EFIS) { error = xrep_defer_finish(sc); if (error) goto junkit; diff --git a/fs/xfs/scrub/reap.c b/fs/xfs/scrub/reap.c index 01ceaa4efa16bf..433891b0d08c73 100644 --- a/fs/xfs/scrub/reap.c +++ b/fs/xfs/scrub/reap.c @@ -169,7 +169,7 @@ static inline bool xreap_want_roll(const struct xreap_state *rs) { if (rs->force_roll) return true; - if (rs->deferred > XREP_MAX_ITRUNCATE_EFIS) + if (rs->deferred > XFS_MAX_ITRUNCATE_EFIS) return true; if (rs->invalidated > XREAP_MAX_BINVAL) return true; diff --git a/fs/xfs/scrub/repair.h b/fs/xfs/scrub/repair.h index 0e0dc2bf985c21..ec76774afffb31 100644 --- a/fs/xfs/scrub/repair.h +++ b/fs/xfs/scrub/repair.h @@ -17,14 +17,6 @@ static inline int xrep_notsupported(struct xfs_scrub *sc) #ifdef CONFIG_XFS_ONLINE_REPAIR -/* - * This is the maximum number of deferred extent freeing item extents (EFIs) - * that we'll attach to a transaction without rolling the transaction to avoid - * overrunning a tr_itruncate reservation. - */ -#define XREP_MAX_ITRUNCATE_EFIS (128) - - /* Repair helpers */ int xrep_attempt(struct xfs_scrub *sc, struct xchk_stats_run *run); -- 2.39.2