summaryrefslogtreecommitdiffstats
path: root/drivers/md/dm-raid1.c
diff options
context:
space:
mode:
authorYangtao Li <frank.li@vivo.com>2023-03-18 21:16:33 +0800
committerMike Snitzer <snitzer@kernel.org>2023-04-11 12:01:01 -0400
commitb362c733ed7bf312ed729847bc26ba89febc556e (patch)
tree3aca88e86af3babc68dbdc97eaf13fad0e569efe /drivers/md/dm-raid1.c
parent6b79a428c02769f2a11f8ae76bf866226d134887 (diff)
downloadlinux-stable-b362c733ed7bf312ed729847bc26ba89febc556e.tar.gz
linux-stable-b362c733ed7bf312ed729847bc26ba89febc556e.tar.bz2
linux-stable-b362c733ed7bf312ed729847bc26ba89febc556e.zip
dm: push error reporting down to dm_register_target()
Simplifies each DM target's init method by making dm_register_target() responsible for its error reporting (on behalf of targets). Signed-off-by: Yangtao Li <frank.li@vivo.com> Signed-off-by: Mike Snitzer <snitzer@kernel.org>
Diffstat (limited to 'drivers/md/dm-raid1.c')
-rw-r--r--drivers/md/dm-raid1.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/drivers/md/dm-raid1.c b/drivers/md/dm-raid1.c
index bc417a5e5b89..3e947655746c 100644
--- a/drivers/md/dm-raid1.c
+++ b/drivers/md/dm-raid1.c
@@ -1498,23 +1498,19 @@ static struct target_type mirror_target = {
static int __init dm_mirror_init(void)
{
- int r = -ENOMEM;
+ int r;
dm_raid1_wq = alloc_workqueue("dm_raid1_wq", 0, 0);
if (!dm_raid1_wq)
- goto bad_target;
+ return -ENOMEM;
r = dm_register_target(&mirror_target);
if (r < 0) {
destroy_workqueue(dm_raid1_wq);
- goto bad_target;
+ return r;
}
return 0;
-
-bad_target:
- DMERR("Failed to register mirror target");
- return r;
}
static void __exit dm_mirror_exit(void)