block: support large requests in blk_rq_map_user_iov
authorChristoph Hellwig <hch@lst.de>
Wed, 2 Mar 2016 17:07:14 +0000 (18:07 +0100)
committerJens Axboe <axboe@fb.com>
Thu, 3 Mar 2016 21:45:02 +0000 (14:45 -0700)
commit4d6af73d9e43f78651a43ee4c5ad221107ac8365
tree4f267be22aec6c45e24894be81cc92c3bc1715f5
parentf21018427cb007a0894c36ad702990ab639cbbb4
block: support large requests in blk_rq_map_user_iov

This patch adds support for larger requests in blk_rq_map_user_iov by
allowing it to build multiple bios for a request.  This functionality
used to exist for the non-vectored blk_rq_map_user in the past, and
this patch reuses the existing functionality for it on the unmap side,
which stuck around.  Thanks to the iov_iter API supporting multiple
bios is fairly trivial, as we can just iterate the iov until we've
consumed the whole iov_iter.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reported-by: Jeff Lien <Jeff.Lien@hgst.com>
Tested-by: Jeff Lien <Jeff.Lien@hgst.com>
Reviewed-by: Keith Busch <keith.busch@intel.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
block/blk-map.c