bcachefs: Add missing path_traverse() to btree_iter_next_node()
authorKent Overstreet <kent.overstreet@linux.dev>
Wed, 7 Aug 2024 22:03:54 +0000 (18:03 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Thu, 8 Aug 2024 01:04:55 +0000 (21:04 -0400)
This fixes a bug exposed by the next path - we pop an assert in
path_set_should_be_locked().

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/btree_iter.c

index 36872207f09b22ac597d18b87e18ece7b07a92fc..aa8a049071f410d05fcfdd6d85d3ef1f0329948c 100644 (file)
@@ -1921,6 +1921,11 @@ struct btree *bch2_btree_iter_next_node(struct btree_iter *iter)
        bch2_trans_verify_not_in_restart(trans);
        bch2_btree_iter_verify(iter);
 
+       ret = bch2_btree_path_traverse(trans, iter->path, iter->flags);
+       if (ret)
+               goto err;
+
+
        struct btree_path *path = btree_iter_path(trans, iter);
 
        /* already at end? */