summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@gmail.com>2019-08-29 13:29:31 -0400
committerKent Overstreet <kent.overstreet@gmail.com>2019-08-29 13:29:31 -0400
commitfee79cd6543ed687efe86458e3c4479eff818488 (patch)
treed9d5c73e00a185bda57a6bf6eedd84a751c10677
parent0d627739e94c55ef19b6b6b9760133f7cf289f67 (diff)
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@gmail.com>
-rw-r--r--fs/bcachefs/buckets.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/bcachefs/buckets.c b/fs/bcachefs/buckets.c
index 247d0263f7e2..1516df224d7d 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;