bio: get rid of bio_vec clearing
authorJens Axboe <jens.axboe@oracle.com>
Tue, 23 Dec 2008 11:46:21 +0000 (12:46 +0100)
committerJens Axboe <jens.axboe@oracle.com>
Mon, 29 Dec 2008 07:29:53 +0000 (08:29 +0100)
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>
fs/bio.c

index 75e6be18ecd3d762fc760c66b8fbf98e90498154..711cee10360273cd76c535ed346060a7a32f7c29 100644 (file)
--- a/fs/bio.c
+++ b/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);