diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2019-08-21 18:55:07 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@gmail.com> | 2019-08-21 18:55:20 -0400 |
commit | d2b8aad25be7bb8247b15635b32cde326afbbb2c (patch) | |
tree | ec4967ae4ea9f1ddd7729d9cb0240fb2dee96ba7 | |
parent | 817fed1b7448bcc6c60cade1bdf12c5e6dccfd11 (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.c | 2 |
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); |