diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2022-10-14 07:02:36 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-02-05 18:15:37 -0500 |
commit | cb12531b8af9c3ba5087b6e2d4f959d25b507a29 (patch) | |
tree | c5eaaa8e323297edeae515049fa97420a65e0fe1 /fs/bcachefs/backpointers.c | |
parent | d3473f5f16394fa61f1e457668ba155024c9a376 (diff) |
bcachefs: Don't use key cache during fsck
The btree key cache mainly helps with lock contention, at the cost of
additional memory overhead. During some fsck passes the memory overhead
really matters, but fsck is single threaded so lock contention is an
issue - so skipping the key cache during fsck will help with
performance.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/backpointers.c')
-rw-r--r-- | fs/bcachefs/backpointers.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/bcachefs/backpointers.c b/fs/bcachefs/backpointers.c index 4845aefb2f73..7d4367f93b5c 100644 --- a/fs/bcachefs/backpointers.c +++ b/fs/bcachefs/backpointers.c @@ -385,7 +385,8 @@ err: int bch2_get_next_backpointer(struct btree_trans *trans, struct bpos bucket, int gen, u64 *bp_offset, - struct bch_backpointer *dst) + struct bch_backpointer *dst, + unsigned iter_flags) { struct bch_fs *c = trans->c; struct bpos bp_pos, bp_end_pos; @@ -1001,7 +1002,7 @@ static int check_one_backpointer(struct btree_trans *trans, struct printbuf buf = PRINTBUF; int ret; - ret = bch2_get_next_backpointer(trans, bucket, -1, bp_offset, &bp); + ret = bch2_get_next_backpointer(trans, bucket, -1, bp_offset, &bp, 0); if (ret || *bp_offset == U64_MAX) return ret; |