Lines Matching defs:iter
536 struct bvec_iter iter;
538 __bio_for_each_segment(bv, bio, iter, start) {
560 struct bvec_iter iter;
570 bio_for_each_segment(bv, bio, iter) {
964 static int __bio_iov_bvec_add_pages(struct bio *bio, struct iov_iter *iter)
966 const struct bio_vec *bv = iter->bvec;
970 if (WARN_ON_ONCE(iter->iov_offset > bv->bv_len))
973 len = min_t(size_t, bv->bv_len - iter->iov_offset, iter->count);
975 bv->bv_offset + iter->iov_offset);
978 iov_iter_advance(iter, size);
995 * @iter: iov iterator describing the region to be mapped
997 * Pins pages from *iter and appends them to @bio's bvec array. The
999 * For multi-segment *iter, this function only adds pages from the
1002 static int __bio_iov_iter_get_pages(struct bio *bio, struct iov_iter *iter)
1021 size = iov_iter_get_pages(iter, pages, LONG_MAX, nr_pages, &offset);
1043 iov_iter_advance(iter, size);
1047 static int __bio_iov_append_get_pages(struct bio *bio, struct iov_iter *iter)
1068 size = iov_iter_get_pages(iter, pages, LONG_MAX, nr_pages, &offset);
1088 iov_iter_advance(iter, size - left);
1095 * @iter: iov iterator describing the region to be added
1108 * fit into the bio, or are requested in @iter, whatever is smaller. If
1112 int bio_iov_iter_get_pages(struct bio *bio, struct iov_iter *iter)
1114 const bool is_bvec = iov_iter_is_bvec(iter);
1124 ret = __bio_iov_append_get_pages(bio, iter);
1127 ret = __bio_iov_bvec_add_pages(bio, iter);
1129 ret = __bio_iov_iter_get_pages(bio, iter);
1131 } while (!ret && iov_iter_count(iter) && !bio_full(bio, 0));