summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2023-12-19 20:54:11 -0500
committerKent Overstreet <kent.overstreet@linux.dev>2023-12-23 17:08:30 -0500
commitcf979ca2d133df24ab1ef9d91f23096e388357ec (patch)
tree1fd7600257d539f38b9b68bfc3bc8023899fe09c
parent2ddb6493af21119247dbdbeb76e7090a71acd27b (diff)
bcachefs: skip journal more often in key cache reclaim
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
-rw-r--r--fs/bcachefs/btree_key_cache.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/bcachefs/btree_key_cache.c b/fs/bcachefs/btree_key_cache.c
index 39fd4d8a8e90..74e52fd28abe 100644
--- a/fs/bcachefs/btree_key_cache.c
+++ b/fs/bcachefs/btree_key_cache.c
@@ -655,7 +655,9 @@ static int btree_key_cache_flush_pos(struct btree_trans *trans,
*/
if (ck->journal.seq == journal_last_seq(j))
commit_flags |= BCH_WATERMARK_reclaim;
- else
+
+ if (ck->journal.seq != journal_last_seq(j) ||
+ j->watermark == BCH_WATERMARK_stripe)
commit_flags |= BCH_TRANS_COMMIT_no_journal_res;
ret = bch2_btree_iter_traverse(&b_iter) ?: