Searched refs:bvec (Results 1 - 53 of 53) sorted by relevance

/linux-4.4.14/drivers/block/zram/
H A Dzram_drv.c109 static inline bool is_partial_io(struct bio_vec *bvec) is_partial_io() argument
111 return bvec->bv_len != PAGE_SIZE; is_partial_io()
138 static void update_position(u32 *index, int *offset, struct bio_vec *bvec) update_position() argument
140 if (*offset + bvec->bv_len >= PAGE_SIZE) update_position()
142 *offset = (*offset + bvec->bv_len) % PAGE_SIZE; update_position()
175 static void handle_zero_page(struct bio_vec *bvec) handle_zero_page() argument
177 struct page *page = bvec->bv_page; handle_zero_page()
181 if (is_partial_io(bvec)) handle_zero_page()
182 memset(user_mem + bvec->bv_offset, 0, bvec->bv_len); handle_zero_page()
598 static int zram_bvec_read(struct zram *zram, struct bio_vec *bvec, zram_bvec_read() argument
605 page = bvec->bv_page; zram_bvec_read()
611 handle_zero_page(bvec); zram_bvec_read()
616 if (is_partial_io(bvec)) zram_bvec_read()
621 if (!is_partial_io(bvec)) zram_bvec_read()
635 if (is_partial_io(bvec)) zram_bvec_read()
636 memcpy(user_mem + bvec->bv_offset, uncmem + offset, zram_bvec_read()
637 bvec->bv_len); zram_bvec_read()
643 if (is_partial_io(bvec)) zram_bvec_read()
648 static int zram_bvec_write(struct zram *zram, struct bio_vec *bvec, u32 index, zram_bvec_write() argument
660 page = bvec->bv_page; zram_bvec_write()
661 if (is_partial_io(bvec)) { zram_bvec_write()
679 if (is_partial_io(bvec)) { zram_bvec_write()
680 memcpy(uncmem + offset, user_mem + bvec->bv_offset, zram_bvec_write()
681 bvec->bv_len); zram_bvec_write()
703 if (!is_partial_io(bvec)) { zram_bvec_write()
716 if (is_partial_io(bvec)) zram_bvec_write()
739 if ((clen == PAGE_SIZE) && !is_partial_io(bvec)) { zram_bvec_write()
768 if (is_partial_io(bvec)) zram_bvec_write()
812 static int zram_bvec_rw(struct zram *zram, struct bio_vec *bvec, u32 index, zram_bvec_rw() argument
818 generic_start_io_acct(rw, bvec->bv_len >> SECTOR_SHIFT, zram_bvec_rw()
823 ret = zram_bvec_read(zram, bvec, index, offset); zram_bvec_rw()
826 ret = zram_bvec_write(zram, bvec, index, offset); zram_bvec_rw()
845 struct bio_vec bvec; __zram_make_request() local
859 bio_for_each_segment(bvec, bio, iter) { bio_for_each_segment()
862 if (bvec.bv_len > max_transfer_size) { bio_for_each_segment()
869 bv.bv_page = bvec.bv_page; bio_for_each_segment()
871 bv.bv_offset = bvec.bv_offset; bio_for_each_segment()
876 bv.bv_len = bvec.bv_len - max_transfer_size; bio_for_each_segment()
881 if (zram_bvec_rw(zram, &bvec, index, offset, rw) < 0) bio_for_each_segment()
884 update_position(&index, &offset, &bvec); bio_for_each_segment()
/linux-4.4.14/include/linux/
H A Dbio.h64 #define __bvec_iter_bvec(bvec, iter) (&(bvec)[(iter).bi_idx])
66 #define bvec_iter_page(bvec, iter) \
67 (__bvec_iter_bvec((bvec), (iter))->bv_page)
69 #define bvec_iter_len(bvec, iter) \
71 __bvec_iter_bvec((bvec), (iter))->bv_len - (iter).bi_bvec_done)
73 #define bvec_iter_offset(bvec, iter) \
74 (__bvec_iter_bvec((bvec), (iter))->bv_offset + (iter).bi_bvec_done)
76 #define bvec_iter_bvec(bvec, iter) \
78 .bv_page = bvec_iter_page((bvec), (iter)), \
79 .bv_len = bvec_iter_len((bvec), (iter)), \
80 .bv_offset = bvec_iter_offset((bvec), (iter)), \
200 "Attempted to advance past end of bvec iter\n"); bvec_iter_advance()
243 #define bio_iter_last(bvec, iter) ((iter).bi_size == (bvec).bv_len)
332 else /* in the middle of bvec */ bio_get_last_bvec()
338 * iter.bi_bvec_done records actual length of the last bvec bio_get_last_bvec()
381 struct bio_vec bip_inline_vecs[0];/* embedded bvec array */
542 static inline char *bvec_kmap_irq(struct bio_vec *bvec, unsigned long *flags) bvec_kmap_irq() argument
551 addr = (unsigned long) kmap_atomic(bvec->bv_page); bvec_kmap_irq()
555 return (char *) addr + bvec->bv_offset; bvec_kmap_irq()
567 static inline char *bvec_kmap_irq(struct bio_vec *bvec, unsigned long *flags) bvec_kmap_irq() argument
569 return page_address(bvec->bv_page) + bvec->bv_offset; bvec_kmap_irq()
H A Duio.h35 const struct bio_vec *bvec; member in union:iov_iter::__anon13255
94 void iov_iter_bvec(struct iov_iter *i, int direction, const struct bio_vec *bvec,
H A Dblk_types.h39 current bvec */
129 #define BIO_OWNS_VEC 13 /* bio_free() should free bvec */
H A Dblkdev.h749 #define rq_iter_last(bvec, _iter) \
751 bio_iter_last(bvec, _iter.iter))
/linux-4.4.14/fs/btrfs/
H A Dcompression.h37 struct bio_vec *bvec, int vcnt,
48 void btrfs_clear_biovec_end(struct bio_vec *bvec, int vcnt,
69 struct bio_vec *bvec,
H A Dfile-item.c165 struct bio_vec *bvec = bio->bi_io_vec; __btrfs_lookup_bio_sums() local
225 offset = page_offset(bvec->bv_page) + bvec->bv_offset; __btrfs_lookup_bio_sums()
246 offset + bvec->bv_len - 1, __btrfs_lookup_bio_sums()
286 disk_bytenr += bvec->bv_len; __btrfs_lookup_bio_sums()
287 offset += bvec->bv_len; __btrfs_lookup_bio_sums()
288 bvec++; __btrfs_lookup_bio_sums()
432 struct bio_vec *bvec = bio->bi_io_vec; btrfs_csum_one_bio() local
451 offset = page_offset(bvec->bv_page) + bvec->bv_offset; btrfs_csum_one_bio()
460 offset = page_offset(bvec->bv_page) + bvec->bv_offset; btrfs_csum_one_bio()
483 data = kmap_atomic(bvec->bv_page); btrfs_csum_one_bio()
485 sums->sums[index] = btrfs_csum_data(data + bvec->bv_offset, btrfs_csum_one_bio()
487 bvec->bv_len); btrfs_csum_one_bio()
494 total_bytes += bvec->bv_len; btrfs_csum_one_bio()
495 this_sum_bytes += bvec->bv_len; btrfs_csum_one_bio()
496 offset += bvec->bv_len; btrfs_csum_one_bio()
497 bvec++; btrfs_csum_one_bio()
H A Dcompression.c85 u64 disk_start, struct bio_vec *bvec,
201 struct bio_vec *bvec; end_compressed_bio_read() local
207 bio_for_each_segment_all(bvec, cb->orig_bio, i) end_compressed_bio_read()
208 SetPageChecked(bvec->bv_page); end_compressed_bio_read()
918 * bvec is a bio_vec of pages from the file that we want to decompress into
930 u64 disk_start, struct bio_vec *bvec, btrfs_decompress_biovec()
942 bvec, vcnt, srclen); btrfs_decompress_biovec()
984 struct bio_vec *bvec, int vcnt, btrfs_decompress_buf2page()
994 struct page *page_out = bvec[*pg_index].bv_page; btrfs_decompress_buf2page()
1039 page_out = bvec[*pg_index].bv_page; btrfs_decompress_buf2page()
1074 void btrfs_clear_biovec_end(struct bio_vec *bvec, int vcnt, btrfs_clear_biovec_end() argument
1079 struct page *page = bvec[pg_index].bv_page; btrfs_clear_biovec_end()
1080 unsigned long off = bvec[pg_index].bv_offset; btrfs_clear_biovec_end()
1081 unsigned long len = bvec[pg_index].bv_len; btrfs_clear_biovec_end()
929 btrfs_decompress_biovec(int type, struct page **pages_in, u64 disk_start, struct bio_vec *bvec, int vcnt, size_t srclen) btrfs_decompress_biovec() argument
982 btrfs_decompress_buf2page(char *buf, unsigned long buf_start, unsigned long total_out, u64 disk_start, struct bio_vec *bvec, int vcnt, unsigned long *pg_index, unsigned long *pg_offset) btrfs_decompress_buf2page() argument
H A Dlzo.c260 struct bio_vec *bvec, lzo_decompress_biovec()
369 bvec, vcnt, lzo_decompress_biovec()
377 btrfs_clear_biovec_end(bvec, vcnt, page_out_index, pg_offset); lzo_decompress_biovec()
257 lzo_decompress_biovec(struct list_head *ws, struct page **pages_in, u64 disk_start, struct bio_vec *bvec, int vcnt, size_t srclen) lzo_decompress_biovec() argument
H A Dzlib.c215 struct bio_vec *bvec, zlib_decompress_biovec()
269 bvec, vcnt, zlib_decompress_biovec()
303 btrfs_clear_biovec_end(bvec, vcnt, page_out_index, pg_offset); zlib_decompress_biovec()
213 zlib_decompress_biovec(struct list_head *ws, struct page **pages_in, u64 disk_start, struct bio_vec *bvec, int vcnt, size_t srclen) zlib_decompress_biovec() argument
H A Dextent_io.c2554 struct bio_vec *bvec; end_bio_extent_writepage() local
2559 bio_for_each_segment_all(bvec, bio, i) { bio_for_each_segment_all()
2560 struct page *page = bvec->bv_page; bio_for_each_segment_all()
2567 if (bvec->bv_offset || bvec->bv_len != PAGE_CACHE_SIZE) { bio_for_each_segment_all()
2568 if (bvec->bv_offset + bvec->bv_len != PAGE_CACHE_SIZE) bio_for_each_segment_all()
2571 bvec->bv_offset, bvec->bv_len); bio_for_each_segment_all()
2576 bvec->bv_offset, bvec->bv_len); bio_for_each_segment_all()
2580 end = start + bvec->bv_offset + bvec->bv_len - 1; bio_for_each_segment_all()
2616 struct bio_vec *bvec; end_bio_extent_readpage() local
2630 bio_for_each_segment_all(bvec, bio, i) { bio_for_each_segment_all()
2631 struct page *page = bvec->bv_page; bio_for_each_segment_all()
2644 if (bvec->bv_offset || bvec->bv_len != PAGE_CACHE_SIZE) { bio_for_each_segment_all()
2645 if (bvec->bv_offset + bvec->bv_len != PAGE_CACHE_SIZE) bio_for_each_segment_all()
2648 bvec->bv_offset, bvec->bv_len); bio_for_each_segment_all()
2653 bvec->bv_offset, bvec->bv_len); bio_for_each_segment_all()
2657 end = start + bvec->bv_offset + bvec->bv_len - 1; bio_for_each_segment_all()
2658 len = bvec->bv_len; bio_for_each_segment_all()
2820 struct bio_vec *bvec = bio->bi_io_vec + bio->bi_vcnt - 1; submit_one_bio() local
2821 struct page *page = bvec->bv_page; submit_one_bio()
2825 start = page_offset(page) + bvec->bv_offset; submit_one_bio()
3820 struct bio_vec *bvec; end_bio_extent_buffer_writepage() local
3824 bio_for_each_segment_all(bvec, bio, i) { bio_for_each_segment_all()
3825 struct page *page = bvec->bv_page; bio_for_each_segment_all()
H A Dinode.c7837 struct bio_vec *bvec; btrfs_retry_endio_nocsum() local
7844 bio_for_each_segment_all(bvec, bio, i) btrfs_retry_endio_nocsum()
7845 clean_io_failure(done->inode, done->start, bvec->bv_page, 0); btrfs_retry_endio_nocsum()
7854 struct bio_vec *bvec; __btrfs_correct_data_nocsum() local
7863 bio_for_each_segment_all(bvec, &io_bio->bio, i) { __btrfs_correct_data_nocsum()
7869 ret = dio_read_error(inode, &io_bio->bio, bvec->bv_page, start, __btrfs_correct_data_nocsum()
7870 start + bvec->bv_len - 1, __btrfs_correct_data_nocsum()
7883 start += bvec->bv_len; __btrfs_correct_data_nocsum()
7893 struct bio_vec *bvec; btrfs_retry_endio() local
7902 bio_for_each_segment_all(bvec, bio, i) { bio_for_each_segment_all()
7904 bvec->bv_page, 0, bio_for_each_segment_all()
7905 done->start, bvec->bv_len); bio_for_each_segment_all()
7908 bvec->bv_page, 0); bio_for_each_segment_all()
7922 struct bio_vec *bvec; __btrfs_subio_endio_read() local
7933 bio_for_each_segment_all(bvec, &io_bio->bio, i) { __btrfs_subio_endio_read()
7934 ret = __readpage_endio_check(inode, io_bio, i, bvec->bv_page, __btrfs_subio_endio_read()
7935 0, start, bvec->bv_len); __btrfs_subio_endio_read()
7943 ret = dio_read_error(inode, &io_bio->bio, bvec->bv_page, start, __btrfs_subio_endio_read()
7944 start + bvec->bv_len - 1, __btrfs_subio_endio_read()
7959 offset += bvec->bv_len; __btrfs_subio_endio_read()
7960 start += bvec->bv_len; __btrfs_subio_endio_read()
8200 struct bio_vec *bvec = orig_bio->bi_io_vec; btrfs_submit_direct_hook() local
8236 while (bvec <= (orig_bio->bi_io_vec + orig_bio->bi_vcnt - 1)) { btrfs_submit_direct_hook()
8237 if (map_length < submit_len + bvec->bv_len || btrfs_submit_direct_hook()
8238 bio_add_page(bio, bvec->bv_page, bvec->bv_len, btrfs_submit_direct_hook()
8239 bvec->bv_offset) < bvec->bv_len) { btrfs_submit_direct_hook()
8279 submit_len += bvec->bv_len; btrfs_submit_direct_hook()
8281 bvec++; btrfs_submit_direct_hook()
H A Ddisk-io.c877 struct bio_vec *bvec; btree_csum_one_bio() local
881 bio_for_each_segment_all(bvec, bio, i) { bio_for_each_segment_all()
882 root = BTRFS_I(bvec->bv_page->mapping->host)->root; bio_for_each_segment_all()
883 ret = csum_dirty_buffer(root->fs_info, bvec->bv_page); bio_for_each_segment_all()
/linux-4.4.14/block/
H A Dbounce.c129 struct bio_vec *bvec, *org_vec; bounce_end_io() local
136 bio_for_each_segment_all(bvec, bio, i) { bio_for_each_segment_all()
139 if (bvec->bv_page == org_vec->bv_page) bio_for_each_segment_all()
142 dec_zone_page_state(bvec->bv_page, NR_BOUNCE); bio_for_each_segment_all()
143 mempool_free(bvec->bv_page, pool); bio_for_each_segment_all()
H A Dbio.c715 struct bio_vec *bvec; bio_add_pc_page() local
756 bvec = &bio->bi_io_vec[bio->bi_vcnt]; bio_add_pc_page()
757 bvec->bv_page = page; bio_add_pc_page()
758 bvec->bv_len = len; bio_add_pc_page()
759 bvec->bv_offset = offset; bio_add_pc_page()
779 if (bio->bi_vcnt > 1 && (BIOVEC_PHYS_MERGEABLE(bvec-1, bvec))) bio_add_pc_page()
786 bvec->bv_page = NULL; bio_add_pc_page()
787 bvec->bv_len = 0; bio_add_pc_page()
788 bvec->bv_offset = 0; bio_add_pc_page()
889 * complete doesn't align with a bvec boundary, then bv_len and bv_offset will
890 * be updated on the last bvec as well.
904 * bio_alloc_pages - allocates a single page for each bvec in a bio
1018 struct bio_vec *bvec; bio_copy_from_iter() local
1020 bio_for_each_segment_all(bvec, bio, i) { bio_for_each_segment_all()
1023 ret = copy_page_from_iter(bvec->bv_page, bio_for_each_segment_all()
1024 bvec->bv_offset, bio_for_each_segment_all()
1025 bvec->bv_len, bio_for_each_segment_all()
1031 if (ret < bvec->bv_len) bio_for_each_segment_all()
1049 struct bio_vec *bvec; bio_copy_to_iter() local
1051 bio_for_each_segment_all(bvec, bio, i) { bio_for_each_segment_all()
1054 ret = copy_page_to_iter(bvec->bv_page, bio_for_each_segment_all()
1055 bvec->bv_offset, bio_for_each_segment_all()
1056 bvec->bv_len, bio_for_each_segment_all()
1062 if (ret < bvec->bv_len) bio_for_each_segment_all()
1071 struct bio_vec *bvec; bio_free_pages() local
1074 bio_for_each_segment_all(bvec, bio, i) bio_free_pages()
1075 __free_page(bvec->bv_page); bio_free_pages()
1372 struct bio_vec *bvec; __bio_unmap_user() local
1378 bio_for_each_segment_all(bvec, bio, i) { bio_for_each_segment_all()
1380 set_page_dirty_lock(bvec->bv_page); bio_for_each_segment_all()
1382 page_cache_release(bvec->bv_page); bio_for_each_segment_all()
1469 struct bio_vec *bvec; bio_copy_kern_endio_read() local
1472 bio_for_each_segment_all(bvec, bio, i) { bio_for_each_segment_all()
1473 memcpy(p, page_address(bvec->bv_page), bvec->bv_len); bio_for_each_segment_all()
1474 p += bvec->bv_len; bio_for_each_segment_all()
1581 struct bio_vec *bvec; bio_set_pages_dirty() local
1584 bio_for_each_segment_all(bvec, bio, i) { bio_for_each_segment_all()
1585 struct page *page = bvec->bv_page; bio_for_each_segment_all()
1594 struct bio_vec *bvec; bio_release_pages() local
1597 bio_for_each_segment_all(bvec, bio, i) { bio_for_each_segment_all()
1598 struct page *page = bvec->bv_page; bio_for_each_segment_all()
1647 struct bio_vec *bvec; bio_check_pages_dirty() local
1651 bio_for_each_segment_all(bvec, bio, i) { bio_for_each_segment_all()
1652 struct page *page = bvec->bv_page; bio_for_each_segment_all()
1656 bvec->bv_page = NULL; bio_for_each_segment_all()
1706 struct bio_vec bvec; bio_flush_dcache_pages() local
1709 bio_for_each_segment(bvec, bi, iter) bio_flush_dcache_pages()
1710 flush_dcache_page(bvec.bv_page); bio_flush_dcache_pages()
H A Dblk-merge.c116 /* Make this single bvec as the 1st segment */ bio_for_each_segment()
336 __blk_segment_map_sg(struct request_queue *q, struct bio_vec *bvec, __blk_segment_map_sg() argument
341 int nbytes = bvec->bv_len; __blk_segment_map_sg()
347 if (!BIOVEC_PHYS_MERGEABLE(bvprv, bvec)) __blk_segment_map_sg()
349 if (!BIOVEC_SEG_BOUNDARY(q, bvprv, bvec)) __blk_segment_map_sg()
372 sg_set_page(*sg, bvec->bv_page, nbytes, bvec->bv_offset); __blk_segment_map_sg()
375 *bvprv = *bvec; __blk_segment_map_sg()
382 struct bio_vec bvec, bvprv = { NULL }; __blk_bios_map_sg() local
407 bvec = bio_iovec(bio); __blk_bios_map_sg()
408 sg_set_page(*sg, bvec.bv_page, bvec.bv_len, bvec.bv_offset); __blk_bios_map_sg()
413 bio_for_each_segment(bvec, bio, iter) __blk_bios_map_sg()
414 __blk_segment_map_sg(q, &bvec, sglist, &bvprv, sg, __blk_bios_map_sg()
H A Dblk-core.c2993 struct bio_vec bvec; rq_flush_dcache_pages() local
2995 rq_for_each_segment(bvec, rq, iter) rq_flush_dcache_pages()
2996 flush_dcache_page(bvec.bv_page); rq_flush_dcache_pages()
/linux-4.4.14/fs/9p/
H A Dvfs_addr.c55 struct bio_vec bvec = {.bv_page = page, .bv_len = PAGE_SIZE}; v9fs_fid_readpage() local
67 iov_iter_bvec(&to, ITER_BVEC | READ, &bvec, 1, PAGE_SIZE); v9fs_fid_readpage()
166 struct bio_vec bvec; v9fs_vfs_writepage_locked() local
174 bvec.bv_page = page; v9fs_vfs_writepage_locked()
175 bvec.bv_offset = 0; v9fs_vfs_writepage_locked()
176 bvec.bv_len = len; v9fs_vfs_writepage_locked()
177 iov_iter_bvec(&from, ITER_BVEC | WRITE, &bvec, 1, len); v9fs_vfs_writepage_locked()
/linux-4.4.14/lib/
H A Diov_iter.c61 __p = i->bvec; \
87 const struct bio_vec *bvec; \
89 iterate_bvec(i, n, v, bvec, skip, (B)) \
104 const struct bio_vec *bvec; \
106 iterate_bvec(i, n, v, bvec, skip, (B)) \
107 if (skip == bvec->bv_len) { \
108 bvec++; \
111 i->nr_segs -= bvec - i->bvec; \
112 i->bvec = bvec; \
523 return min(i->count, i->bvec->bv_len - i->iov_offset); iov_iter_single_seg_count()
543 const struct bio_vec *bvec, unsigned long nr_segs, iov_iter_bvec()
548 i->bvec = bvec; iov_iter_bvec()
785 return new->bvec = kmemdup(new->bvec, dup_iter()
542 iov_iter_bvec(struct iov_iter *i, int direction, const struct bio_vec *bvec, unsigned long nr_segs, size_t count) iov_iter_bvec() argument
/linux-4.4.14/drivers/target/
H A Dtarget_core_file.c255 struct bio_vec *bvec; fd_do_rw() local
260 bvec = kcalloc(sgl_nents, sizeof(struct bio_vec), GFP_KERNEL); fd_do_rw()
261 if (!bvec) { fd_do_rw()
267 bvec[i].bv_page = sg_page(sg); for_each_sg()
268 bvec[i].bv_len = sg->length; for_each_sg()
269 bvec[i].bv_offset = sg->offset; for_each_sg()
274 iov_iter_bvec(&iter, ITER_BVEC, bvec, sgl_nents, len);
280 kfree(bvec);
364 struct bio_vec *bvec; fd_execute_write_same() local
388 bvec = kcalloc(nolb, sizeof(struct bio_vec), GFP_KERNEL); fd_execute_write_same()
389 if (!bvec) fd_execute_write_same()
393 bvec[i].bv_page = sg_page(&cmd->t_data_sg[0]); fd_execute_write_same()
394 bvec[i].bv_len = cmd->t_data_sg[0].length; fd_execute_write_same()
395 bvec[i].bv_offset = cmd->t_data_sg[0].offset; fd_execute_write_same()
400 iov_iter_bvec(&iter, ITER_BVEC, bvec, nolb, len); fd_execute_write_same()
403 kfree(bvec); fd_execute_write_same()
/linux-4.4.14/arch/m68k/emu/
H A Dnfblock.c65 struct bio_vec bvec; nfhd_make_request() local
72 bio_for_each_segment(bvec, bio, iter) { bio_for_each_segment()
73 len = bvec.bv_len; bio_for_each_segment()
76 bvec_to_phys(&bvec)); bio_for_each_segment()
/linux-4.4.14/drivers/block/
H A Dnbd.c224 static inline int sock_send_bvec(struct nbd_device *nbd, struct bio_vec *bvec, sock_send_bvec() argument
228 void *kaddr = kmap(bvec->bv_page); sock_send_bvec()
229 result = sock_xmit(nbd, 1, kaddr + bvec->bv_offset, sock_send_bvec()
230 bvec->bv_len, flags); sock_send_bvec()
231 kunmap(bvec->bv_page); sock_send_bvec()
276 struct bio_vec bvec; nbd_send_req() local
281 rq_for_each_segment(bvec, req, iter) { rq_for_each_segment()
283 if (!rq_iter_last(bvec, iter)) rq_for_each_segment()
286 req, bvec.bv_len); rq_for_each_segment()
287 result = sock_send_bvec(nbd, &bvec, flags); rq_for_each_segment()
322 static inline int sock_recv_bvec(struct nbd_device *nbd, struct bio_vec *bvec) sock_recv_bvec() argument
325 void *kaddr = kmap(bvec->bv_page); sock_recv_bvec()
326 result = sock_xmit(nbd, 0, kaddr + bvec->bv_offset, bvec->bv_len, sock_recv_bvec()
328 kunmap(bvec->bv_page); sock_recv_bvec()
374 struct bio_vec bvec; nbd_read_stat() local
376 rq_for_each_segment(bvec, req, iter) { rq_for_each_segment()
377 result = sock_recv_bvec(nbd, &bvec); rq_for_each_segment()
385 req, bvec.bv_len); rq_for_each_segment()
H A Dloop.c261 static int lo_write_bvec(struct file *file, struct bio_vec *bvec, loff_t *ppos) lo_write_bvec() argument
266 iov_iter_bvec(&i, ITER_BVEC, bvec, 1, bvec->bv_len); lo_write_bvec()
272 if (likely(bw == bvec->bv_len)) lo_write_bvec()
277 (unsigned long long)*ppos, bvec->bv_len); lo_write_bvec()
286 struct bio_vec bvec; lo_write_simple() local
290 rq_for_each_segment(bvec, rq, iter) { rq_for_each_segment()
291 ret = lo_write_bvec(lo->lo_backing_file, &bvec, &pos); rq_for_each_segment()
308 struct bio_vec bvec, b; lo_write_transfer() local
317 rq_for_each_segment(bvec, rq, iter) { rq_for_each_segment()
318 ret = lo_do_transfer(lo, WRITE, page, 0, bvec.bv_page, rq_for_each_segment()
319 bvec.bv_offset, bvec.bv_len, pos >> 9); rq_for_each_segment()
325 b.bv_len = bvec.bv_len; rq_for_each_segment()
338 struct bio_vec bvec; lo_read_simple() local
343 rq_for_each_segment(bvec, rq, iter) { rq_for_each_segment()
344 iov_iter_bvec(&i, ITER_BVEC, &bvec, 1, bvec.bv_len); rq_for_each_segment()
349 flush_dcache_page(bvec.bv_page); rq_for_each_segment()
351 if (len != bvec.bv_len) { rq_for_each_segment()
367 struct bio_vec bvec, b; lo_read_transfer() local
378 rq_for_each_segment(bvec, rq, iter) { rq_for_each_segment()
383 b.bv_len = bvec.bv_len; rq_for_each_segment()
392 ret = lo_do_transfer(lo, READ, page, 0, bvec.bv_page, rq_for_each_segment()
393 bvec.bv_offset, len, offset >> 9); rq_for_each_segment()
397 flush_dcache_page(bvec.bv_page); rq_for_each_segment()
399 if (len != bvec.bv_len) { rq_for_each_segment()
480 struct bio_vec *bvec; lo_rw_aio() local
488 bvec = __bvec_iter_bvec(bio->bi_io_vec, bio->bi_iter); lo_rw_aio()
489 iov_iter_bvec(&iter, ITER_BVEC | rw, bvec, lo_rw_aio()
492 * This bio may be started from the middle of the 'bvec' lo_rw_aio()
493 * because of bio splitting, so offset from the bvec must lo_rw_aio()
H A Dbrd.c297 * Process a single bvec of a bio.
331 struct bio_vec bvec; brd_make_request() local
351 bio_for_each_segment(bvec, bio, iter) { bio_for_each_segment()
352 unsigned int len = bvec.bv_len; bio_for_each_segment()
355 err = brd_do_bvec(brd, bvec.bv_page, len, bio_for_each_segment()
356 bvec.bv_offset, rw, sector); bio_for_each_segment()
H A Dps3disk.c97 struct bio_vec bvec; ps3disk_scatter_gather() local
102 rq_for_each_segment(bvec, req, iter) { rq_for_each_segment()
108 size = bvec.bv_len; rq_for_each_segment()
109 buf = bvec_kmap_irq(&bvec, &flags); rq_for_each_segment()
115 flush_kernel_dcache_page(bvec.bv_page); rq_for_each_segment()
H A Dps3vram.c558 struct bio_vec bvec; ps3vram_do_bio() local
562 bio_for_each_segment(bvec, bio, iter) { bio_for_each_segment()
564 char *ptr = page_address(bvec.bv_page) + bvec.bv_offset; bio_for_each_segment()
565 size_t len = bvec.bv_len, retlen; bio_for_each_segment()
H A Dpktcdvd.c954 static void pkt_make_local_copy(struct packet_data *pkt, struct bio_vec *bvec) pkt_make_local_copy() argument
962 if (bvec[f].bv_page != pkt->pages[p]) { pkt_make_local_copy()
963 void *vfrom = kmap_atomic(bvec[f].bv_page) + bvec[f].bv_offset; pkt_make_local_copy()
967 bvec[f].bv_page = pkt->pages[p]; pkt_make_local_copy()
968 bvec[f].bv_offset = offs; pkt_make_local_copy()
970 BUG_ON(bvec[f].bv_offset != offs); pkt_make_local_copy()
1301 struct bio_vec *bvec = pkt->w_bio->bi_io_vec; pkt_start_write() local
1311 bvec[f].bv_page = pkt->pages[(f * CD_FRAMESIZE) / PAGE_SIZE]; pkt_start_write()
1312 bvec[f].bv_offset = (f * CD_FRAMESIZE) % PAGE_SIZE; pkt_start_write()
1313 if (!bio_add_page(pkt->w_bio, bvec[f].bv_page, CD_FRAMESIZE, bvec[f].bv_offset)) pkt_start_write()
1319 * Fill-in bvec with data from orig_bios. pkt_start_write()
1331 pkt_make_local_copy(pkt, bvec); pkt_start_write()
/linux-4.4.14/drivers/nvdimm/
H A Dblk.c133 * split the bvec into sectors, as this would cause unnecessary nd_blk_do_bvec()
172 struct bio_vec bvec; nd_blk_make_request() local
191 bio_for_each_segment(bvec, bio, iter) { bio_for_each_segment()
192 unsigned int len = bvec.bv_len; bio_for_each_segment()
195 err = nd_blk_do_bvec(blk_dev, bip, bvec.bv_page, len, bio_for_each_segment()
196 bvec.bv_offset, rw, iter.bi_sector); bio_for_each_segment()
H A Dpmem.c71 struct bio_vec bvec; pmem_make_request() local
77 bio_for_each_segment(bvec, bio, iter) pmem_make_request()
78 pmem_do_bvec(pmem, bvec.bv_page, bvec.bv_len, bvec.bv_offset, pmem_make_request()
H A Dbtt.c1159 struct bio_vec bvec; btt_make_request() local
1176 bio_for_each_segment(bvec, bio, iter) { bio_for_each_segment()
1177 unsigned int len = bvec.bv_len; bio_for_each_segment()
1185 err = btt_do_bvec(btt, bip, bvec.bv_page, len, bvec.bv_offset, bio_for_each_segment()
/linux-4.4.14/fs/logfs/
H A Ddev_bdev.c58 struct bio_vec *bvec; writeseg_end_io() local
65 bio_for_each_segment_all(bvec, bio, i) { bio_for_each_segment_all()
66 end_page_writeback(bvec->bv_page); bio_for_each_segment_all()
67 page_cache_release(bvec->bv_page); bio_for_each_segment_all()
/linux-4.4.14/drivers/md/
H A Ddm-io.c202 * Functions for getting the pages from a bvec.
207 struct bio_vec *bvec = dp->context_ptr; bio_get_page() local
208 *p = bvec->bv_page; bio_get_page()
209 *len = bvec->bv_len - dp->context_u; bio_get_page()
210 *offset = bvec->bv_offset + dp->context_u; bio_get_page()
215 struct bio_vec *bvec = dp->context_ptr; bio_next_page() local
216 dp->context_ptr = bvec + 1; bio_next_page()
H A Ddm-log-writes.c152 struct bio_vec *bvec; log_end_io() local
164 bio_for_each_segment_all(bvec, bio, i) log_end_io()
165 __free_page(bvec->bv_page); log_end_io()
276 * for every bvec in the original bio for simplicity sake. log_one_block()
H A Draid1.c973 struct bio_vec *bvec; alloc_behind_pages() local
979 bio_for_each_segment_all(bvec, bio, i) { bio_for_each_segment_all()
980 bvecs[i] = *bvec; bio_for_each_segment_all()
984 memcpy(kmap(bvecs[i].bv_page) + bvec->bv_offset, bio_for_each_segment_all()
985 kmap(bvec->bv_page) + bvec->bv_offset, bvec->bv_len); bio_for_each_segment_all()
987 kunmap(bvec->bv_page); bio_for_each_segment_all()
1361 struct bio_vec *bvec; make_request() local
1367 bio_for_each_segment_all(bvec, mbio, j) make_request()
1368 bvec->bv_page = r1_bio->behind_bvecs[j].bv_page; make_request()
H A Ddm-crypt.c995 struct bio_vec *bvec; crypt_alloc_buffer() local
1020 bvec = &clone->bi_io_vec[clone->bi_vcnt++]; crypt_alloc_buffer()
1021 bvec->bv_page = page; crypt_alloc_buffer()
1022 bvec->bv_len = len; crypt_alloc_buffer()
1023 bvec->bv_offset = 0; crypt_alloc_buffer()
H A Ddm-bufio.c52 * The number of bvec entries that are embedded directly in the buffer.
H A Draid10.c4496 struct bio_vec *bvec = r10_bio->master_bio->bi_io_vec; handle_reshape_read_error() local
4522 bvec[idx].bv_page, handle_reshape_read_error()
/linux-4.4.14/drivers/s390/block/
H A Dxpram.c187 struct bio_vec bvec; xpram_make_request() local
205 bio_for_each_segment(bvec, bio, iter) { bio_for_each_segment()
207 kmap(bvec.bv_page) + bvec.bv_offset; bio_for_each_segment()
208 bytes = bvec.bv_len; bio_for_each_segment()
H A Ddcssblk.c823 struct bio_vec bvec; dcssblk_make_request() local
861 bio_for_each_segment(bvec, bio, iter) { bio_for_each_segment()
863 page_address(bvec.bv_page) + bvec.bv_offset; bio_for_each_segment()
865 if (unlikely((page_addr & 4095) != 0) || (bvec.bv_len & 4095) != 0) bio_for_each_segment()
870 bvec.bv_len); bio_for_each_segment()
873 bvec.bv_len); bio_for_each_segment()
875 bytes_done += bvec.bv_len; bio_for_each_segment()
/linux-4.4.14/fs/gfs2/
H A Dlops.c163 * @bvec: The bio_vec
172 static void gfs2_end_log_write_bh(struct gfs2_sbd *sdp, struct bio_vec *bvec, gfs2_end_log_write_bh() argument
176 struct page *page = bvec->bv_page; gfs2_end_log_write_bh()
180 size = bvec->bv_len; gfs2_end_log_write_bh()
181 while (bh_offset(bh) < bvec->bv_offset) gfs2_end_log_write_bh()
208 struct bio_vec *bvec; gfs2_end_log_write() local
217 bio_for_each_segment_all(bvec, bio, i) { bio_for_each_segment_all()
218 page = bvec->bv_page; bio_for_each_segment_all()
220 gfs2_end_log_write_bh(sdp, bvec, bio->bi_error); bio_for_each_segment_all()
/linux-4.4.14/arch/xtensa/platforms/iss/
H A Dsimdisk.c107 struct bio_vec bvec; simdisk_make_request() local
111 bio_for_each_segment(bvec, bio, iter) { bio_for_each_segment()
113 unsigned len = bvec.bv_len >> SECTOR_SHIFT; bio_for_each_segment()
/linux-4.4.14/fs/ext4/
H A Dpage-io.c64 struct bio_vec *bvec; ext4_finish_bio() local
66 bio_for_each_segment_all(bvec, bio, i) { bio_for_each_segment_all()
67 struct page *page = bvec->bv_page; bio_for_each_segment_all()
73 unsigned bio_start = bvec->bv_offset; bio_for_each_segment_all()
74 unsigned bio_end = bio_start + bvec->bv_len; bio_for_each_segment_all()
/linux-4.4.14/drivers/staging/lustre/lustre/llite/
H A Dlloop.c195 struct bio_vec bvec; do_bio_lustrebacked() local
220 bio_for_each_segment(bvec, bio, iter) { bio_for_each_segment()
221 BUG_ON(bvec.bv_offset != 0); bio_for_each_segment()
222 BUG_ON(bvec.bv_len != PAGE_CACHE_SIZE); bio_for_each_segment()
224 pages[page_count] = bvec.bv_page; bio_for_each_segment()
227 offset += bvec.bv_len; bio_for_each_segment()
/linux-4.4.14/drivers/scsi/mpt3sas/
H A Dmpt3sas_transport.c1923 struct bio_vec bvec; _transport_smp_handler() local
1964 bio_for_each_segment(bvec, req->bio, iter) { _transport_smp_handler()
1966 page_address(bvec.bv_page) + bvec.bv_offset, _transport_smp_handler()
1967 bvec.bv_len); _transport_smp_handler()
1968 offset += bvec.bv_len; _transport_smp_handler()
2093 bio_for_each_segment(bvec, rsp->bio, iter) { _transport_smp_handler()
2094 if (bytes_to_copy <= bvec.bv_len) { _transport_smp_handler()
2095 memcpy(page_address(bvec.bv_page) + _transport_smp_handler()
2096 bvec.bv_offset, pci_addr_in + _transport_smp_handler()
2100 memcpy(page_address(bvec.bv_page) + _transport_smp_handler()
2101 bvec.bv_offset, pci_addr_in + _transport_smp_handler()
2102 offset, bvec.bv_len); _transport_smp_handler()
2103 bytes_to_copy -= bvec.bv_len; _transport_smp_handler()
2105 offset += bvec.bv_len; _transport_smp_handler()
/linux-4.4.14/arch/x86/include/asm/
H A Dpmem.h92 * iterators, so for other types (bvec & kvec) we must do a cache write-back.
/linux-4.4.14/drivers/block/rsxx/
H A Ddma.c687 struct bio_vec bvec; rsxx_dma_queue_bio() local
726 bio_for_each_segment(bvec, bio, iter) { bio_for_each_segment()
727 bv_len = bvec.bv_len; bio_for_each_segment()
728 bv_off = bvec.bv_offset; bio_for_each_segment()
740 laddr, bvec.bv_page, bio_for_each_segment()
/linux-4.4.14/fs/f2fs/
H A Ddata.c32 struct bio_vec *bvec; f2fs_read_end_io() local
44 bio_for_each_segment_all(bvec, bio, i) { bio_for_each_segment_all()
45 struct page *page = bvec->bv_page; bio_for_each_segment_all()
61 struct bio_vec *bvec; f2fs_write_end_io() local
64 bio_for_each_segment_all(bvec, bio, i) { bio_for_each_segment_all()
65 struct page *page = bvec->bv_page; bio_for_each_segment_all()
H A Dsegment.c1435 struct bio_vec *bvec; is_merged_page() local
1445 bio_for_each_segment_all(bvec, io->bio, i) { is_merged_page()
1447 if (bvec->bv_page->mapping) { is_merged_page()
1448 target = bvec->bv_page; is_merged_page()
1454 bvec->bv_page); is_merged_page()
/linux-4.4.14/drivers/block/drbd/
H A Ddrbd_main.c1550 struct bio_vec bvec; _drbd_send_bio() local
1554 bio_for_each_segment(bvec, bio, iter) { bio_for_each_segment()
1557 err = _drbd_no_send_page(peer_device, bvec.bv_page, bio_for_each_segment()
1558 bvec.bv_offset, bvec.bv_len, bio_for_each_segment()
1559 bio_iter_last(bvec, iter) bio_for_each_segment()
1569 struct bio_vec bvec; _drbd_send_zc_bio() local
1573 bio_for_each_segment(bvec, bio, iter) { bio_for_each_segment()
1576 err = _drbd_send_page(peer_device, bvec.bv_page, bio_for_each_segment()
1577 bvec.bv_offset, bvec.bv_len, bio_for_each_segment()
1578 bio_iter_last(bvec, iter) ? 0 : MSG_MORE); bio_for_each_segment()
H A Ddrbd_worker.c303 struct bio_vec bvec; drbd_csum_bio() local
312 bio_for_each_segment(bvec, bio, iter) { bio_for_each_segment()
313 sg_set_page(&sg, bvec.bv_page, bvec.bv_len, bvec.bv_offset); bio_for_each_segment()
H A Ddrbd_receiver.c1709 struct bio_vec bvec; recv_dless_read() local
1732 bio_for_each_segment(bvec, bio, iter) { bio_for_each_segment()
1733 void *mapped = kmap(bvec.bv_page) + bvec.bv_offset; bio_for_each_segment()
1734 expect = min_t(int, data_size, bvec.bv_len); bio_for_each_segment()
1736 kunmap(bvec.bv_page); bio_for_each_segment()
/linux-4.4.14/fs/
H A Ddirect-io.c467 struct bio_vec *bvec; dio_bio_complete() local
478 bio_for_each_segment_all(bvec, bio, i) { bio_for_each_segment_all()
479 struct page *page = bvec->bv_page; bio_for_each_segment_all()
H A Dbuffer.c2966 struct bio_vec *bvec = &bio->bi_io_vec[bio->bi_vcnt - 1]; guard_bio_eod() local
2990 bvec->bv_len -= truncated_bytes; guard_bio_eod()
2994 zero_user(bvec->bv_page, bvec->bv_offset + bvec->bv_len, guard_bio_eod()

Completed in 2602 milliseconds