diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2019-08-21 18:55:07 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-10-22 17:08:25 -0400 |
commit | f698a957979bfff266a65a2080a224cca7ccc962 (patch) | |
tree | 0bc984ae4f02e6424de2b9611423056bbc3257b3 /fs | |
parent | e42951b0aa50bb67b29da1af1099013c1aeb1d9d (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@linux.dev>
Diffstat (limited to 'fs')
-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 779ee42350ad..f097bed684e5 100644 --- a/fs/bcachefs/extents.c +++ b/fs/bcachefs/extents.c @@ -454,6 +454,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); |