/linux-master/include/linux/ |
H A D | bvec.h | 3 * bvec iterator 25 * The following holds for a bvec if n * PAGE_SIZE < bv_offset + bv_len: 38 * bvec_set_page - initialize a bvec based off a struct page 39 * @bv: bvec to initialize 40 * @page: page the bvec should point to 41 * @len: length of the bvec 53 * bvec_set_folio - initialize a bvec based off a struct folio 54 * @bv: bvec to initialize 55 * @folio: folio the bvec should point to 56 * @len: length of the bvec 204 bvec_advance(const struct bio_vec *bvec, struct bvec_iter_all *iter_all) argument 233 bvec_kmap_local(struct bio_vec *bvec) argument 244 memcpy_from_bvec(char *to, struct bio_vec *bvec) argument 255 memcpy_to_bvec(struct bio_vec *bvec, const char *from) argument 266 memzero_bvec(struct bio_vec *bvec) argument 277 bvec_virt(struct bio_vec *bvec) argument [all...] |
H A D | iov_iter.h | 12 #include <linux/bvec.h> 111 const struct bio_vec *p = iter->bvec; 136 iter->nr_segs -= p - iter->bvec; 137 iter->bvec = p;
|
/linux-master/block/ |
H A D | bio-integrity.c | 206 static int bio_integrity_copy_user(struct bio *bio, struct bio_vec *bvec, argument 221 iov_iter_bvec(&iter, direction, bvec, nr_vecs, len); 232 * We need to preserve the original bvec and the number of vecs 244 bio_integrity_unpin_bvec(bvec, nr_vecs, false); 246 memcpy(&bip->bip_vec[1], bvec, nr_vecs * sizeof(*bvec)); 265 static int bio_integrity_init_user(struct bio *bio, struct bio_vec *bvec, argument 274 memcpy(bip->bip_vec, bvec, nr_vecs * sizeof(*bvec)); 281 static unsigned int bvec_from_pages(struct bio_vec *bvec, struc argument 317 struct bio_vec stack_vec[UIO_FASTIOV], *bvec = stack_vec; local [all...] |
H A D | blk-map.c | 50 struct bio_vec *bvec; local 53 bio_for_each_segment_all(bvec, bio, iter_all) { 56 ret = copy_page_from_iter(bvec->bv_page, 57 bvec->bv_offset, 58 bvec->bv_len, 64 if (ret < bvec->bv_len) 81 struct bio_vec *bvec; local 84 bio_for_each_segment_all(bvec, bio, iter_all) { 87 ret = copy_page_to_iter(bvec->bv_page, 88 bvec 452 struct bio_vec *bvec; local [all...] |
H A D | bounce.c | 82 * its bvec from start to end, but the @from->bi_iter can't be 105 struct bio_vec *bvec, orig_vec; local 112 bio_for_each_segment_all(bvec, bio, iter_all) { 114 if (bvec->bv_page != orig_vec.bv_page) { 115 dec_zone_page_state(bvec->bv_page, NR_BOUNCE); 116 mempool_free(bvec->bv_page, &page_pool); 239 * so retrieve bvec from the table directly. This way is safe 240 * because the 'bio' is single-page bvec.
|
H A D | blk-merge.c | 33 return; /* this bio only has a single bvec */ 39 else /* in the middle of bvec */ 45 * iter.bi_bvec_done records actual length of the last bvec 78 * one single bvec of 'nb', otherwise the 'nb' can't 208 * bvec_split_segs - verify whether or not a bvec should be split in the middle 210 * @bv: [in] bvec to examine 220 * When splitting a bio, it can happen that a bvec is encountered that is too 251 /* tell the caller to split the bvec if it is too big to fit */ 460 struct bio_vec *bvec, struct scatterlist *sglist, 463 unsigned nbytes = bvec 459 blk_bvec_map_sg(struct request_queue *q, struct bio_vec *bvec, struct scatterlist *sglist, struct scatterlist **sg) argument 504 __blk_segment_map_sg_merge(struct request_queue *q, struct bio_vec *bvec, struct bio_vec *bvprv, struct scatterlist **sg) argument 528 struct bio_vec bvec, bvprv = { NULL }; local [all...] |
/linux-master/fs/erofs/ |
H A D | zdata.c | 34 struct z_erofs_bvec bvec[total]; \ 72 /* L: inline a certain number of bvec for bootstrap */ 198 unsigned long base = (unsigned long)((struct z_erofs_bvset *)0)->bvec; 230 struct z_erofs_bvec *bvec, 250 iter->bvset->bvec[iter->cur++] = *bvec; 255 struct z_erofs_bvec *bvec, 262 *bvec = iter->bvset->bvec[iter->cur++]; 717 struct z_erofs_bvec *bvec, boo 229 z_erofs_bvec_enqueue(struct z_erofs_bvec_iter *iter, struct z_erofs_bvec *bvec, struct page **candidate_bvpage, struct page **pagepool) argument 254 z_erofs_bvec_dequeue(struct z_erofs_bvec_iter *iter, struct z_erofs_bvec *bvec, struct page **old_bvpage) argument 716 z_erofs_attach_page(struct z_erofs_decompress_frontend *fe, struct z_erofs_bvec *bvec, bool exclusive) argument 1088 struct z_erofs_bvec bvec; member in struct:z_erofs_bvec_item 1092 z_erofs_do_decompressed_bvec(struct z_erofs_decompress_backend *be, struct z_erofs_bvec *bvec) argument 1166 struct z_erofs_bvec bvec; local 1191 struct z_erofs_bvec *bvec = &pcl->compressed_bvecs[i]; local 1412 z_erofs_fill_bio_vec(struct bio_vec *bvec, struct z_erofs_decompress_frontend *f, struct z_erofs_pcluster *pcl, unsigned int nr, struct address_space *mc) argument 1619 struct bio_vec bvec; local [all...] |
/linux-master/fs/squashfs/ |
H A D | zstd_wrapper.c | 72 struct bio_vec *bvec = bvec_init_iter_all(&iter_all); local 100 avail = min(length, ((int)bvec->bv_len) - offset); 101 data = bvec_virt(bvec);
|
H A D | zlib_wrapper.c | 57 struct bio_vec *bvec = bvec_init_iter_all(&iter_all); local 83 avail = min(length, ((int)bvec->bv_len) - offset); 84 data = bvec_virt(bvec);
|
H A D | lzo_wrapper.c | 70 struct bio_vec *bvec = bvec_init_iter_all(&iter_all); local 77 int avail = min(bytes, ((int)bvec->bv_len) - offset); 79 data = bvec_virt(bvec);
|
H A D | lz4_wrapper.c | 96 struct bio_vec *bvec = bvec_init_iter_all(&iter_all); local 102 int avail = min(bytes, ((int)bvec->bv_len) - offset); 104 data = bvec_virt(bvec);
|
H A D | block.c | 39 struct bio_vec *bvec = bvec_init_iter_all(&iter_all); local 50 int bytes_to_copy = min_t(int, bvec->bv_len - offset, 56 memcpy(actor_addr + actor_offset, bvec_virt(bvec) + 69 if (offset >= bvec->bv_len) { 286 struct bio_vec *bvec = bvec_init_iter_all(&iter_all); local 301 data = bvec_virt(bvec); 303 if (offset < bvec->bv_len - 1) { 310 data = bvec_virt(bvec);
|
H A D | xz_wrapper.c | 124 struct bio_vec *bvec = bvec_init_iter_all(&iter_all); local 152 avail = min(length, ((int)bvec->bv_len) - offset); 153 data = bvec_virt(bvec);
|
/linux-master/lib/ |
H A D | iov_iter.c | 3 #include <linux/bvec.h> 493 const struct bio_vec *bvec, *end; local 501 for (bvec = i->bvec, end = bvec + i->nr_segs; bvec < end; bvec++) { 502 if (likely(size < bvec->bv_len)) 504 size -= bvec->bv_len; 507 i->nr_segs -= bvec 568 const struct bio_vec *bvec = i->bvec; local 626 iov_iter_bvec(struct iov_iter *i, unsigned int direction, const struct bio_vec *bvec, unsigned long nr_segs, size_t count) argument 719 const struct bio_vec *bvec = i->bvec; local 803 const struct bio_vec *bvec = i->bvec; local [all...] |
H A D | kunit_iov_iter.c | 14 #include <linux/bvec.h> 218 struct bio_vec *bvec, unsigned int bvmax, 239 bvec[i].bv_len += pr->to; 241 bvec_set_page(&bvec[i], page, pr->to - pr->from, pr->from); 251 iov_iter_bvec(iter, dir, bvec, i, size); 261 struct bio_vec bvec[8]; local 277 iov_kunit_load_bvec(test, &iter, READ, bvec, ARRAY_SIZE(bvec), 315 struct bio_vec bvec[8]; local 331 iov_kunit_load_bvec(test, &iter, WRITE, bvec, ARRAY_SIZ 216 iov_kunit_load_bvec(struct kunit *test, struct iov_iter *iter, int dir, struct bio_vec *bvec, unsigned int bvmax, struct page **pages, size_t npages, size_t bufsize, const struct bvec_test_range *pr) argument 610 struct bio_vec bvec[8]; local [all...] |
/linux-master/drivers/block/ |
H A D | n64cart.c | 60 * Process a single bvec of a bio. 89 struct bio_vec bvec; local 94 bio_for_each_segment(bvec, bio, iter) { 95 if (!n64cart_do_bvec(dev, &bvec, pos)) { 99 pos += bvec.bv_len;
|
H A D | loop.c | 87 struct bio_vec *bvec; member in struct:loop_cmd 239 static int lo_write_bvec(struct file *file, struct bio_vec *bvec, loff_t *ppos) argument 244 iov_iter_bvec(&i, ITER_SOURCE, bvec, 1, bvec->bv_len); 248 if (likely(bw == bvec->bv_len)) 253 (unsigned long long)*ppos, bvec->bv_len); 262 struct bio_vec bvec; local 266 rq_for_each_segment(bvec, rq, iter) { 267 ret = lo_write_bvec(lo->lo_backing_file, &bvec, &pos); 279 struct bio_vec bvec; local 395 struct bio_vec *bvec; local [all...] |
H A D | brd.c | 190 * Process a single bvec of a bio. 246 struct bio_vec bvec; local 255 bio_for_each_segment(bvec, bio, iter) { 256 unsigned int len = bvec.bv_len; 260 WARN_ON_ONCE((bvec.bv_offset & (SECTOR_SIZE - 1)) || 263 err = brd_do_bvec(brd, bvec.bv_page, len, bvec.bv_offset,
|
/linux-master/drivers/nvme/target/ |
H A D | io-cmd-file.c | 94 iov_iter_bvec(&iter, rw, req->f.bvec, nr_segs, count); 108 if (req->f.bvec != req->inline_bvec) { 110 kfree(req->f.bvec); 112 mempool_free(req->f.bvec, req->ns->bvec_pool); 142 bvec_set_page(&req->f.bvec[bv_cnt], sg_page(sg), sg->length, 144 len += req->f.bvec[bv_cnt].bv_len; 145 total_len += req->f.bvec[bv_cnt].bv_len; 231 req->f.bvec = kmalloc_array(nr_bvec, sizeof(struct bio_vec), 234 req->f.bvec = req->inline_bvec; 236 if (unlikely(!req->f.bvec)) { [all...] |
/linux-master/arch/m68k/emu/ |
H A D | nfblock.c | 63 struct bio_vec bvec; local 70 bio_for_each_segment(bvec, bio, iter) { 71 len = bvec.bv_len; 74 page_to_phys(bvec.bv_page) + bvec.bv_offset);
|
/linux-master/mm/ |
H A D | page_io.c | 246 struct bio_vec bvec[SWAP_CLUSTER_MAX]; member in struct:swap_iocb 268 struct page *page = sio->bvec[0].bv_page; 285 page = sio->bvec[p].bv_page; 292 end_page_writeback(sio->bvec[p].bv_page); 324 bvec_set_folio(&sio->bvec[sio->pages], folio, folio_size(folio), 0); 327 if (sio->pages == ARRAY_SIZE(sio->bvec) || !wbc->swap_plug) { 399 iov_iter_bvec(&from, ITER_SOURCE, sio->bvec, sio->pages, sio->len); 412 struct folio *folio = page_folio(sio->bvec[p].bv_page); 420 struct folio *folio = page_folio(sio->bvec[p].bv_page); 452 bvec_set_folio(&sio->bvec[si [all...] |
/linux-master/io_uring/ |
H A D | rsrc.c | 144 unpin_user_page(imu->bvec[i].bv_page); 832 if (!PageCompound(imu->bvec[j].bv_page)) 834 if (compound_head(imu->bvec[j].bv_page) == hpage) 898 /* If it's a huge page, try to coalesce them into a single bvec entry */ 924 imu = kvmalloc(struct_size(imu, bvec, nr_pages), GFP_KERNEL); 944 bvec_set_page(&imu->bvec[0], pages[0], size, off); 951 bvec_set_page(&imu->bvec[i], pages[i], vec_len, off); 1042 iov_iter_bvec(iter, ddir, imu->bvec, imu->nr_bvecs, offset + len); 1053 * first and last bvec 1056 * If the offset is within the first bvec (o 1061 const struct bio_vec *bvec = imu->bvec; local [all...] |
/linux-master/fs/netfs/ |
H A D | buffered_read.c | 296 struct bio_vec *bvec; local 305 bvec = kmalloc_array(nr_bvec, sizeof(*bvec), GFP_KERNEL); 306 if (!bvec) 315 rreq->direct_bv = bvec; 318 bvec_set_folio(&bvec[i++], folio, from, 0); 323 bvec_set_folio(&bvec[i++], sink, part, 0); 327 bvec_set_folio(&bvec[i++], folio, flen - to, to); 328 iov_iter_bvec(&rreq->iter, ITER_DEST, bvec, i, rreq->len);
|
/linux-master/arch/xtensa/platforms/iss/ |
H A D | simdisk.c | 106 struct bio_vec bvec; local 110 bio_for_each_segment(bvec, bio, iter) { 111 char *buffer = bvec_kmap_local(&bvec); 112 unsigned len = bvec.bv_len >> SECTOR_SHIFT;
|
/linux-master/net/rds/ |
H A D | tcp_send.c | 76 struct bio_vec bvec; local 120 bvec_set_page(&bvec, sg_page(&rm->data.op_sg[sg]), 123 iov_iter_bvec(&msg.msg_iter, ITER_SOURCE, &bvec, 1,
|