diff options
author | Asias He <asias@redhat.com> | 2012-08-02 23:42:04 +0200 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2012-08-02 23:42:04 +0200 |
commit | 85b9f66a41eb8ee3f1dfc95707412705463cdd97 (patch) | |
tree | fab0a84fef56bb7f16d6adfb9d8bbb6cfa5cd75c /include/linux/blkdev.h | |
parent | 963ab9e5da95c654bb3ab937cc478de4f7088a96 (diff) | |
download | linux-stable-85b9f66a41eb8ee3f1dfc95707412705463cdd97.tar.gz linux-stable-85b9f66a41eb8ee3f1dfc95707412705463cdd97.tar.bz2 linux-stable-85b9f66a41eb8ee3f1dfc95707412705463cdd97.zip |
block: Add blk_bio_map_sg() helper
Add a helper to map a bio to a scatterlist, modelled after
blk_rq_map_sg.
This helper is useful for any driver that wants to create
a scatterlist from its ->make_request_fn method.
Changes in v2:
- Use __blk_segment_map_sg to avoid duplicated code
- Add cocbook style function comment
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Tejun Heo <tj@kernel.org>
Cc: Shaohua Li <shli@kernel.org>
Cc: "Michael S. Tsirkin" <mst@redhat.com>
Cc: kvm@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: virtualization@lists.linux-foundation.org
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Minchan Kim <minchan.kim@gmail.com>
Signed-off-by: Asias He <asias@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'include/linux/blkdev.h')
-rw-r--r-- | include/linux/blkdev.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index 281516ae8b4e..dc632975d54f 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h @@ -894,6 +894,8 @@ extern void blk_queue_flush_queueable(struct request_queue *q, bool queueable); extern struct backing_dev_info *blk_get_backing_dev_info(struct block_device *bdev); extern int blk_rq_map_sg(struct request_queue *, struct request *, struct scatterlist *); +extern int blk_bio_map_sg(struct request_queue *q, struct bio *bio, + struct scatterlist *sglist); extern void blk_dump_rq_flags(struct request *, char *); extern long nr_blockdev_pages(void); |