diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2019-08-29 13:29:31 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-10-22 17:08:26 -0400 |
commit | 78854fca28e4e789c99a812acda2ac04c20d2dac (patch) | |
tree | c24c49138fb18c1f89eab3c12524c50f3b8f8317 | |
parent | 06ab329c150f9eebc68cdb156a9591084b16ec55 (diff) | |
download | lwn-78854fca28e4e789c99a812acda2ac04c20d2dac.tar.gz lwn-78854fca28e4e789c99a812acda2ac04c20d2dac.zip |
bcachefs: Fix BTREE_INSERT_NOMARK_OVERWRITES
bch2_mark_update() was correct, but bch2_trans_mark_update() wasn't
respecting BTREE_INSERT_NOMARK_OVERWRITES - key marking/triggers really
need to be cleaned up.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
-rw-r--r-- | fs/bcachefs/buckets.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/bcachefs/buckets.c b/fs/bcachefs/buckets.c index d732ec77e281..774201a1c0c5 100644 --- a/fs/bcachefs/buckets.c +++ b/fs/bcachefs/buckets.c @@ -1762,6 +1762,9 @@ int bch2_trans_mark_update(struct btree_trans *trans, if (ret) return ret; + if (unlikely(trans->flags & BTREE_INSERT_NOMARK_OVERWRITES)) + return 0; + while ((_k = bch2_btree_node_iter_peek_filter(&node_iter, b, KEY_TYPE_discard))) { struct bkey unpacked; |