Re: [PATCH] AOE: fix up the block device registration so that itactually works now.

From: Ed L Cashin
Date: Wed Jan 19 2005 - 15:46:17 EST


Greg KH <greg@xxxxxxxxx> writes:

> Ed, I need the following patch against the latest -bk tree in order to
> get the aoe code to load and work properly. Does it look good to you?

I hadn't submitted all my changes correctly, sorry. Here's a patch
against block-2.6 that rectifies the omission.


Remove allow aoeblk_exit to be called from __init code, and move
register_blkdev into aoe_init.

Signed-off-by: Ed L. Cashin <ecashin@xxxxxxxxxx>

diff -uprN block-2.6-export-a/drivers/block/aoe/aoeblk.c b/drivers/block/aoe/aoeblk.c
--- block-2.6-export-a/drivers/block/aoe/aoeblk.c 2005-01-19 14:29:31.000000000 -0500
+++ patch-block-2.6-20050119-export/linux/drivers/block/aoe/aoeblk.c 2005-01-19 15:21:53.000000000 -0500
@@ -245,7 +252,7 @@ aoeblk_gdalloc(void *vp)
d->fw_ver, (long long)d->ssize);
}

-void __exit
+void
aoeblk_exit(void)
{
kmem_cache_destroy(buf_pool_cache);
@@ -254,19 +261,12 @@ aoeblk_exit(void)
int __init
aoeblk_init(void)
{
- int n;
-
buf_pool_cache = kmem_cache_create("aoe_bufs",
sizeof(struct buf),
0, 0, NULL, NULL);
if (buf_pool_cache == NULL)
return -ENOMEM;

- n = register_blkdev(AOE_MAJOR, DEVICE_NAME);
- if (n < 0) {
- printk(KERN_ERR "aoe: aoeblk_init: can't register major\n");
- return n;
- }
return 0;
}



--
Ed L Cashin <ecashin@xxxxxxxxxx>