From: Kent Overstreet Date: Thu, 29 Aug 2019 17:29:31 +0000 (-0400) Subject: bcachefs: Fix BTREE_INSERT_NOMARK_OVERWRITES X-Git-Tag: v6.7-rc1~201^2~2362 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=78854fca28e4e789c99a812acda2ac04c20d2dac;p=thirdparty%2Flinux.git 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 --- diff --git a/fs/bcachefs/buckets.c b/fs/bcachefs/buckets.c index d732ec77e281f..774201a1c0c55 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;