dm_stripe_init() doesn't pay attention to a failing target registration. Heinz Signed-off-by: Heinz Mauelshagen <heinzm@xxxxxxxxxx> --- diff -up linux-2.6.27.4/drivers/md/dm-stripe.c.orig1 linux-2.6.27.4/drivers/md/dm-stripe.c --- linux-2.6.27.4/drivers/md/dm-stripe.c.orig1 2008-10-26 00:05:07.000000000 +0200 +++ linux-2.6.27.4/drivers/md/dm-stripe.c 2008-10-31 16:05:12.000000000 +0100 @@ -322,12 +322,13 @@ int __init dm_stripe_init(void) r = dm_register_target(&stripe_target); if (r < 0) DMWARN("target registration failed"); - - kstriped = create_singlethread_workqueue("kstriped"); - if (!kstriped) { - DMERR("failed to create workqueue kstriped"); - dm_unregister_target(&stripe_target); - return -ENOMEM; + else { + kstriped = create_singlethread_workqueue("kstriped"); + if (!kstriped) { + DMERR("failed to create workqueue kstriped"); + dm_unregister_target(&stripe_target); + r = -ENOMEM; + } } return r; -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel