mirror of https://github.com/torvalds/linux.git
xfs: remove static reap limits from repair.h
Delete XREAP_MAX_BINVAL and XREAP_MAX_DEFER_CHAIN because the reap code now calculates those limits dynamically, so they're no longer needed. Move the third limit (XREP_MAX_ITRUNCATE_EFIS) to the one file that uses it. Note that the btree rebuilding code should reserve exactly the number of blocks needed to rebuild a btree, so it is rare that the newbt code will need to add any EFIs to the commit transaction. That's why that static limit remains. Signed-off-by: "Darrick J. Wong" <djwong@kernel.org> Reviewed-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
parent
e4c7eece76
commit
d5b157e088
|
|
@ -27,6 +27,15 @@
|
||||||
#include "scrub/repair.h"
|
#include "scrub/repair.h"
|
||||||
#include "scrub/newbt.h"
|
#include "scrub/newbt.h"
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 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. The newbt code should reserve
|
||||||
|
* exactly the correct number of blocks to rebuild the btree, so there should
|
||||||
|
* not be any excess blocks to free when committing a new btree.
|
||||||
|
*/
|
||||||
|
#define XREP_MAX_ITRUNCATE_EFIS (128)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Estimate proper slack values for a btree that's being reloaded.
|
* Estimate proper slack values for a btree that's being reloaded.
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -171,8 +171,6 @@ static inline bool xreap_is_dirty(const struct xreap_state *rs)
|
||||||
return rs->nr_binval > 0 || rs->nr_deferred > 0;
|
return rs->nr_binval > 0 || rs->nr_deferred > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define XREAP_MAX_BINVAL (2048)
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Decide if we need to roll the transaction to clear out the the log
|
* Decide if we need to roll the transaction to clear out the the log
|
||||||
* reservation that we allocated to buffer invalidations.
|
* reservation that we allocated to buffer invalidations.
|
||||||
|
|
@ -198,8 +196,6 @@ static inline bool xreap_inc_binval(struct xreap_state *rs)
|
||||||
return rs->nr_binval < rs->max_binval;
|
return rs->nr_binval < rs->max_binval;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define XREAP_MAX_DEFER_CHAIN (2048)
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Decide if we want to finish the deferred ops that are attached to the scrub
|
* Decide if we want to finish the deferred ops that are attached to the scrub
|
||||||
* transaction. We don't want to queue huge chains of deferred ops because
|
* transaction. We don't want to queue huge chains of deferred ops because
|
||||||
|
|
|
||||||
|
|
@ -18,14 +18,6 @@ static inline int xrep_notsupported(struct xfs_scrub *sc)
|
||||||
|
|
||||||
#ifdef CONFIG_XFS_ONLINE_REPAIR
|
#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 */
|
/* Repair helpers */
|
||||||
|
|
||||||
int xrep_attempt(struct xfs_scrub *sc, struct xchk_stats_run *run);
|
int xrep_attempt(struct xfs_scrub *sc, struct xchk_stats_run *run);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue