From: Kent Overstreet Date: Sun, 4 Jul 2021 03:57:09 +0000 (-0400) Subject: bcachefs: Fix bch2_btree_iter_peek_prev() X-Git-Tag: v6.7-rc1~201^2~1491 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=508b1f71396486648e3d42d1814e7f148fbb7751;p=thirdparty%2Fkernel%2Flinux.git bcachefs: Fix bch2_btree_iter_peek_prev() In !BTREE_ITER_IS_EXTENTS mode, we shouldn't be looking at k->size, i.e. we shouldn't use bkey_start_pos(). Signed-off-by: Kent Overstreet --- diff --git a/fs/bcachefs/btree_iter.c b/fs/bcachefs/btree_iter.c index cf26da1ab895b..31d8c89ae255f 100644 --- a/fs/bcachefs/btree_iter.c +++ b/fs/bcachefs/btree_iter.c @@ -1779,7 +1779,7 @@ struct bkey_s_c bch2_btree_iter_peek_prev(struct btree_iter *iter) if (!k.k || ((iter->flags & BTREE_ITER_IS_EXTENTS) ? bkey_cmp(bkey_start_pos(k.k), iter->pos) >= 0 - : bkey_cmp(bkey_start_pos(k.k), iter->pos) > 0)) + : bkey_cmp(k.k->p, iter->pos) > 0)) k = btree_iter_level_prev(iter, l); if (likely(k.k))