projects
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
9b02d1c
)
bcachefs: Add missing bch2_btree_node_iter_fix() calls
author
Kent Overstreet
<kent.overstreet@gmail.com>
Sat, 14 Sep 2019 14:45:46 +0000
(10:45 -0400)
committer
Kent Overstreet
<kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:08:27 +0000
(17:08 -0400)
With multiple iterators, if another iterator points to the key being
modified, we need to call bch2_btree_node_iter_fix() to re-unpack the
key into the iter->k
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/extents.c
patch
|
blob
|
history
diff --git
a/fs/bcachefs/extents.c
b/fs/bcachefs/extents.c
index 1d400808d8424769e6f4e08904b25a0bc0648754..2cf97df6b85bebbcbac48e13cfc0ba1fd6bafe66 100644
(file)
--- a/
fs/bcachefs/extents.c
+++ b/
fs/bcachefs/extents.c
@@
-1138,6
+1138,8
@@
extent_squash(struct bch_fs *c, struct btree_iter *iter,
__bch2_cut_front(insert->k.p, k);
BUG_ON(bkey_deleted(k.k));
extent_save(l->b, _k, k.k);
+ bch2_btree_node_iter_fix(iter, l->b, &l->iter,
+ _k, _k->u64s, _k->u64s);
verify_modified_extent(iter, _k);
break;
@@
-1207,6
+1209,8
@@
extent_squash(struct bch_fs *c, struct btree_iter *iter,
__bch2_cut_front(insert->k.p, k);
BUG_ON(bkey_deleted(k.k));
extent_save(l->b, _k, k.k);
+ bch2_btree_node_iter_fix(iter, l->b, &l->iter,
+ _k, _k->u64s, _k->u64s);
verify_modified_extent(iter, _k);
extent_bset_insert(c, iter, &split.k);