2006-01-30 21:24:39

by Matthew Dobson

[permalink] [raw]
Subject: [patch 6/8] mempool - Use common mempool kzalloc allocator

plain text document attachment (mempool-use_kzalloc_allocator.patch)
This patch changes a mempool user, which is basically just a wrapper around
kzalloc(), to use the common mempool_kmalloc/kfree, rather than its own wrapper
function, removing duplicated code.

Signed-off-by: Matthew Dobson <[email protected]>

drivers/md/multipath.c | 17 ++---------------
1 files changed, 2 insertions(+), 15 deletions(-)

Index: linux-2.6.16-rc1-mm4+mempool_work/drivers/md/multipath.c
===================================================================
--- linux-2.6.16-rc1-mm4+mempool_work.orig/drivers/md/multipath.c
+++ linux-2.6.16-rc1-mm4+mempool_work/drivers/md/multipath.c
@@ -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",

--