Lines Matching refs:iter
211 mv->rq->iter.idx = 0; in move_set_state()
212 mv->rq->iter.count = 0; in move_set_state()
281 if (!ftl_band_filled(band, band->md->iter.offset)) { in move_get_band()
298 struct ftl_rq_entry *entry = &rq->entries[rq->iter.idx]; in move_advance_rq()
300 assert(rq->iter.idx + rq->iter.count <= rq->num_blocks); in move_advance_rq()
302 for (i = 0; i < rq->iter.count; i++) { in move_advance_rq()
319 rq->iter.qd++; in move_advance_rq()
322 rq->iter.idx += rq->iter.count; in move_advance_rq()
329 struct ftl_rq_entry *iter = &rq->entries[idx]; in move_init_entries() local
335 iter->addr = FTL_ADDR_INVALID; in move_init_entries()
336 iter->owner.priv = NULL; in move_init_entries()
337 iter->lba = FTL_LBA_INVALID; in move_init_entries()
338 iter->seq_id = 0; in move_init_entries()
339 iter++; in move_init_entries()
357 assert(rq->iter.qd > 0); in move_read_cb()
358 rq->iter.qd--; in move_read_cb()
360 if (rq->iter.idx != rq->num_blocks || rq->iter.qd) { in move_read_cb()
370 struct ftl_rq_entry *entry = &rq->entries[rq->iter.idx]; in move_rq_pad()
372 for (; rq->iter.idx < rq->num_blocks; ++rq->iter.idx) { in move_rq_pad()
382 assert(rq->iter.idx == rq->num_blocks); in move_rq_pad()
390 uint64_t pos = band->md->iter.offset; in move_read()
408 assert(ftl_band_filled(band, band->md->iter.offset)); in move_read()
410 if (rq->iter.idx) { in move_read()
413 rq->iter.qd++; in move_read()
423 rq_left = rq->num_blocks - rq->iter.idx; in move_read()
432 band_left = ftl_band_user_blocks_left(band, band->md->iter.offset); in move_read()
433 rq->iter.count = spdk_min(rq_left, band_left); in move_read()
440 ftl_band_iter_advance(band, rq->iter.count); in move_read()
443 if (ftl_band_filled(band, band->md->iter.offset)) { in move_read()
447 if (rq->iter.idx == rq->num_blocks) { in move_read()
463 rq->iter.status = status; in move_pin_cb()
467 if (--rq->iter.remaining == 0) { in move_pin_cb()
468 if (rq->iter.status) { in move_pin_cb()
488 rq->iter.remaining = rq->iter.count = rq->num_blocks; in move_pin()
489 rq->iter.status = 0; in move_pin()
506 struct ftl_rq_entry *iter = rq->entries; in move_finish_write() local
511 for (i = 0; i < rq->num_blocks; ++i, ++iter) { in move_finish_write()
512 band = iter->owner.priv; in move_finish_write()
518 if (iter->lba != FTL_LBA_INVALID) { in move_finish_write()
520 ftl_l2p_update_base(dev, iter->lba, addr, iter->addr); in move_finish_write()
521 ftl_l2p_unpin(dev, iter->lba, 1); in move_finish_write()
532 assert(rq->iter.qd == 1); in move_write_cb()
533 rq->iter.qd--; in move_write_cb()
550 assert(rq->iter.idx == rq->num_blocks); in move_write()
554 rq->iter.qd++; in move_write()
639 assert(ftl_band_filled(band, band->md->iter.offset)); in move_release_bands()