From 6b3d8b8992e59d3a145f67173a0d75fa25e6e750 Mon Sep 17 00:00:00 2001 From: Kent Overstreet Date: Mon, 25 Oct 2021 19:30:24 -0400 Subject: [PATCH] bcachefs: Don't run triggers in fix_reflink_p_key() It seems some users have reflink pointers which span many indirect extents, from a short window in time when merging of reflink pointers was allowed. Now, we're seeing transaction path overflows in fix_reflink_p(), the code path to clear out the reflink_p fields now used for front/back pad - but, we don't actually need to be running triggers in that path, which is an easy partial fix. Signed-off-by: Kent Overstreet --- fs/bcachefs/fsck.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/bcachefs/fsck.c b/fs/bcachefs/fsck.c index 197b9079e2b8c..a61d380a47b6b 100644 --- a/fs/bcachefs/fsck.c +++ b/fs/bcachefs/fsck.c @@ -2258,7 +2258,7 @@ static int fix_reflink_p_key(struct btree_trans *trans, struct btree_iter *iter) u->v.front_pad = 0; u->v.back_pad = 0; - return bch2_trans_update(trans, iter, &u->k_i, 0); + return bch2_trans_update(trans, iter, &u->k_i, BTREE_TRIGGER_NORUN); } static int fix_reflink_p(struct bch_fs *c) -- 2.30.2