Lines Matching refs:iter

418 						   struct btree_iter *iter)  in bch2_btree_iter_peek()  argument
420 return bch2_btree_iter_peek_max(trans, iter, SPOS_MAX); in bch2_btree_iter_peek()
425 …nline struct bkey_s_c bch2_btree_iter_peek_prev(struct btree_trans *trans, struct btree_iter *iter) in bch2_btree_iter_peek_prev() argument
427 return bch2_btree_iter_peek_prev_min(trans, iter, POS_MIN); in bch2_btree_iter_peek_prev()
439 static inline void __bch2_btree_iter_set_pos(struct btree_iter *iter, struct bpos new_pos) in __bch2_btree_iter_set_pos() argument
441 iter->k.type = KEY_TYPE_deleted; in __bch2_btree_iter_set_pos()
442 iter->k.p.inode = iter->pos.inode = new_pos.inode; in __bch2_btree_iter_set_pos()
443 iter->k.p.offset = iter->pos.offset = new_pos.offset; in __bch2_btree_iter_set_pos()
444 iter->k.p.snapshot = iter->pos.snapshot = new_pos.snapshot; in __bch2_btree_iter_set_pos()
445 iter->k.size = 0; in __bch2_btree_iter_set_pos()
449 struct btree_iter *iter, struct bpos new_pos) in bch2_btree_iter_set_pos() argument
451 if (unlikely(iter->update_path)) in bch2_btree_iter_set_pos()
452 bch2_path_put(trans, iter->update_path, in bch2_btree_iter_set_pos()
453 iter->flags & BTREE_ITER_intent); in bch2_btree_iter_set_pos()
454 iter->update_path = 0; in bch2_btree_iter_set_pos()
456 if (!(iter->flags & BTREE_ITER_all_snapshots)) in bch2_btree_iter_set_pos()
457 new_pos.snapshot = iter->snapshot; in bch2_btree_iter_set_pos()
459 __bch2_btree_iter_set_pos(iter, new_pos); in bch2_btree_iter_set_pos()
462 static inline void bch2_btree_iter_set_pos_to_extent_start(struct btree_iter *iter) in bch2_btree_iter_set_pos_to_extent_start() argument
464 BUG_ON(!(iter->flags & BTREE_ITER_is_extents)); in bch2_btree_iter_set_pos_to_extent_start()
465 iter->pos = bkey_start_pos(&iter->k); in bch2_btree_iter_set_pos_to_extent_start()
469 struct btree_iter *iter, u32 snapshot) in bch2_btree_iter_set_snapshot() argument
471 struct bpos pos = iter->pos; in bch2_btree_iter_set_snapshot()
473 iter->snapshot = snapshot; in bch2_btree_iter_set_snapshot()
475 bch2_btree_iter_set_pos(trans, iter, pos); in bch2_btree_iter_set_snapshot()
510 struct btree_iter *iter, in bch2_trans_iter_init_common() argument
517 iter->update_path = 0; in bch2_trans_iter_init_common()
518 iter->key_cache_path = 0; in bch2_trans_iter_init_common()
519 iter->btree_id = btree_id; in bch2_trans_iter_init_common()
520 iter->min_depth = 0; in bch2_trans_iter_init_common()
521 iter->flags = flags; in bch2_trans_iter_init_common()
522 iter->snapshot = pos.snapshot; in bch2_trans_iter_init_common()
523 iter->pos = pos; in bch2_trans_iter_init_common()
524 iter->k = POS_KEY(pos); in bch2_trans_iter_init_common()
525 iter->journal_idx = 0; in bch2_trans_iter_init_common()
527 iter->ip_allocated = ip; in bch2_trans_iter_init_common()
529 iter->path = bch2_path_get(trans, btree_id, iter->pos, in bch2_trans_iter_init_common()
537 struct btree_iter *iter, in bch2_trans_iter_init() argument
543 bch2_trans_iter_init_common(trans, iter, btree_id, pos, 0, 0, in bch2_trans_iter_init()
547 bch2_trans_iter_init_outlined(trans, iter, btree_id, pos, flags); in bch2_trans_iter_init()
625 struct btree_iter *iter, in __bch2_bkey_get_iter() argument
631 bch2_trans_iter_init(trans, iter, btree_id, pos, flags); in __bch2_bkey_get_iter()
632 k = bch2_btree_iter_peek_slot(trans, iter); in __bch2_bkey_get_iter()
637 bch2_trans_iter_exit(trans, iter); in __bch2_bkey_get_iter()
642 struct btree_iter *iter, in bch2_bkey_get_iter() argument
646 return __bch2_bkey_get_iter(trans, iter, btree_id, pos, flags, 0); in bch2_bkey_get_iter()
672 struct btree_iter iter; in __bch2_bkey_get_val_typed() local
673 struct bkey_s_c k = __bch2_bkey_get_iter(trans, &iter, btree_id, pos, flags, type); in __bch2_bkey_get_val_typed()
677 bch2_trans_iter_exit(trans, &iter); in __bch2_bkey_get_val_typed()
722 struct btree_iter *iter, in bch2_btree_iter_peek_prev_type() argument
725 return flags & BTREE_ITER_slots ? bch2_btree_iter_peek_slot(trans, iter) : in bch2_btree_iter_peek_prev_type()
726 bch2_btree_iter_peek_prev(trans, iter); in bch2_btree_iter_peek_prev_type()
730 struct btree_iter *iter, in bch2_btree_iter_peek_type() argument
733 return flags & BTREE_ITER_slots ? bch2_btree_iter_peek_slot(trans, iter) : in bch2_btree_iter_peek_type()
734 bch2_btree_iter_peek(trans, iter); in bch2_btree_iter_peek_type()
738 struct btree_iter *iter, in bch2_btree_iter_peek_max_type() argument
743 return bch2_btree_iter_peek_max(trans, iter, end); in bch2_btree_iter_peek_max_type()
745 if (bkey_gt(iter->pos, end)) in bch2_btree_iter_peek_max_type()
748 return bch2_btree_iter_peek_slot(trans, iter); in bch2_btree_iter_peek_max_type()