Lines Matching defs:bv
162 void bvec_free(mempool_t *pool, struct bio_vec *bv, unsigned short nr_vecs)
167 mempool_free(bv, pool);
169 kmem_cache_free(biovec_slab(nr_vecs)->slab, bv);
623 struct bio_vec bv;
626 __bio_for_each_segment(bv, bio, iter, start)
627 memzero_bvec(&bv);
643 struct bio_vec bv;
654 bio_for_each_segment(bv, bio, iter) {
655 if (done + bv.bv_len > new_size) {
662 memzero_page(bv.bv_page, bv.bv_offset + offset,
663 bv.bv_len - offset);
666 done += bv.bv_len;
922 static bool bvec_try_merge_page(struct bio_vec *bv, struct page *page,
925 size_t bv_end = bv->bv_offset + bv->bv_len;
926 phys_addr_t vec_end_addr = page_to_phys(bv->bv_page) + bv_end - 1;
931 if (xen_domain() && !xen_biovec_phys_mergeable(bv, page))
937 if (bv->bv_page + bv_end / PAGE_SIZE != page + off / PAGE_SIZE)
941 bv->bv_len += len;
953 bool bvec_try_merge_hw_page(struct request_queue *q, struct bio_vec *bv,
957 phys_addr_t addr1 = bvec_phys(bv);
962 if (len > queue_max_segment_size(q) - bv->bv_len)
964 return bvec_try_merge_page(bv, page, len, offset);
1027 struct bio_vec *bv = &bio->bi_io_vec[bio->bi_vcnt - 1];
1029 if (!zone_device_pages_have_same_pgmap(bv->bv_page, page))
1032 if (bvec_try_merge_page(bv, page, len, offset)) {
1212 struct bio_vec *bv = bio->bi_io_vec + bio->bi_vcnt;
1213 struct page **pages = (struct page **)bv;
1388 struct bio_vec bv;
1395 bio_init(&bio, bdev, &bv, 1, op);