|
@@ -35,18 +35,6 @@
|
|
|
#define NR_RESERVED_BUFS 32
|
|
|
|
|
|
|
|
|
-static void *mp_pool_alloc(gfp_t gfp_flags, void *data)
|
|
|
-{
|
|
|
- struct multipath_bh *mpb;
|
|
|
- mpb = kzalloc(sizeof(*mpb), gfp_flags);
|
|
|
- return mpb;
|
|
|
-}
|
|
|
-
|
|
|
-static void mp_pool_free(void *mpb, void *data)
|
|
|
-{
|
|
|
- kfree(mpb);
|
|
|
-}
|
|
|
-
|
|
|
static int multipath_map (multipath_conf_t *conf)
|
|
|
{
|
|
|
int i, disks = conf->raid_disks;
|
|
@@ -494,9 +482,8 @@ static int multipath_run (mddev_t *mddev)
|
|
|
}
|
|
|
mddev->degraded = conf->raid_disks = conf->working_disks;
|
|
|
|
|
|
- conf->pool = mempool_create(NR_RESERVED_BUFS,
|
|
|
- mp_pool_alloc, mp_pool_free,
|
|
|
- NULL);
|
|
|
+ conf->pool = mempool_create_kzalloc_pool(NR_RESERVED_BUFS,
|
|
|
+ sizeof(struct multipath_bh));
|
|
|
if (conf->pool == NULL) {
|
|
|
printk(KERN_ERR
|
|
|
"multipath: couldn't allocate memory for %s\n",
|