From: Kent Overstreet Date: Sat, 10 Feb 2024 01:15:03 +0000 (-0500) Subject: bcachefs: Save key_cache_path in peek_slot() X-Git-Tag: microblaze-v6.10~53^2~65 X-Git-Url: http://git.monstr.eu/?a=commitdiff_plain;h=3254c1b0e5af7fcb90f2feb928e5313c8a53149e;p=linux-2.6-microblaze.git bcachefs: Save key_cache_path in peek_slot() When bch2_btree_iter_peek_slot() clones the iterator to search for the next key, and then discovers that the key from the cloned iterator is the key we want to return - we also want to save the iter->key_cache_path as well, for the update path. Signed-off-by: Kent Overstreet --- diff --git a/fs/bcachefs/btree_iter.c b/fs/bcachefs/btree_iter.c index 4cb43c676ee1..826ad6fa74cf 100644 --- a/fs/bcachefs/btree_iter.c +++ b/fs/bcachefs/btree_iter.c @@ -2505,6 +2505,7 @@ struct bkey_s_c bch2_btree_iter_peek_slot(struct btree_iter *iter) k = bch2_btree_iter_peek_upto(&iter2, end); if (k.k && !bkey_err(k)) { + swap(iter->key_cache_path, iter2.key_cache_path); iter->k = iter2.k; k.k = &iter->k; }