diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2023-09-10 23:35:25 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-10-22 17:09:21 -0400 |
commit | 8e432d98a5011de5b1304fa9c8591588bea59b96 (patch) | |
tree | 66270b7895f2f2cb0bd03f28b8eff52d120a83cb /fs | |
parent | 5222a4607cd8b9d8882e81796917c10193d10be0 (diff) | |
download | lwn-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.c | 12 |
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; |