diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2017-09-24 15:25:39 +0200 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2017-10-11 23:23:40 +0200 |
commit | e81cef5d3001501350b4e596b4bd6dfd26187afa (patch) | |
tree | a668c5996d1a9a7627f8dde7162336188e7907e4 /block/bio.c | |
parent | bio_map_user_iov(): get rid of the iov_for_each() (diff) | |
download | linux-e81cef5d3001501350b4e596b4bd6dfd26187afa.tar.xz linux-e81cef5d3001501350b4e596b4bd6dfd26187afa.zip |
blk_rq_map_user_iov(): move iov_iter_advance() down
... into bio_{map,copy}_user_iov()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'block/bio.c')
-rw-r--r-- | block/bio.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/block/bio.c b/block/bio.c index d1ca7eecc8aa..cd1282db03cb 100644 --- a/block/bio.c +++ b/block/bio.c @@ -1195,7 +1195,7 @@ int bio_uncopy_user(struct bio *bio) */ struct bio *bio_copy_user_iov(struct request_queue *q, struct rq_map_data *map_data, - const struct iov_iter *iter, + struct iov_iter *iter, gfp_t gfp_mask) { struct bio_map_data *bmd; @@ -1298,6 +1298,7 @@ struct bio *bio_copy_user_iov(struct request_queue *q, if (ret) goto cleanup; } + iov_iter_advance(iter, bio->bi_iter.bi_size); bio->bi_private = bmd; return bio; @@ -1320,7 +1321,7 @@ out_bmd: * device. Returns an error pointer in case of error. */ struct bio *bio_map_user_iov(struct request_queue *q, - const struct iov_iter *iter, + struct iov_iter *iter, gfp_t gfp_mask) { int j; @@ -1399,6 +1400,7 @@ struct bio *bio_map_user_iov(struct request_queue *q, * reference to it */ bio_get(bio); + iov_iter_advance(iter, bio->bi_iter.bi_size); return bio; out_unmap: |