Use this helper, instead of direct access to .bi_vcnt.

Signed-off-by: Ming Lei <tom.leim...@gmail.com>
---
 drivers/md/raid1.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/md/raid1.c b/drivers/md/raid1.c
index 54ec32be3277..02cfece74981 100644
--- a/drivers/md/raid1.c
+++ b/drivers/md/raid1.c
@@ -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);
        if (unlikely(!bvecs))
                return;
@@ -1014,12 +1015,12 @@ static void alloc_behind_pages(struct bio *bio, struct 
r1bio *r1_bio)
                kunmap(bvec->bv_page);
        }
        r1_bio->behind_bvecs = bvecs;
-       r1_bio->behind_page_count = bio->bi_vcnt;
+       r1_bio->behind_page_count = vcnt;
        set_bit(R1BIO_BehindIO, &r1_bio->state);
        return;
 
 do_sync_io:
-       for (i = 0; i < bio->bi_vcnt; i++)
+       for (i = 0; i < vcnt; i++)
                if (bvecs[i].bv_page)
                        put_page(bvecs[i].bv_page);
        kfree(bvecs);
-- 
2.7.4

Reply via email to