]> git.baikalelectronics.ru Git - kernel.git/commit
blk-merge: fix blk_bio_segment_split
authorMing Lei <ming.lei@canonical.com>
Tue, 24 Nov 2015 02:35:30 +0000 (10:35 +0800)
committerJens Axboe <axboe@fb.com>
Tue, 24 Nov 2015 03:16:53 +0000 (20:16 -0700)
commit57f26431d48921f86528a11e603417d0819e3843
tree697fced5154db2d7890d97a72f87cfa211345370
parent2461acdc88b481dd7f21ae8608c0a7e265d95c8a
blk-merge: fix blk_bio_segment_split

Commit 55d1b8b6a8605d(block: setup bi_phys_segments after
splitting) introduces function of computing bio->bi_phys_segments
during bio splitting.

Unfortunately both bio->bi_seg_front_size and bio->bi_seg_back_size
arn't computed, so too many physical segments may be obtained
for one request since both the two are used to check if one segment
across two bios can be possible.

This patch fixes the issue by computing the two variables in
blk_bio_segment_split().

Fixes: 55d1b8b6a8605d(block: setup bi_phys_segments after splitting)
Reported-by: Michael Ellerman <mpe@ellerman.id.au>
Reported-by: Mark Salter <msalter@redhat.com>
Tested-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
Tested-by: Mark Salter <msalter@redhat.com>
Signed-off-by: Ming Lei <ming.lei@canonical.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
block/blk-merge.c