Lines Matching refs:bv

21 static inline void bio_get_first_bvec(struct bio *bio, struct bio_vec *bv)  in bio_get_first_bvec()  argument
23 *bv = mp_bvec_iter_bvec(bio->bi_io_vec, bio->bi_iter); in bio_get_first_bvec()
26 static inline void bio_get_last_bvec(struct bio *bio, struct bio_vec *bv) in bio_get_last_bvec() argument
31 bio_get_first_bvec(bio, bv); in bio_get_last_bvec()
32 if (bv->bv_len == bio->bi_iter.bi_size) in bio_get_last_bvec()
42 *bv = bio->bi_io_vec[idx]; in bio_get_last_bvec()
49 bv->bv_len = iter.bi_bvec_done; in bio_get_last_bvec()
222 static bool bvec_split_segs(struct queue_limits *lim, const struct bio_vec *bv, in bvec_split_segs() argument
227 unsigned len = min(bv->bv_len, max_len); in bvec_split_segs()
232 seg_size = get_max_segment_size(lim, bv->bv_page, in bvec_split_segs()
233 bv->bv_offset + total_len); in bvec_split_segs()
240 if ((bv->bv_offset + total_len) & lim->virt_boundary_mask) in bvec_split_segs()
247 return len > 0 || bv->bv_len > max_len; in bvec_split_segs()
273 struct bio_vec bv, bvprv, *bvprvp = NULL; in bio_split_rw() local
277 bio_for_each_bvec(bv, bio, iter) { in bio_split_rw()
282 if (bvprvp && bvec_gap_to_prev(lim, bvprvp, bv.bv_offset)) in bio_split_rw()
286 bytes + bv.bv_len <= max_bytes && in bio_split_rw()
287 bv.bv_offset + bv.bv_len <= PAGE_SIZE) { in bio_split_rw()
289 bytes += bv.bv_len; in bio_split_rw()
291 if (bvec_split_segs(lim, &bv, &nsegs, &bytes, in bio_split_rw()
296 bvprv = bv; in bio_split_rw()
394 struct bio_vec bv; in blk_recalc_rq_segments() local
416 rq_for_each_bvec(bv, rq, iter) in blk_recalc_rq_segments()
417 bvec_split_segs(&rq->q->limits, &bv, &nr_phys_segs, &bytes, in blk_recalc_rq_segments()
474 static inline int __blk_bvec_map_sg(struct bio_vec bv, in __blk_bvec_map_sg() argument
478 sg_set_page(*sg, bv.bv_page, bv.bv_len, bv.bv_offset); in __blk_bvec_map_sg()