diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2016-10-31 20:59:24 +0300 |
---|---|---|
committer | Jens Axboe <axboe@fb.com> | 2016-11-02 19:50:18 +0300 |
commit | 2cefe4dbaadf83b236caab46705b4b5a4958e3b6 (patch) | |
tree | bee7e525f1145ad55b6abd02f97d10222ae90cc9 /include/linux/bio.h | |
parent | 13edd5e7315a26b448c5f7f33fc7721b1e0c17ef (diff) | |
download | linux-2cefe4dbaadf83b236caab46705b4b5a4958e3b6.tar.xz |
block: add bio_iov_iter_get_pages()
This is a helper that pins down a range from an iov_iter and adds it to
a bio without requiring a separate memory allocation for the page array.
It will be used for upcoming direct I/O implementations for block devices
and iomap based file systems.
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
[hch: ported to the iov_iter interface, renamed and added comments.
All blame should be directed to me and all fame should go to Kent
after this!]
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'include/linux/bio.h')
-rw-r--r-- | include/linux/bio.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/bio.h b/include/linux/bio.h index 5c604b4914bf..d367cd37a7f7 100644 --- a/include/linux/bio.h +++ b/include/linux/bio.h @@ -427,6 +427,7 @@ void bio_chain(struct bio *, struct bio *); extern int bio_add_page(struct bio *, struct page *, unsigned int,unsigned int); extern int bio_add_pc_page(struct request_queue *, struct bio *, struct page *, unsigned int, unsigned int); +int bio_iov_iter_get_pages(struct bio *bio, struct iov_iter *iter); struct rq_map_data; extern struct bio *bio_map_user_iov(struct request_queue *, const struct iov_iter *, gfp_t); |