]> git.baikalelectronics.ru Git - kernel.git/commit
block: bio_iov_iter_get_pages: fix size of last iovec
authorMartin Wilck <mwilck@suse.com>
Wed, 25 Jul 2018 21:15:07 +0000 (23:15 +0200)
committerJens Axboe <axboe@kernel.dk>
Thu, 26 Jul 2018 17:52:29 +0000 (11:52 -0600)
commitc0906a589f3e3b7de994c0ef147b62bf2f49e761
treebbe37dba31a278aaaa897261576248d51e5dc7ff
parentc6479b0394389ba3e1a4d3b613a0206e97dee90a
block: bio_iov_iter_get_pages: fix size of last iovec

If the last page of the bio is not "full", the length of the last
vector slot needs to be corrected. This slot has the index
(bio->bi_vcnt - 1), but only in bio->bi_io_vec. In the "bv" helper
array, which is shifted by the value of bio->bi_vcnt at function
invocation, the correct index is (nr_pages - 1).

v2: improved readability following suggestions from Ming Lei.
v3: followed a formatting suggestion from Christoph Hellwig.

Fixes: 6a700721f080 ("block: add bio_iov_iter_get_pages()")
Reviewed-by: Hannes Reinecke <hare@suse.com>
Reviewed-by: Ming Lei <ming.lei@redhat.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Martin Wilck <mwilck@suse.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/bio.c