blk-merge: recaculate segment if it isn't less than max segments
authorMing Lei <tom.leiming@gmail.com>
Wed, 22 Oct 2014 00:30:30 +0000 (08:30 +0800)
committerJens Axboe <axboe@fb.com>
Wed, 22 Oct 2014 01:00:32 +0000 (19:00 -0600)
The problem is introduced by commit 764f612c6c3c231b(blk-merge:
don't compute bi_phys_segments from bi_vcnt for cloned bio),
and merge is needed if number of current segment isn't less than
max segments.

Strictly speaking, bio->bi_vcnt shouldn't be used here since
it may not be accurate in cases of both cloned bio or bio cloned
from, but bio_segments() is a bit expensive, and bi_vcnt is still
the biggest number, so the approach should work.

Signed-off-by: Ming Lei <tom.leiming@gmail.com>
Signed-off-by: Jens Axboe <axboe@fb.com>

No differences found