summaryrefslogtreecommitdiff
path: root/fs/bcachefs/btree_update_interior.c
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2023-12-08 11:02:43 +0300
committerKent Overstreet <kent.overstreet@linux.dev>2024-01-01 19:47:43 +0300
commit96ed47d13056b74f867c63ab9fec0fd319048b70 (patch)
tree6558cb79dd163e09098fb541213ac22747b65071 /fs/bcachefs/btree_update_interior.c
parentf6363acaa63a84e7e79bd6e8b926d40a940e7c81 (diff)
downloadlinux-96ed47d13056b74f867c63ab9fec0fd319048b70.tar.xz
bcachefs: bch2_btree_path_traverse() -> btree_path_idx_t
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/btree_update_interior.c')
-rw-r--r--fs/bcachefs/btree_update_interior.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/fs/bcachefs/btree_update_interior.c b/fs/bcachefs/btree_update_interior.c
index 225b82146a0d..51314831ccea 100644
--- a/fs/bcachefs/btree_update_interior.c
+++ b/fs/bcachefs/btree_update_interior.c
@@ -1795,12 +1795,14 @@ int __bch2_foreground_maybe_merge(struct btree_trans *trans,
? bpos_predecessor(b->data->min_key)
: bpos_successor(b->data->max_key);
- sib_path = trans->paths + bch2_path_get(trans, path->btree_id, sib_pos,
- U8_MAX, level, BTREE_ITER_INTENT, _THIS_IP_);
- ret = bch2_btree_path_traverse(trans, sib_path, false);
+ btree_path_idx_t sib_path_idx =
+ bch2_path_get(trans, path->btree_id, sib_pos,
+ U8_MAX, level, BTREE_ITER_INTENT, _THIS_IP_);
+ ret = bch2_btree_path_traverse(trans, sib_path_idx, false);
if (ret)
goto err;
+ sib_path = trans->paths + sib_path_idx;
btree_path_set_should_be_locked(sib_path);
m = sib_path->l[level].b;
@@ -1927,7 +1929,7 @@ out:
err:
if (new_path)
bch2_path_put(trans, new_path->idx, true);
- bch2_path_put(trans, sib_path->idx, true);
+ bch2_path_put(trans, sib_path_idx, true);
bch2_trans_verify_locks(trans);
return ret;
err_free_update: