Re: [PATCH 13/17] md: raid1: use bio_segments_all()

From: Johannes Thumshirn
Date: Thu Feb 16 2017 - 08:34:45 EST


On 02/16/2017 02:32 PM, Ming Lei wrote:
> On Thu, Feb 16, 2017 at 8:35 PM, Johannes Thumshirn <jthumshirn@xxxxxxx> wrote:
>> On 02/16/2017 12:45 PM, Ming Lei wrote:
>>> @@ -998,7 +998,8 @@ static void alloc_behind_pages(struct bio *bio, struct r1bio *r1_bio)
>>> {
>>> int i;
>>> struct bio_vec *bvec;
>>> - struct bio_vec *bvecs = kzalloc(bio->bi_vcnt * sizeof(struct bio_vec),
>>> + unsigned vcnt = bio_segments_all(bio);
>>> + struct bio_vec *bvecs = kzalloc(vcnt * sizeof(struct bio_vec),
>>> GFP_NOIO);
>>
>> Maybe use kcalloc() instead of kzalloc() with a multiplication.
>
> That doesn't belong to this patch, which just wants to remove direct
> access to .bi_vcnt.

But you're touching it anyways, aren't you?


--
Johannes Thumshirn Storage
jthumshirn@xxxxxxx +49 911 74053 689
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 NÃrnberg
GF: Felix ImendÃrffer, Jane Smithard, Graham Norton
HRB 21284 (AG NÃrnberg)
Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850