Lines Matching refs:iter

32 #define bio_iter_iovec(bio, iter)				\  argument
33 bvec_iter_bvec((bio)->bi_io_vec, (iter))
35 #define bio_iter_page(bio, iter) \ argument
36 bvec_iter_page((bio)->bi_io_vec, (iter))
37 #define bio_iter_len(bio, iter) \ argument
38 bvec_iter_len((bio)->bi_io_vec, (iter))
39 #define bio_iter_offset(bio, iter) \ argument
40 bvec_iter_offset((bio)->bi_io_vec, (iter))
46 #define bvec_iter_sectors(iter) ((iter).bi_size >> 9) argument
47 #define bvec_iter_end_sector(iter) ((iter).bi_sector + bvec_iter_sectors((iter))) argument
125 struct bvec_iter_all *iter) in bio_next_segment() argument
127 if (iter->idx >= bio->bi_vcnt) in bio_next_segment()
130 bvec_advance(&bio->bi_io_vec[iter->idx], iter); in bio_next_segment()
138 #define bio_for_each_segment_all(bvl, bio, iter) \ argument
139 for (bvl = bvec_init_iter_all(&iter); bio_next_segment((bio), &iter); )
142 struct bvec_iter *iter, unsigned int bytes) in bio_advance_iter() argument
144 iter->bi_sector += bytes >> 9; in bio_advance_iter()
147 iter->bi_size -= bytes; in bio_advance_iter()
149 bvec_iter_advance(bio->bi_io_vec, iter, bytes); in bio_advance_iter()
155 struct bvec_iter *iter, in bio_advance_iter_single() argument
158 iter->bi_sector += bytes >> 9; in bio_advance_iter_single()
161 iter->bi_size -= bytes; in bio_advance_iter_single()
163 bvec_iter_advance_single(bio->bi_io_vec, iter, bytes); in bio_advance_iter_single()
166 #define __bio_for_each_segment(bvl, bio, iter, start) \ argument
167 for (iter = (start); \
168 (iter).bi_size && \
169 ((bvl = bio_iter_iovec((bio), (iter))), 1); \
170 bio_advance_iter_single((bio), &(iter), (bvl).bv_len))
172 #define bio_for_each_segment(bvl, bio, iter) \ argument
173 __bio_for_each_segment(bvl, bio, iter, (bio)->bi_iter)
175 #define __bio_for_each_bvec(bvl, bio, iter, start) \ argument
176 for (iter = (start); \
177 (iter).bi_size && \
178 ((bvl = mp_bvec_iter_bvec((bio)->bi_io_vec, (iter))), 1); \
179 bio_advance_iter_single((bio), &(iter), (bvl).bv_len))
182 #define bio_for_each_bvec(bvl, bio, iter) \ argument
183 __bio_for_each_bvec(bvl, bio, iter, (bio)->bi_iter)
193 #define bio_iter_last(bvec, iter) ((iter).bi_size == (bvec).bv_len) argument
199 struct bvec_iter iter; in bio_segments() local
217 bio_for_each_segment(bv, bio, iter) in bio_segments()
275 struct bvec_iter iter = bio->bi_iter; in bio_get_last_bvec() local
282 bio_advance_iter(bio, &iter, iter.bi_size); in bio_get_last_bvec()
284 if (!iter.bi_bvec_done) in bio_get_last_bvec()
285 idx = iter.bi_idx - 1; in bio_get_last_bvec()
287 idx = iter.bi_idx; in bio_get_last_bvec()
295 if (iter.bi_bvec_done) in bio_get_last_bvec()
296 bv->bv_len = iter.bi_bvec_done; in bio_get_last_bvec()
449 static inline int bio_iov_vecs_to_alloc(struct iov_iter *iter, int max_segs) in bio_iov_vecs_to_alloc() argument
451 if (iov_iter_is_bvec(iter)) in bio_iov_vecs_to_alloc()
453 return iov_iter_npages(iter, max_segs); in bio_iov_vecs_to_alloc()
476 int bio_iov_iter_get_pages(struct bio *bio, struct iov_iter *iter);
698 #define bip_for_each_vec(bvl, bip, iter) \ argument
699 for_each_bvec(bvl, (bip)->bip_vec, iter, (bip)->bip_iter)