dm: consolidate target deregistration error handling
authorMikulas Patocka <mpatocka@redhat.com>
Tue, 6 Jan 2009 03:04:58 +0000 (03:04 +0000)
committerAlasdair G Kergon <agk@redhat.com>
Tue, 6 Jan 2009 03:04:58 +0000 (03:04 +0000)
commit10d3bd09a3c25df114f74f7f86e1b58d070bef32
treea44e2fe5ccc5950b87a1d31849e5f0ac24fdcc16
parentd460c65a6a9ec9e0d284864ec3a9a2d1b73f0e43
dm: consolidate target deregistration error handling

Change dm_unregister_target to return void and use BUG() for error
reporting.

dm_unregister_target can only fail because of programming bug in the
target driver. It can't fail because of user's behavior or disk errors.

This patch changes unregister_target to return void and use BUG if
someone tries to unregister non-registered target or unregister target
that is in use.

This patch removes code duplication (testing of error codes in all dm
targets) and reports bugs in just one place, in dm_unregister_target. In
some target drivers, these return codes were ignored, which could lead
to a situation where bugs could be missed.

Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
drivers/md/dm-crypt.c
drivers/md/dm-delay.c
drivers/md/dm-linear.c
drivers/md/dm-mpath.c
drivers/md/dm-raid1.c
drivers/md/dm-snap.c
drivers/md/dm-stripe.c
drivers/md/dm-target.c
drivers/md/dm-zero.c
include/linux/device-mapper.h