]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
dm: add missing del_gendisk to alloc_dev error path
authorZdenek Kabelac <zkabelac@redhat.com>
Fri, 16 Oct 2009 22:18:15 +0000 (23:18 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 10 Nov 2009 00:22:05 +0000 (16:22 -0800)
commit 03022c54b9725026c0370a810168975c387ad04c upstream.

Add missing del_gendisk() to error path when creation of workqueue fails.
Otherwice there is a resource leak and following warning is shown:

WARNING: at fs/sysfs/dir.c:487 sysfs_add_one+0xc5/0x160()
sysfs: cannot create duplicate filename '/devices/virtual/block/dm-0'

Signed-off-by: Zdenek Kabelac <zkabelac@redhat.com>
Reviewed-by: Jonathan Brassow <jbrassow@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/md/dm.c

index b4845b14740d6f2bb43470d7fe5f35eaf3864d07..bf5961df5481b44c80064600acf9caa204138f88 100644 (file)
@@ -1819,6 +1819,7 @@ static struct mapped_device *alloc_dev(int minor)
 bad_bdev:
        destroy_workqueue(md->wq);
 bad_thread:
+       del_gendisk(md->disk);
        put_disk(md->disk);
 bad_disk:
        blk_cleanup_queue(md->queue);