diff --git a/[refs] b/[refs] index 3a89f09196e2..ef62f1ccd4b2 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 7ff9345ffac56743b5001561bc2dc1e041b79149 +refs/heads/master: 1b4344986926da324b5cd10b683e5a1a5e1b7db3 diff --git a/trunk/fs/bio.c b/trunk/fs/bio.c index eb6b4683a265..1ab8986b0411 100644 --- a/trunk/fs/bio.c +++ b/trunk/fs/bio.c @@ -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/trunk/include/linux/bio.h b/trunk/include/linux/bio.h index d76e4bf22f29..9340098d75dc 100644 --- a/trunk/include/linux/bio.h +++ b/trunk/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;