diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2022-10-14 07:02:36 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-10-22 17:09:51 -0400 |
commit | 53b1c6f44b1a98ea6def11b74c1fde9710f2a0b9 (patch) | |
tree | c159854a027182913261e2e4bea9aff9ae34e401 /fs/bcachefs/ec.c | |
parent | b32f9a577b8d532d31ee7d71e58d1ec512a25a9a (diff) | |
download | lwn-53b1c6f44b1a98ea6def11b74c1fde9710f2a0b9.tar.gz lwn-53b1c6f44b1a98ea6def11b74c1fde9710f2a0b9.zip |
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/ec.c')
-rw-r--r-- | fs/bcachefs/ec.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/bcachefs/ec.c b/fs/bcachefs/ec.c index c7ac2894db2e..7028fb718ebf 100644 --- a/fs/bcachefs/ec.c +++ b/fs/bcachefs/ec.c @@ -841,7 +841,8 @@ static int ec_stripe_update_extent(struct btree_trans *trans, struct bkey_i *n; int ret, dev, block; - ret = bch2_get_next_backpointer(trans, bucket, gen, bp_offset, &bp); + ret = bch2_get_next_backpointer(trans, bucket, gen, + bp_offset, &bp, BTREE_ITER_CACHED); if (ret) return ret; if (*bp_offset == U64_MAX) |