summaryrefslogtreecommitdiff
path: root/fs
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2023-09-10 23:35:25 -0400
committerKent Overstreet <kent.overstreet@linux.dev>2023-10-22 17:09:21 -0400
commit8e432d98a5011de5b1304fa9c8591588bea59b96 (patch)
tree66270b7895f2f2cb0bd03f28b8eff52d120a83cb /fs
parent5222a4607cd8b9d8882e81796917c10193d10be0 (diff)
downloadlwn-8e432d98a5011de5b1304fa9c8591588bea59b96.tar.gz
lwn-8e432d98a5011de5b1304fa9c8591588bea59b96.zip
fixup! bcachefs: Factor out __bch2_btree_iter_set_pos()
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs')
-rw-r--r--fs/bcachefs/btree_iter.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/fs/bcachefs/btree_iter.c b/fs/bcachefs/btree_iter.c
index 01c130a3ce8d..281e5895bc30 100644
--- a/fs/bcachefs/btree_iter.c
+++ b/fs/bcachefs/btree_iter.c
@@ -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;