bio: get rid of bio_vec clearing
We don't need to clear the memory used for adding bio_vec entries, since nobody should be looking at members unitialized. Any valid use should be below bio->bi_vcnt, and that members up until that count must be valid since they were added through bio_add_page(). Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
This commit is contained in:
Родитель
f735b5eeb9
Коммит
d3f761104b
6
fs/bio.c
6
fs/bio.c
|
@ -180,7 +180,7 @@ struct bio_vec *bvec_alloc_bs(gfp_t gfp_mask, int nr, unsigned long *idx,
|
|||
* kzalloc() for the exact number of vecs right away.
|
||||
*/
|
||||
if (!bs)
|
||||
bvl = kzalloc(nr * sizeof(struct bio_vec), gfp_mask);
|
||||
bvl = kmalloc(nr * sizeof(struct bio_vec), gfp_mask);
|
||||
|
||||
/*
|
||||
* see comment near bvec_array define!
|
||||
|
@ -237,9 +237,6 @@ fallback:
|
|||
}
|
||||
}
|
||||
|
||||
if (bvl)
|
||||
memset(bvl, 0, bvec_nr_vecs(*idx) * sizeof(struct bio_vec));
|
||||
|
||||
return bvl;
|
||||
}
|
||||
|
||||
|
@ -325,7 +322,6 @@ struct bio *bio_alloc_bioset(gfp_t gfp_mask, int nr_iovecs, struct bio_set *bs)
|
|||
idx = 0;
|
||||
bvl = bio->bi_inline_vecs;
|
||||
nr_iovecs = BIO_INLINE_VECS;
|
||||
memset(bvl, 0, BIO_INLINE_VECS * sizeof(*bvl));
|
||||
} else {
|
||||
bvl = bvec_alloc_bs(gfp_mask, nr_iovecs, &idx,
|
||||
bs);
|
||||
|
|
Загрузка…
Ссылка в новой задаче