]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
bcachefs: bch2_path_get() no longer uses path->idx
authorKent Overstreet <kent.overstreet@linux.dev>
Mon, 11 Dec 2023 05:02:07 +0000 (00:02 -0500)
committerKent Overstreet <kent.overstreet@linux.dev>
Mon, 1 Jan 2024 16:47:44 +0000 (11:47 -0500)
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/btree_iter.c

index f69b84711cc275483ec9ea54ec181d29ccc49023..c997c59214af0f0f2c0839d0af514b8676a44dcd 100644 (file)
@@ -1561,7 +1561,7 @@ btree_path_idx_t bch2_path_get(struct btree_trans *trans,
        bool cached = flags & BTREE_ITER_CACHED;
        bool intent = flags & BTREE_ITER_INTENT;
        struct trans_for_each_path_inorder_iter iter;
-       btree_path_idx_t path_pos = 0;
+       btree_path_idx_t path_pos = 0, path_idx;
 
        bch2_trans_verify_not_in_restart(trans);
        bch2_trans_verify_locks(trans);
@@ -1584,10 +1584,11 @@ btree_path_idx_t bch2_path_get(struct btree_trans *trans,
            trans->paths[path_pos].btree_id     == btree_id &&
            trans->paths[path_pos].level        == level) {
                __btree_path_get(trans->paths + path_pos, intent);
-               path = trans->paths + bch2_btree_path_set_pos(trans,
-                                               path_pos, pos, intent, ip);
+               path_idx = bch2_btree_path_set_pos(trans, path_pos, pos, intent, ip);
+               path = trans->paths + path_idx;
        } else {
-               path = trans->paths + btree_path_alloc(trans, path_pos);
+               path_idx = btree_path_alloc(trans, path_pos);
+               path = trans->paths + path_idx;
 
                __btree_path_get(path, intent);
                path->pos                       = pos;
@@ -1624,7 +1625,7 @@ btree_path_idx_t bch2_path_get(struct btree_trans *trans,
        if (locks_want > path->locks_want)
                bch2_btree_path_upgrade_noupgrade_sibs(trans, path, locks_want, NULL);
 
-       return path->idx;
+       return path_idx;
 }
 
 struct bkey_s_c bch2_btree_path_peek_slot(struct btree_path *path, struct bkey *u)