From: Kent Overstreet Date: Sun, 29 Dec 2024 14:37:15 +0000 (-0500) Subject: bcachefs: bch2_btree_iter_peek_slot() handles navigating to nonexistent depth X-Git-Tag: io_uring-6.14-20240131~27^2~15 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=d3d0fac57d4679024199706a2aa6d2a4a477bfa3;p=linux-block.git bcachefs: bch2_btree_iter_peek_slot() handles navigating to nonexistent depth Signed-off-by: Kent Overstreet --- diff --git a/fs/bcachefs/btree_iter.c b/fs/bcachefs/btree_iter.c index c291d495b85b..367231ab1980 100644 --- a/fs/bcachefs/btree_iter.c +++ b/fs/bcachefs/btree_iter.c @@ -2770,6 +2770,10 @@ struct bkey_s_c bch2_btree_iter_peek_slot(struct btree_iter *iter) goto out_no_locked; } + struct btree_path *path = btree_iter_path(trans, iter); + if (unlikely(!btree_path_node(path, path->level))) + return bkey_s_c_null; + if ((iter->flags & BTREE_ITER_cached) || !(iter->flags & (BTREE_ITER_is_extents|BTREE_ITER_filter_snapshots))) { k = bkey_s_c_null;