Lines Matching refs:bv
180 * @q: [in] request queue associated with the bio associated with @bv
181 * @bv: [in] bvec to examine
183 * by the number of segments from @bv that may be appended to that
186 * by the number of sectors from @bv that may be appended to that
194 * %true is returned if and only if appending the entire @bv to a bio with
199 const struct bio_vec *bv, unsigned *nsegs,
204 unsigned len = min(bv->bv_len, max_len);
209 seg_size = get_max_segment_size(q, bv->bv_page,
210 bv->bv_offset + total_len);
217 if ((bv->bv_offset + total_len) & queue_virt_boundary(q))
224 return len > 0 || bv->bv_len > max_len;
251 struct bio_vec bv, bvprv, *bvprvp = NULL;
257 bio_for_each_bvec(bv, bio, iter) {
262 if (bvprvp && bvec_gap_to_prev(q, bvprvp, bv.bv_offset))
266 sectors + (bv.bv_len >> 9) <= max_sectors &&
267 bv.bv_offset + bv.bv_len <= PAGE_SIZE) {
269 sectors += bv.bv_len >> 9;
270 } else if (bvec_split_segs(q, &bv, &nsegs, §ors, max_segs,
275 bvprv = bv;
373 struct bio_vec bv;
395 rq_for_each_bvec(bv, rq, iter)
396 bvec_split_segs(rq->q, &bv, &nr_phys_segs, &nr_sectors,
453 static inline int __blk_bvec_map_sg(struct bio_vec bv,
457 sg_set_page(*sg, bv.bv_page, bv.bv_len, bv.bv_offset);