diff options
author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2016-04-19 04:24:16 +0900 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2016-04-19 04:24:16 +0900 |
commit | 7553c7e68fd144643e74a279ef51b74a15214071 (patch) | |
tree | 5ad08f6de205a14eeba1793aa641e6b25c22b2c1 /drivers/block/loop.c | |
parent | 423de92f56bdfc3e68503af31e6ec041d59a6a25 (diff) | |
parent | c3b46c73264b03000d1e18b22f5caf63332547c9 (diff) | |
download | linux-next-7553c7e68fd144643e74a279ef51b74a15214071.tar.gz |
Merge 4.6-rc4 into char-misc-next
We want the fixes in there to build off of for other dependant patches.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/block/loop.c')
-rw-r--r-- | drivers/block/loop.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/block/loop.c b/drivers/block/loop.c index 423f4ca7d712..80cf8add46ff 100644 --- a/drivers/block/loop.c +++ b/drivers/block/loop.c @@ -488,6 +488,12 @@ static int lo_rw_aio(struct loop_device *lo, struct loop_cmd *cmd, bvec = __bvec_iter_bvec(bio->bi_io_vec, bio->bi_iter); iov_iter_bvec(&iter, ITER_BVEC | rw, bvec, bio_segments(bio), blk_rq_bytes(cmd->rq)); + /* + * This bio may be started from the middle of the 'bvec' + * because of bio splitting, so offset from the bvec must + * be passed to iov iterator + */ + iter.iov_offset = bio->bi_iter.bi_bvec_done; cmd->iocb.ki_pos = pos; cmd->iocb.ki_filp = file; |