Missing sz update in status Missing dm_put_path_selector Missing statics --- diff/drivers/md/dm-mpath.c 2004-09-28 16:07:46.000000000 +0100 +++ source/drivers/md/dm-mpath.c 2004-09-28 16:11:40.000000000 +0100 @@ -164,7 +164,7 @@ INIT_WORK(&m->dispatch_failed, dispatch_failed_ios, m); INIT_WORK(&m->trigger_event, trigger_event, m); m->mpio_pool = mempool_create(MIN_IOS, mempool_alloc_slab, - mempool_free_slab, _mpio_cache); + mempool_free_slab, _mpio_cache); if (!m->mpio_pool) { kfree(m); return NULL; @@ -386,8 +386,7 @@ r = pst->ctr(&pg->ps); if (r) { - /* FIXME: need to put the pst ? fix after - * factoring out the register */ + dm_put_path_selector(pst); goto bad; } pg->ps.type = pst; @@ -607,7 +606,7 @@ spin_lock_irqsave(&p->failed_lock, flags); DMEMIT("%s %s %u ", buffer, p->has_failed ? "F" : "A", p->fail_count); - pg->ps.type->status(&pg->ps, p, type, + sz += pg->ps.type->status(&pg->ps, p, type, result + sz, maxlen - sz); spin_unlock_irqrestore(&p->failed_lock, flags); } @@ -624,7 +623,7 @@ list_for_each_entry(p, &pg->paths, list) { format_dev_t(buffer, p->dev->bdev->bd_dev); DMEMIT("%s ", buffer); - pg->ps.type->status(&pg->ps, p, type, + sz += pg->ps.type->status(&pg->ps, p, type, result + sz, maxlen - sz); } @@ -649,13 +648,13 @@ .status = multipath_status, }; -int __init dm_multipath_init(void) +static int __init dm_multipath_init(void) { int r; /* allocate a slab for the dm_ios */ _mpio_cache = kmem_cache_create("dm_mpath", sizeof(struct mpath_io), - 0, 0, NULL, NULL); + 0, 0, NULL, NULL); if (!_mpio_cache) return -ENOMEM; @@ -677,7 +676,7 @@ return r; } -void __exit dm_multipath_exit(void) +static void __exit dm_multipath_exit(void) { int r;