Re: [PATCH] AOE: fix up the block device registration so that itactually works now.
From: Ed L Cashin
Date: Thu Jan 20 2005 - 08:39:28 EST
Greg KH <greg@xxxxxxxxx> writes:
> On Wed, Jan 19, 2005 at 09:08:14AM -0500, Ed L Cashin wrote:
>> > diff -Nru a/drivers/block/aoe/aoeblk.c b/drivers/block/aoe/aoeblk.c
>> > --- a/drivers/block/aoe/aoeblk.c 2005-01-18 16:06:57 -08:00
>> > +++ b/drivers/block/aoe/aoeblk.c 2005-01-18 16:06:57 -08:00
>> > @@ -249,6 +249,7 @@
>> > aoeblk_exit(void)
>> > {
>> > kmem_cache_destroy(buf_pool_cache);
>> > + unregister_blkdev(AOE_MAJOR, DEVICE_NAME);
>> > }
>>
>> The unregister_blkdev should already be in aoemain.c:aoe_exit.
>
> Why? You do a register_blockdev() in this file, so if something fails,
> you should also unregister here.
No, the register_blkdev that you see in aoeblk.c is the artifact of a
snafu I made in patch submission. I submitted a small patch yesterday
(ID below) that corrects the snafu and makes block-2.6 the same as the
driver I have.
Message-ID: <87mzv5m9pl.fsf@xxxxxxxxxx>
In the current aoe driver, register_blkdev is only in
aoemain.c:aoe_init, and that register_blkdev is the last step in the
initialization sequence. If register_blkdev fails, then I don't
unregister_blkdev, because presumably I shouldn't undo something that
wasn't done.
> The big problem is you were trying to
> register the same major twice :(
That's because two snippets of my recent fixes got orphaned (my fault)
instead of getting included in the submitted patches, so instead of my
patches moving register_blkdev it got duplicated. The patch I sent
yesterday corrects the problem and brings block-2.6 back into
accordance with what I've got. Sorry for the confusion.
--
Ed L Cashin <ecashin@xxxxxxxxxx>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/