Skip to content

Commit 1f9edb7

Browse files
committed
bcachefs: Update iter->real_pos lazily
peek() has to update iter->real_pos - there's no need for bch2_btree_iter_set_pos() to update it as well. Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
1 parent 7ccf134 commit 1f9edb7

File tree

2 files changed

+7
-9
lines changed

2 files changed

+7
-9
lines changed

fs/bcachefs/btree_iter.c

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1470,14 +1470,6 @@ static void btree_iter_set_search_pos(struct btree_iter *iter, struct bpos new_p
14701470
bch2_btree_iter_verify(iter);
14711471
}
14721472

1473-
void bch2_btree_iter_set_pos(struct btree_iter *iter, struct bpos new_pos)
1474-
{
1475-
bkey_init(&iter->k);
1476-
iter->k.p = iter->pos = new_pos;
1477-
1478-
btree_iter_set_search_pos(iter, btree_iter_search_key(iter));
1479-
}
1480-
14811473
inline bool bch2_btree_iter_advance(struct btree_iter *iter)
14821474
{
14831475
struct bpos pos = iter->k.p;
@@ -1994,6 +1986,7 @@ struct btree_iter *__bch2_trans_get_iter(struct btree_trans *trans,
19941986
__bch2_btree_iter_upgrade_nounlock(iter, 1);
19951987

19961988
bch2_btree_iter_set_pos(iter, pos);
1989+
btree_iter_set_search_pos(iter, btree_iter_search_key(iter));
19971990

19981991
return iter;
19991992
}

fs/bcachefs/btree_iter.h

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,12 @@ struct bkey_s_c bch2_btree_iter_peek_cached(struct btree_iter *);
177177

178178
bool bch2_btree_iter_advance(struct btree_iter *);
179179
bool bch2_btree_iter_rewind(struct btree_iter *);
180-
void bch2_btree_iter_set_pos(struct btree_iter *, struct bpos);
180+
181+
static inline void bch2_btree_iter_set_pos(struct btree_iter *iter, struct bpos new_pos)
182+
{
183+
bkey_init(&iter->k);
184+
iter->k.p = iter->pos = new_pos;
185+
}
181186

182187
/* Sort order for locking btree iterators: */
183188
static inline int btree_iter_lock_cmp(const struct btree_iter *l,

0 commit comments

Comments
 (0)