Thread (31 messages) flat view 31 messages, 4 authors, 2017-02-17

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

From: Johannes Thumshirn <hidden>
Date: 2017-02-16 13:34:36
Also in: linux-block, lkml

On 02/16/2017 02:32 PM, Ming Lei wrote:
On Thu, Feb 16, 2017 at 8:35 PM, Johannes Thumshirn [off-list ref] wrote:
quoted
On 02/16/2017 12:45 PM, Ming Lei wrote:
quoted
@@ -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@suse.de                                +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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help