diff options
-rw-r--r-- | fs/bio.c | 9 |
1 files changed, 3 insertions, 6 deletions
@@ -77,11 +77,8 @@ struct bio_vec *bvec_alloc_bs(gfp_t gfp_mask, int nr, unsigned long *idx, struct | |||
77 | */ | 77 | */ |
78 | 78 | ||
79 | bvl = mempool_alloc(bs->bvec_pools[*idx], gfp_mask); | 79 | bvl = mempool_alloc(bs->bvec_pools[*idx], gfp_mask); |
80 | if (bvl) { | 80 | if (bvl) |
81 | struct biovec_slab *bp = bvec_slabs + *idx; | 81 | memset(bvl, 0, bvec_nr_vecs(*idx) * sizeof(struct bio_vec)); |
82 | |||
83 | memset(bvl, 0, bp->nr_vecs * sizeof(struct bio_vec)); | ||
84 | } | ||
85 | 82 | ||
86 | return bvl; | 83 | return bvl; |
87 | } | 84 | } |
@@ -149,7 +146,7 @@ struct bio *bio_alloc_bioset(gfp_t gfp_mask, int nr_iovecs, struct bio_set *bs) | |||
149 | goto out; | 146 | goto out; |
150 | } | 147 | } |
151 | bio->bi_flags |= idx << BIO_POOL_OFFSET; | 148 | bio->bi_flags |= idx << BIO_POOL_OFFSET; |
152 | bio->bi_max_vecs = bvec_slabs[idx].nr_vecs; | 149 | bio->bi_max_vecs = bvec_nr_vecs(idx); |
153 | } | 150 | } |
154 | bio->bi_io_vec = bvl; | 151 | bio->bi_io_vec = bvl; |
155 | } | 152 | } |