2015-11-30 08:05:57

by Ming Lei

[permalink] [raw]
Subject: [PATCH] blk-merge: fix computing bio->bi_seg_front_size in case of single segment

When bio has only one physical segment, we should set bio's
bi_seg_front_size as the real(final) size of the single segment.

Fixes: 02e707424c2ea(blk-merge: fix blk_bio_segment_split)
Reported-by: Markus Trippelsdorf <[email protected]>
Tested-by: Markus Trippelsdorf <[email protected]>
Signed-off-by: Ming Lei <[email protected]>
---
block/blk-merge.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/block/blk-merge.c b/block/blk-merge.c
index 41a55ba..e01405a 100644
--- a/block/blk-merge.c
+++ b/block/blk-merge.c
@@ -103,6 +103,9 @@ static struct bio *blk_bio_segment_split(struct request_queue *q,
bvprv = bv;
bvprvp = &bvprv;
sectors += bv.bv_len >> 9;
+
+ if (nsegs == 1 && seg_size > front_seg_size)
+ front_seg_size = seg_size;
continue;
}
new_segment:
--
1.9.1


2015-11-30 20:02:01

by Jens Axboe

[permalink] [raw]
Subject: Re: [PATCH] blk-merge: fix computing bio->bi_seg_front_size in case of single segment

On 11/30/2015 01:05 AM, Ming Lei wrote:
> When bio has only one physical segment, we should set bio's
> bi_seg_front_size as the real(final) size of the single segment.
>
> Fixes: 02e707424c2ea(blk-merge: fix blk_bio_segment_split)
> Reported-by: Markus Trippelsdorf <[email protected]>
> Tested-by: Markus Trippelsdorf <[email protected]>
> Signed-off-by: Ming Lei <[email protected]>

I'm going to fold this into the offending patch. Thanks Ming!

--
Jens Axboe

2015-11-30 20:03:09

by Jens Axboe

[permalink] [raw]
Subject: Re: [PATCH] blk-merge: fix computing bio->bi_seg_front_size in case of single segment

On 11/30/2015 01:01 PM, Jens Axboe wrote:
> On 11/30/2015 01:05 AM, Ming Lei wrote:
>> When bio has only one physical segment, we should set bio's
>> bi_seg_front_size as the real(final) size of the single segment.
>>
>> Fixes: 02e707424c2ea(blk-merge: fix blk_bio_segment_split)
>> Reported-by: Markus Trippelsdorf <[email protected]>
>> Tested-by: Markus Trippelsdorf <[email protected]>
>> Signed-off-by: Ming Lei <[email protected]>
>
> I'm going to fold this into the offending patch. Thanks Ming!

Applied separately, I mixed up two different patches. Applied for 4.4.

--
Jens Axboe