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>
This commit is contained in:
parent
b282cc7669
commit
e81cef5d30
|
@ -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:
|
||||
|
|
|
@ -69,7 +69,6 @@ static int __blk_rq_map_user_iov(struct request *rq,
|
|||
if (map_data && map_data->null_mapped)
|
||||
bio_set_flag(bio, BIO_NULL_MAPPED);
|
||||
|
||||
iov_iter_advance(iter, bio->bi_iter.bi_size);
|
||||
if (map_data)
|
||||
map_data->offset += bio->bi_iter.bi_size;
|
||||
|
||||
|
|
|
@ -462,7 +462,7 @@ extern int bio_add_pc_page(struct request_queue *, struct bio *, struct page *,
|
|||
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);
|
||||
struct iov_iter *, gfp_t);
|
||||
extern void bio_unmap_user(struct bio *);
|
||||
extern struct bio *bio_map_kern(struct request_queue *, void *, unsigned int,
|
||||
gfp_t);
|
||||
|
@ -494,7 +494,7 @@ extern void bio_free_pages(struct bio *bio);
|
|||
|
||||
extern struct bio *bio_copy_user_iov(struct request_queue *,
|
||||
struct rq_map_data *,
|
||||
const struct iov_iter *,
|
||||
struct iov_iter *,
|
||||
gfp_t);
|
||||
extern int bio_uncopy_user(struct bio *);
|
||||
void zero_fill_bio(struct bio *bio);
|
||||
|
|
Loading…
Reference in New Issue