summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@gmail.com>2019-08-21 18:55:07 -0400
committerKent Overstreet <kent.overstreet@gmail.com>2019-08-21 18:55:20 -0400
commitd2b8aad25be7bb8247b15635b32cde326afbbb2c (patch)
treeec4967ae4ea9f1ddd7729d9cb0240fb2dee96ba7
parent817fed1b7448bcc6c60cade1bdf12c5e6dccfd11 (diff)
bcachefs: Fix bch2_bkey_narrow_crcs()
We have to reinitialize ptrs whenever we do something that changes them. Regression from when the code was converted to be generic across all keys with pointers. Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
-rw-r--r--fs/bcachefs/extents.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/bcachefs/extents.c b/fs/bcachefs/extents.c
index 3bcf50c69014..ec3fbddbf0ef 100644
--- a/fs/bcachefs/extents.c
+++ b/fs/bcachefs/extents.c
@@ -455,6 +455,8 @@ found:
BUG_ON(n.live_size != k->k.size);
restart_narrow_pointers:
+ ptrs = bch2_bkey_ptrs(bkey_i_to_s(k));
+
bkey_for_each_ptr_decode(&k->k, ptrs, p, i)
if (can_narrow_crc(p.crc, n)) {
bch2_bkey_drop_ptr(bkey_i_to_s(k), &i->ptr);