projects
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
ea41602
)
bcachefs: fix triggers for stripes btree
author
Kent Overstreet
<kent.overstreet@gmail.com>
Wed, 17 Apr 2019 19:49:45 +0000
(15:49 -0400)
committer
Kent Overstreet
<kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:08:20 +0000
(17:08 -0400)
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/buckets.c
patch
|
blob
|
history
diff --git
a/fs/bcachefs/buckets.c
b/fs/bcachefs/buckets.c
index 7a05ba5fd5891dd4fc6bba710389a87b0299b3ef..e9c5889b2c0fe7808c621b956f14156f8a2fd414 100644
(file)
--- a/
fs/bcachefs/buckets.c
+++ b/
fs/bcachefs/buckets.c
@@
-1107,6
+1107,15
@@
void bch2_mark_update(struct btree_trans *trans,
if (unlikely(trans->flags & BTREE_INSERT_NOMARK_OVERWRITES))
return;
+ /*
+ * For non extents, we only mark the new key, not the key being
+ * overwritten - unless we're actually deleting:
+ */
+ if ((iter->btree_id == BTREE_ID_ALLOC ||
+ iter->btree_id == BTREE_ID_EC) &&
+ !bkey_deleted(&insert->k->k))
+ return;
+
while ((_k = bch2_btree_node_iter_peek_filter(&node_iter, b,
KEY_TYPE_discard))) {
struct bkey unpacked;