fixup! bcachefs: Factor out __bch2_btree_iter_set_pos()
authorKent Overstreet <kent.overstreet@linux.dev>
Mon, 11 Sep 2023 03:35:25 +0000 (23:35 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:09:21 +0000 (17:09 -0400)
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/btree_iter.c

index 01c130a3ce8db3abda4035a3b53c5b6bd0f4e25b..281e5895bc30850b18deb6b6cdbba0b66c3907ea 100644 (file)
@@ -2247,7 +2247,7 @@ struct bkey_s_c bch2_btree_iter_peek(struct btree_iter *iter)
        struct bpos search_key = btree_iter_search_key(iter);
        struct bkey_i *next_update;
        struct bkey_s_c k;
-       int ret, cmp;
+       int ret;
 
        EBUG_ON(iter->path->cached || iter->path->level);
        bch2_btree_iter_verify(iter);
@@ -2336,13 +2336,9 @@ struct bkey_s_c bch2_btree_iter_peek(struct btree_iter *iter)
        if (iter->flags & BTREE_ITER_FILTER_SNAPSHOTS)
                iter->pos.snapshot = iter->snapshot;
 
-       cmp = bpos_cmp(k.k->p, iter->path->pos);
-       if (cmp) {
-               iter->path = bch2_btree_path_make_mut(trans, iter->path,
-                                       iter->flags & BTREE_ITER_INTENT);
-               iter->path->pos = k.k->p;
-               trans->paths_sorted = false;
-       }
+       iter->path = btree_path_set_pos(trans, iter->path, k.k->p,
+                               iter->flags & BTREE_ITER_INTENT);
+       BUG_ON(!iter->path->nodes_locked);
 out:
        iter->path->should_be_locked = true;