diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2021-10-25 19:30:24 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-10-22 17:09:15 -0400 |
commit | 6b3d8b8992e59d3a145f67173a0d75fa25e6e750 (patch) | |
tree | 26eaa2f002b3148062409c1b0df8c7a3243b3ba0 /fs | |
parent | d121172561d670c8152559614b3575322d709d8d (diff) |
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 <kent.overstreet@gmail.com>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/bcachefs/fsck.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/bcachefs/fsck.c b/fs/bcachefs/fsck.c index 197b9079e2b8..a61d380a47b6 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) |