Naohiro Aota 4977d121bc block: advance iov_iter on bio_add_hw_page failure
When the bio's size reaches max_append_sectors, bio_add_hw_page returns
0 then __bio_iov_append_get_pages returns -EINVAL. This is an expected
result of building a small enough bio not to be split in the IO path.
However, iov_iter is not advanced in this case, causing the same pages
are filled for the bio again and again.

Fix the case by properly advancing the iov_iter for already processed
pages.

Fixes: 0512a75b98f8 ("block: Introduce REQ_OP_ZONE_APPEND")
Cc: stable@vger.kernel.org # 5.8+
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: Naohiro Aota <naohiro.aota@wdc.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2020-10-28 07:51:02 -06:00
..
2020-10-13 12:12:44 -07:00
2020-08-18 07:48:08 -07:00
2020-10-13 12:12:44 -07:00
2020-08-18 07:48:08 -07:00
2020-08-18 07:48:08 -07:00
2020-10-13 12:12:44 -07:00
2020-09-03 15:20:47 -06:00
2020-03-17 20:55:21 +01:00
2020-10-24 12:46:42 -07:00
2020-10-13 12:12:44 -07:00
2020-05-29 16:30:39 -06:00
2020-09-23 09:18:13 -06:00
2020-01-03 09:33:21 +01:00
2020-10-05 10:38:33 -06:00
2020-09-25 08:18:57 -06:00
2020-10-13 13:04:41 -07:00
2020-01-06 20:59:04 -07:00