summaryrefslogtreecommitdiff
path: root/libbcachefs/btree_iter.c
diff options
context:
space:
mode:
Diffstat (limited to 'libbcachefs/btree_iter.c')
-rw-r--r--libbcachefs/btree_iter.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/libbcachefs/btree_iter.c b/libbcachefs/btree_iter.c
index 25d254e..7f7bf13 100644
--- a/libbcachefs/btree_iter.c
+++ b/libbcachefs/btree_iter.c
@@ -2233,12 +2233,11 @@ struct bkey_s_c btree_trans_peek_journal(struct btree_trans *trans,
struct bkey_s_c k)
{
struct bkey_i *next_journal =
- bch2_journal_keys_peek(trans->c, iter->btree_id, 0,
- iter->path->pos);
+ bch2_journal_keys_peek_upto(trans->c, iter->btree_id, 0,
+ iter->path->pos,
+ k.k ? k.k->p : iter->path->l[0].b->key.k.p);
- if (next_journal &&
- bpos_cmp(next_journal->k.p,
- k.k ? k.k->p : iter->path->l[0].b->key.k.p) <= 0) {
+ if (next_journal) {
iter->k = next_journal->k;
k = bkey_i_to_s_c(next_journal);
}
@@ -2687,9 +2686,8 @@ struct bkey_s_c bch2_btree_iter_peek_slot(struct btree_iter *iter)
}
if (unlikely(iter->flags & BTREE_ITER_WITH_JOURNAL) &&
- (next_update = bch2_journal_keys_peek(trans->c, iter->btree_id,
- 0, iter->pos)) &&
- !bpos_cmp(next_update->k.p, iter->pos)) {
+ (next_update = bch2_journal_keys_peek_slot(trans->c,
+ iter->btree_id, 0, iter->pos))) {
iter->k = next_update->k;
k = bkey_i_to_s_c(next_update);
goto out;