]> git.baikalelectronics.ru Git - kernel.git/commit
block: ensure to split after potentially bouncing a bio
authorJunichi Nomura <j-nomura@ce.jp.nec.com>
Tue, 22 Dec 2015 17:23:44 +0000 (10:23 -0700)
committerJens Axboe <axboe@fb.com>
Tue, 22 Dec 2015 17:26:53 +0000 (10:26 -0700)
commitc1d984d52addd10bb66bfe302f9ace3f6c57d5ad
tree39614e2d840c745b28d09adb14f3761082beb75b
parentad61493cf384a1c9b2cff71c3dd903554ffc82c2
block: ensure to split after potentially bouncing a bio

blk_queue_bio() does split then bounce, which makes the segment
counting based on pages before bouncing and could go wrong. Move
the split to after bouncing, like we do for blk-mq, and the we
fix the issue of having the bio count for segments be wrong.

Fixes: 9ffb222c0dbc ("block: make generic_make_request handle arbitrarily sized bios")
Cc: stable@vger.kernel.org
Tested-by: Artem S. Tashkinov <t.artem@lycos.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
block/blk-core.c