/linux-6.3-rc2/include/linux/ |
A D | bvec.h | 98 #define __bvec_iter_bvec(bvec, iter) (&(bvec)[(iter).bi_idx]) argument 125 #define bvec_iter_len(bvec, iter) \ argument 129 #define bvec_iter_page(bvec, iter) \ argument 213 bv->bv_page = bvec->bv_page + (bvec->bv_offset >> PAGE_SHIFT); in bvec_advance() 217 bvec->bv_len - iter_all->done); in bvec_advance() 220 if (iter_all->done == bvec->bv_len) { in bvec_advance() 235 return kmap_local_page(bvec->bv_page) + bvec->bv_offset; in bvec_kmap_local() 246 memcpy_from_page(to, bvec->bv_page, bvec->bv_offset, bvec->bv_len); in memcpy_from_bvec() 257 memcpy_to_page(bvec->bv_page, bvec->bv_offset, from, bvec->bv_len); in memcpy_to_bvec() 268 memzero_page(bvec->bv_page, bvec->bv_offset, bvec->bv_len); in memzero_bvec() [all …]
|
/linux-6.3-rc2/fs/squashfs/ |
A D | block.c | 39 struct bio_vec *bvec = bvec_init_iter_all(&iter_all); in copy_bio_to_actor() local 50 int bytes_to_copy = min_t(int, bvec->bv_len - offset, in copy_bio_to_actor() 56 memcpy(actor_addr + actor_offset, bvec_virt(bvec) + in copy_bio_to_actor() 69 if (offset >= bvec->bv_len) { in copy_bio_to_actor() 163 struct bio_vec *bvec = bvec_init_iter_all(&iter_all); in squashfs_read_data() local 178 data = bvec_virt(bvec); in squashfs_read_data() 180 if (offset < bvec->bv_len - 1) { in squashfs_read_data() 187 data = bvec_virt(bvec); in squashfs_read_data()
|
A D | lzo_wrapper.c | 70 struct bio_vec *bvec = bvec_init_iter_all(&iter_all); in lzo_uncompress() local 77 int avail = min(bytes, ((int)bvec->bv_len) - offset); in lzo_uncompress() 79 data = bvec_virt(bvec); in lzo_uncompress()
|
A D | zlib_wrapper.c | 57 struct bio_vec *bvec = bvec_init_iter_all(&iter_all); in zlib_uncompress() local 83 avail = min(length, ((int)bvec->bv_len) - offset); in zlib_uncompress() 84 data = bvec_virt(bvec); in zlib_uncompress()
|
A D | lz4_wrapper.c | 96 struct bio_vec *bvec = bvec_init_iter_all(&iter_all); in lz4_uncompress() local 102 int avail = min(bytes, ((int)bvec->bv_len) - offset); in lz4_uncompress() 104 data = bvec_virt(bvec); in lz4_uncompress()
|
A D | zstd_wrapper.c | 72 struct bio_vec *bvec = bvec_init_iter_all(&iter_all); in zstd_uncompress() local 100 avail = min(length, ((int)bvec->bv_len) - offset); in zstd_uncompress() 101 data = bvec_virt(bvec); in zstd_uncompress()
|
A D | xz_wrapper.c | 124 struct bio_vec *bvec = bvec_init_iter_all(&iter_all); in squashfs_xz_uncompress() local 152 avail = min(length, ((int)bvec->bv_len) - offset); in squashfs_xz_uncompress() 153 data = bvec_virt(bvec); in squashfs_xz_uncompress()
|
/linux-6.3-rc2/fs/erofs/ |
A D | zdata.c | 32 struct z_erofs_bvec bvec[total]; \ 243 struct z_erofs_bvec *bvec, in z_erofs_bvec_enqueue() argument 257 iter->bvset->bvec[iter->cur++] = *bvec; in z_erofs_bvec_enqueue() 269 *bvec = iter->bvset->bvec[iter->cur++]; in z_erofs_bvec_dequeue() 713 NULL, bvec->page)) { in z_erofs_try_inplace_io() 1148 struct z_erofs_bvec bvec; member 1170 item->bvec = *bvec; in z_erofs_do_decompressed_bvec() 1186 cur = bvi->bvec.offset < 0 ? -bvi->bvec.offset : 0; in z_erofs_fill_other_copies() 1188 bvi->bvec.end); in z_erofs_fill_other_copies() 1227 struct z_erofs_bvec bvec; in z_erofs_parse_out_bvecs() local [all …]
|
/linux-6.3-rc2/drivers/block/zram/ |
A D | zram_drv.c | 632 if (!bio_add_page(bio, bvec->bv_page, bvec->bv_len, bvec->bv_offset)) { in read_from_bdev_async() 704 struct bio_vec bvec; in writeback_store() local 763 bio_add_page(&bio, bvec.bv_page, bvec.bv_len, in writeback_store() 764 bvec.bv_offset); in writeback_store() 833 struct bio_vec bvec; member 857 work.bvec = *bvec; in read_from_bdev_sync() 1381 struct bio_vec bvec; in zram_bvec_read_from_bdev() local 1468 page = bvec->bv_page; in zram_bvec_read() 1487 if (is_partial_io(bvec)) in zram_bvec_read() 1627 vec = *bvec; in zram_bvec_write() [all …]
|
/linux-6.3-rc2/block/ |
A D | blk-map.c | 49 struct bio_vec *bvec; in bio_copy_from_iter() local 56 bvec->bv_offset, in bio_copy_from_iter() 57 bvec->bv_len, in bio_copy_from_iter() 63 if (ret < bvec->bv_len) in bio_copy_from_iter() 80 struct bio_vec *bvec; in bio_copy_to_iter() local 87 bvec->bv_offset, in bio_copy_to_iter() 88 bvec->bv_len, in bio_copy_to_iter() 94 if (ret < bvec->bv_len) in bio_copy_to_iter() 445 struct bio_vec *bvec; in bio_copy_kern_endio_read() local 449 memcpy_from_bvec(p, bvec); in bio_copy_kern_endio_read() [all …]
|
A D | bounce.c | 105 struct bio_vec *bvec, orig_vec; in bounce_end_io() local 112 bio_for_each_segment_all(bvec, bio, iter_all) { in bounce_end_io() 114 if (bvec->bv_page != orig_vec.bv_page) { in bounce_end_io() 115 dec_zone_page_state(bvec->bv_page, NR_BOUNCE); in bounce_end_io() 116 mempool_free(bvec->bv_page, &page_pool); in bounce_end_io()
|
A D | blk-merge.c | 466 unsigned nbytes = bvec->bv_len; in blk_bvec_map_sg() 470 unsigned offset = bvec->bv_offset + total; in blk_bvec_map_sg() 472 bvec->bv_page, offset), nbytes); in blk_bvec_map_sg() 473 struct page *page = bvec->bv_page; in blk_bvec_map_sg() 511 int nbytes = bvec->bv_len; in __blk_segment_map_sg_merge() 519 if (!biovec_phys_mergeable(q, bvprv, bvec)) in __blk_segment_map_sg_merge() 531 struct bio_vec bvec, bvprv = { NULL }; in __blk_bios_map_sg() local 537 bio_for_each_bvec(bvec, bio, iter) { in __blk_bios_map_sg() 547 if (bvec.bv_offset + bvec.bv_len <= PAGE_SIZE) in __blk_bios_map_sg() 548 nsegs += __blk_bvec_map_sg(bvec, sglist, sg); in __blk_bios_map_sg() [all …]
|
A D | bio.c | 1005 struct bio_vec *bvec; in bio_add_hw_page() local 1166 struct bio_vec *bvec; in __bio_release_pages() local 1170 set_page_dirty_lock(bvec->bv_page); in __bio_release_pages() 1171 put_page(bvec->bv_page); in __bio_release_pages() 1436 struct bio_vec *bvec; in bio_free_pages() local 1440 __free_page(bvec->bv_page); in bio_free_pages() 1475 struct bio_vec *bvec; in bio_set_pages_dirty() local 1479 if (!PageCompound(bvec->bv_page)) in bio_set_pages_dirty() 1480 set_page_dirty_lock(bvec->bv_page); in bio_set_pages_dirty() 1523 struct bio_vec *bvec; in bio_check_pages_dirty() local [all …]
|
/linux-6.3-rc2/mm/ |
A D | page_io.c | 241 struct bio_vec bvec[SWAP_CLUSTER_MAX]; member 263 struct page *page = sio->bvec[0].bv_page; in sio_write_complete() 280 page = sio->bvec[p].bv_page; in sio_write_complete() 286 count_swpout_vm_event(sio->bvec[p].bv_page); in sio_write_complete() 290 end_page_writeback(sio->bvec[p].bv_page); in sio_write_complete() 321 bvec_set_page(&sio->bvec[sio->pages], page, thp_size(page), 0); in swap_writepage_fs() 324 if (sio->pages == ARRAY_SIZE(sio->bvec) || !wbc->swap_plug) { in swap_writepage_fs() 409 struct page *page = sio->bvec[p].bv_page; in sio_read_complete() 417 struct page *page = sio->bvec[p].bv_page; in sio_read_complete() 452 bvec_set_page(&sio->bvec[sio->pages], page, thp_size(page), 0); in swap_readpage_fs() [all …]
|
/linux-6.3-rc2/drivers/nvme/target/ |
A D | io-cmd-file.c | 94 iov_iter_bvec(&iter, rw, req->f.bvec, nr_segs, count); in nvmet_file_submit_bvec() 108 if (req->f.bvec != req->inline_bvec) { in nvmet_file_io_done() 110 kfree(req->f.bvec); in nvmet_file_io_done() 112 mempool_free(req->f.bvec, req->ns->bvec_pool); in nvmet_file_io_done() 142 bvec_set_page(&req->f.bvec[bv_cnt], sg_page(sg), sg->length, in nvmet_file_execute_io() 144 len += req->f.bvec[bv_cnt].bv_len; in nvmet_file_execute_io() 145 total_len += req->f.bvec[bv_cnt].bv_len; in nvmet_file_execute_io() 231 req->f.bvec = kmalloc_array(nr_bvec, sizeof(struct bio_vec), in nvmet_file_execute_rw() 234 req->f.bvec = req->inline_bvec; in nvmet_file_execute_rw() 236 if (unlikely(!req->f.bvec)) { in nvmet_file_execute_rw() [all …]
|
/linux-6.3-rc2/lib/ |
A D | iov_iter.c | 137 const struct bio_vec *bvec = i->bvec; \ 142 i->nr_segs -= bvec - i->bvec; \ 143 i->bvec = bvec; \ 860 for (bvec = i->bvec, end = bvec + i->nr_segs; bvec < end; bvec++) { in iov_iter_bvec_advance() 866 i->nr_segs -= bvec - i->bvec; in iov_iter_bvec_advance() 867 i->bvec = bvec; in iov_iter_bvec_advance() 949 const struct bio_vec *bvec = i->bvec; in iov_iter_revert() local 954 i->bvec = bvec; in iov_iter_revert() 1015 .bvec = bvec, in iov_iter_bvec() 1689 return new->bvec = kmemdup(new->bvec, in dup_iter() [all …]
|
/linux-6.3-rc2/arch/m68k/emu/ |
A D | nfblock.c | 63 struct bio_vec bvec; in nfhd_submit_bio() local 70 bio_for_each_segment(bvec, bio, iter) { in nfhd_submit_bio() 71 len = bvec.bv_len; in nfhd_submit_bio() 74 page_to_phys(bvec.bv_page) + bvec.bv_offset); in nfhd_submit_bio()
|
/linux-6.3-rc2/drivers/block/ |
A D | n64cart.c | 89 struct bio_vec bvec; in n64cart_submit_bio() local 94 bio_for_each_segment(bvec, bio, iter) { in n64cart_submit_bio() 95 if (!n64cart_do_bvec(dev, &bvec, pos)) { in n64cart_submit_bio() 99 pos += bvec.bv_len; in n64cart_submit_bio()
|
A D | loop.c | 87 struct bio_vec *bvec; member 246 iov_iter_bvec(&i, ITER_SOURCE, bvec, 1, bvec->bv_len); in lo_write_bvec() 266 struct bio_vec bvec; in lo_write_simple() local 289 iov_iter_bvec(&i, ITER_DEST, &bvec, 1, bvec.bv_len); in lo_read_simple() 380 kfree(cmd->bvec); in lo_rw_aio_do_completion() 381 cmd->bvec = NULL; in lo_rw_aio_do_completion() 415 if (!bvec) in lo_rw_aio() 417 cmd->bvec = bvec; in lo_rw_aio() 426 *bvec = tmp; in lo_rw_aio() 427 bvec++; in lo_rw_aio() [all …]
|
A D | brd.c | 291 struct bio_vec bvec; in brd_submit_bio() local 294 bio_for_each_segment(bvec, bio, iter) { in brd_submit_bio() 295 unsigned int len = bvec.bv_len; in brd_submit_bio() 299 WARN_ON_ONCE((bvec.bv_offset & (SECTOR_SIZE - 1)) || in brd_submit_bio() 302 err = brd_do_bvec(brd, bvec.bv_page, len, bvec.bv_offset, in brd_submit_bio()
|
/linux-6.3-rc2/fs/nfs/ |
A D | fscache.c | 248 struct bio_vec bvec; in fscache_fallback_read_page() local 252 bvec_set_page(&bvec, page, PAGE_SIZE, 0); in fscache_fallback_read_page() 253 iov_iter_bvec(&iter, ITER_DEST, &bvec, 1, PAGE_SIZE); in fscache_fallback_read_page() 274 struct bio_vec bvec; in fscache_fallback_write_page() local 280 bvec_set_page(&bvec, page, PAGE_SIZE, 0); in fscache_fallback_write_page() 281 iov_iter_bvec(&iter, ITER_SOURCE, &bvec, 1, PAGE_SIZE); in fscache_fallback_write_page()
|
/linux-6.3-rc2/Documentation/block/ |
A D | biovecs.rst | 20 bytes completed in the current bvec. 43 As of 5.12 bvec segments with zero bv_len are not supported. 52 exactly one bvec at a time - for example, bio_copy_data() in block/bio.c, 60 coding bvec iterators before, and having common implementation considerably 65 it somewhere else if there was an error) had to save the entire bvec array 68 * Biovecs can be shared between multiple bios - a bvec iter can represent an 76 bios with more than a single bvec! Now, we can efficiently split arbitrary 88 fine to _most_ devices, but since accessing the raw bvec array was the 90 since all drivers _must_ go through the bvec iterator - and have been 145 * The following helpers iterate over multi-page bvec. The passed 'struct
|
/linux-6.3-rc2/drivers/target/ |
A D | target_core_file.c | 318 struct bio_vec *bvec; in fd_do_rw() local 323 bvec = kcalloc(sgl_nents, sizeof(struct bio_vec), GFP_KERNEL); in fd_do_rw() 324 if (!bvec) { in fd_do_rw() 334 iov_iter_bvec(&iter, is_write, bvec, sgl_nents, len); in fd_do_rw() 378 kfree(bvec); in fd_do_rw() 435 struct bio_vec *bvec; in fd_execute_write_same() local 458 bvec = kcalloc(nolb, sizeof(struct bio_vec), GFP_KERNEL); in fd_execute_write_same() 459 if (!bvec) in fd_execute_write_same() 463 bvec_set_page(&bvec[i], sg_page(&cmd->t_data_sg[0]), in fd_execute_write_same() 469 iov_iter_bvec(&iter, ITER_SOURCE, bvec, nolb, len); in fd_execute_write_same() [all …]
|
/linux-6.3-rc2/io_uring/ |
A D | rsrc.c | 146 unpin_user_page(imu->bvec[i].bv_page); in io_buffer_unmap() 1098 if (!PageCompound(imu->bvec[j].bv_page)) in headpage_already_acct() 1100 if (compound_head(imu->bvec[j].bv_page) == hpage) in headpage_already_acct() 1263 bvec_set_page(&imu->bvec[0], pages[0], size, off); in io_sqe_buffer_register() 1385 const struct bio_vec *bvec = imu->bvec; in io_import_fixed() local 1387 if (offset <= bvec->bv_len) { in io_import_fixed() 1393 iter->bvec = bvec; in io_import_fixed() 1394 iter->nr_segs = bvec->bv_len; in io_import_fixed() 1401 offset -= bvec->bv_len; in io_import_fixed() 1404 iter->bvec = bvec + seg_skip; in io_import_fixed() [all …]
|
/linux-6.3-rc2/net/sunrpc/ |
A D | svcsock.c | 227 bvec_iter_advance(bvec, &bi, seek & PAGE_MASK); in svc_flush_bvec() 228 for_each_bvec(bv, bvec, bi, bi) in svc_flush_bvec() 248 struct bio_vec *bvec = rqstp->rq_bvec; in svc_tcp_read_msg() local 261 iov_iter_bvec(&msg.msg_iter, ITER_DEST, bvec, i, buflen); in svc_tcp_read_msg() 268 svc_flush_bvec(bvec, len, seek); in svc_tcp_read_msg() 1114 struct bio_vec *bvec; in svc_tcp_sendmsg() local 1116 bvec = xdr->bvec + (xdr->page_base >> PAGE_SHIFT); in svc_tcp_sendmsg() 1120 len = min(remaining, bvec->bv_len - offset); in svc_tcp_sendmsg() 1121 ret = kernel_sendpage(sock, bvec->bv_page, in svc_tcp_sendmsg() 1122 bvec->bv_offset + offset, in svc_tcp_sendmsg() [all …]
|