Lines Matching refs:iter
612 struct bvec_iter iter;
614 __bio_for_each_segment(bv, bio, iter, start)
632 struct bvec_iter iter;
642 bio_for_each_segment(bv, bio, iter) {
1169 void bio_iov_bvec_set(struct bio *bio, struct iov_iter *iter)
1171 size_t size = iov_iter_count(iter);
1182 bio->bi_vcnt = iter->nr_segs;
1183 bio->bi_io_vec = (struct bio_vec *)iter->bvec;
1184 bio->bi_iter.bi_bvec_done = iter->iov_offset;
1228 * @iter: iov iterator describing the region to be mapped
1230 * Extracts pages from *iter and appends them to @bio's bvec array. The pages
1232 * For a multi-segment *iter, this function only adds pages from the next
1235 static int __bio_iov_iter_get_pages(struct bio *bio, struct iov_iter *iter)
1265 size = iov_iter_extract_pages(iter, &pages,
1275 iov_iter_revert(iter, trim);
1299 iov_iter_revert(iter, left);
1310 * @iter: iov iterator describing the region to be added
1323 * fit into the bio, or are requested in @iter, whatever is smaller. If
1327 int bio_iov_iter_get_pages(struct bio *bio, struct iov_iter *iter)
1334 if (iov_iter_is_bvec(iter)) {
1335 bio_iov_bvec_set(bio, iter);
1336 iov_iter_advance(iter, bio->bi_iter.bi_size);
1340 if (iov_iter_extract_will_pin(iter))
1343 ret = __bio_iov_iter_get_pages(bio, iter);
1344 } while (!ret && iov_iter_count(iter) && !bio_full(bio, 0));