diff options
author | Jens Axboe <jens.axboe@oracle.com> | 2008-10-22 22:32:58 +0400 |
---|---|---|
committer | Jens Axboe <jens.axboe@oracle.com> | 2008-12-29 10:28:46 +0300 |
commit | 1b4344986926da324b5cd10b683e5a1a5e1b7db3 (patch) | |
tree | f196fad09555f32e4464df2ea4c8fea17ad99e76 | |
parent | 7ff9345ffac56743b5001561bc2dc1e041b79149 (diff) | |
download | linux-1b4344986926da324b5cd10b683e5a1a5e1b7db3.tar.xz |
bio: move the slab pointer inside the bio_set
In preparation for adding differently sized bios.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
-rw-r--r-- | fs/bio.c | 7 | ||||
-rw-r--r-- | include/linux/bio.h | 1 |
2 files changed, 6 insertions, 2 deletions
@@ -1404,12 +1404,15 @@ void bioset_free(struct bio_set *bs) struct bio_set *bioset_create(int bio_pool_size, int bvec_pool_size) { - struct bio_set *bs = kzalloc(sizeof(*bs), GFP_KERNEL); + struct bio_set *bs; + bs = kzalloc(sizeof(*bs), GFP_KERNEL); if (!bs) return NULL; - bs->bio_pool = mempool_create_slab_pool(bio_pool_size, bio_slab); + bs->bio_slab = bio_slab; + + bs->bio_pool = mempool_create_slab_pool(bio_pool_size, bs->bio_slab); if (!bs->bio_pool) goto bad; diff --git a/include/linux/bio.h b/include/linux/bio.h index d76e4bf22f29..9340098d75dc 100644 --- a/include/linux/bio.h +++ b/include/linux/bio.h @@ -400,6 +400,7 @@ static inline void bio_set_completion_cpu(struct bio *bio, unsigned int cpu) #define BIOVEC_MAX_IDX (BIOVEC_NR_POOLS - 1) struct bio_set { + struct kmem_cache *bio_slab; mempool_t *bio_pool; #if defined(CONFIG_BLK_DEV_INTEGRITY) mempool_t *bio_integrity_pool; |