Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Yangtao Li and committed by
Mike Snitzer
b362c733 6b79a428

+24 -107
-1
drivers/md/dm-cache-target.c
··· 3459 3459 3460 3460 r = dm_register_target(&cache_target); 3461 3461 if (r) { 3462 - DMERR("cache target registration failed: %d", r); 3463 3462 kmem_cache_destroy(migration_cache); 3464 3463 return r; 3465 3464 }
-1
drivers/md/dm-clone-target.c
··· 2204 2204 2205 2205 r = dm_register_target(&clone_target); 2206 2206 if (r < 0) { 2207 - DMERR("Failed to register clone target"); 2208 2207 kmem_cache_destroy(_hydration_cache); 2209 2208 return r; 2210 2209 }
+1 -7
drivers/md/dm-crypt.c
··· 3662 3662 3663 3663 static int __init dm_crypt_init(void) 3664 3664 { 3665 - int r; 3666 - 3667 - r = dm_register_target(&crypt_target); 3668 - if (r < 0) 3669 - DMERR("register failed %d", r); 3670 - 3671 - return r; 3665 + return dm_register_target(&crypt_target); 3672 3666 } 3673 3667 3674 3668 static void __exit dm_crypt_exit(void)
+1 -12
drivers/md/dm-delay.c
··· 370 370 371 371 static int __init dm_delay_init(void) 372 372 { 373 - int r; 374 - 375 - r = dm_register_target(&delay_target); 376 - if (r < 0) { 377 - DMERR("register failed %d", r); 378 - goto bad_register; 379 - } 380 - 381 - return 0; 382 - 383 - bad_register: 384 - return r; 373 + return dm_register_target(&delay_target); 385 374 } 386 375 387 376 static void __exit dm_delay_exit(void)
+1 -6
drivers/md/dm-dust.c
··· 573 573 574 574 static int __init dm_dust_init(void) 575 575 { 576 - int r = dm_register_target(&dust_target); 577 - 578 - if (r < 0) 579 - DMERR("dm_register_target failed %d", r); 580 - 581 - return r; 576 + return dm_register_target(&dust_target); 582 577 } 583 578 584 579 static void __exit dm_dust_exit(void)
+1 -6
drivers/md/dm-ebs-target.c
··· 455 455 456 456 static int __init dm_ebs_init(void) 457 457 { 458 - int r = dm_register_target(&ebs_target); 459 - 460 - if (r < 0) 461 - DMERR("register failed %d", r); 462 - 463 - return r; 458 + return dm_register_target(&ebs_target); 464 459 } 465 460 466 461 static void dm_ebs_exit(void)
+1 -9
drivers/md/dm-era-target.c
··· 1756 1756 1757 1757 static int __init dm_era_init(void) 1758 1758 { 1759 - int r; 1760 - 1761 - r = dm_register_target(&era_target); 1762 - if (r) { 1763 - DMERR("era target registration failed: %d", r); 1764 - return r; 1765 - } 1766 - 1767 - return 0; 1759 + return dm_register_target(&era_target); 1768 1760 } 1769 1761 1770 1762 static void __exit dm_era_exit(void)
+1 -6
drivers/md/dm-flakey.c
··· 509 509 510 510 static int __init dm_flakey_init(void) 511 511 { 512 - int r = dm_register_target(&flakey_target); 513 - 514 - if (r < 0) 515 - DMERR("register failed %d", r); 516 - 517 - return r; 512 + return dm_register_target(&flakey_target); 518 513 } 519 514 520 515 static void __exit dm_flakey_exit(void)
-1
drivers/md/dm-integrity.c
··· 4704 4704 4705 4705 r = dm_register_target(&integrity_target); 4706 4706 if (r < 0) { 4707 - DMERR("register failed %d", r); 4708 4707 kmem_cache_destroy(journal_io_cache); 4709 4708 return r; 4710 4709 }
+1 -6
drivers/md/dm-log-writes.c
··· 940 940 941 941 static int __init dm_log_writes_init(void) 942 942 { 943 - int r = dm_register_target(&log_writes_target); 944 - 945 - if (r < 0) 946 - DMERR("register failed %d", r); 947 - 948 - return r; 943 + return dm_register_target(&log_writes_target); 949 944 } 950 945 951 946 static void __exit dm_log_writes_exit(void)
+1 -4
drivers/md/dm-mpath.c
··· 2235 2235 } 2236 2236 2237 2237 r = dm_register_target(&multipath_target); 2238 - if (r < 0) { 2239 - DMERR("request-based register failed %d", r); 2240 - r = -EINVAL; 2238 + if (r < 0) 2241 2239 goto bad_register_target; 2242 - } 2243 2240 2244 2241 return 0; 2245 2242
+3 -7
drivers/md/dm-raid1.c
··· 1498 1498 1499 1499 static int __init dm_mirror_init(void) 1500 1500 { 1501 - int r = -ENOMEM; 1501 + int r; 1502 1502 1503 1503 dm_raid1_wq = alloc_workqueue("dm_raid1_wq", 0, 0); 1504 1504 if (!dm_raid1_wq) 1505 - goto bad_target; 1505 + return -ENOMEM; 1506 1506 1507 1507 r = dm_register_target(&mirror_target); 1508 1508 if (r < 0) { 1509 1509 destroy_workqueue(dm_raid1_wq); 1510 - goto bad_target; 1510 + return r; 1511 1511 } 1512 1512 1513 1513 return 0; 1514 - 1515 - bad_target: 1516 - DMERR("Failed to register mirror target"); 1517 - return r; 1518 1514 } 1519 1515 1520 1516 static void __exit dm_mirror_exit(void)
+3 -9
drivers/md/dm-snap.c
··· 2815 2815 } 2816 2816 2817 2817 r = dm_register_target(&snapshot_target); 2818 - if (r < 0) { 2819 - DMERR("snapshot target register failed %d", r); 2818 + if (r < 0) 2820 2819 goto bad_register_snapshot_target; 2821 - } 2822 2820 2823 2821 r = dm_register_target(&origin_target); 2824 - if (r < 0) { 2825 - DMERR("Origin target register failed %d", r); 2822 + if (r < 0) 2826 2823 goto bad_register_origin_target; 2827 - } 2828 2824 2829 2825 r = dm_register_target(&merge_target); 2830 - if (r < 0) { 2831 - DMERR("Merge target register failed %d", r); 2826 + if (r < 0) 2832 2827 goto bad_register_merge_target; 2833 - } 2834 2828 2835 2829 return 0; 2836 2830
+1 -7
drivers/md/dm-switch.c
··· 568 568 569 569 static int __init dm_switch_init(void) 570 570 { 571 - int r; 572 - 573 - r = dm_register_target(&switch_target); 574 - if (r < 0) 575 - DMERR("dm_register_target() failed %d", r); 576 - 577 - return r; 571 + return dm_register_target(&switch_target); 578 572 } 579 573 580 574 static void __exit dm_switch_exit(void)
+6 -3
drivers/md/dm-target.c
··· 85 85 int rv = 0; 86 86 87 87 down_write(&_lock); 88 - if (__find_target_type(tt->name)) 88 + if (__find_target_type(tt->name)) { 89 + DMERR("%s: '%s' target already registered", 90 + __func__, tt->name); 89 91 rv = -EEXIST; 90 - else 92 + } else { 91 93 list_add(&tt->list, &_targets); 92 - 94 + } 93 95 up_write(&_lock); 96 + 94 97 return rv; 95 98 } 96 99 EXPORT_SYMBOL(dm_register_target);
+1 -7
drivers/md/dm-verity-target.c
··· 1517 1517 1518 1518 static int __init dm_verity_init(void) 1519 1519 { 1520 - int r; 1521 - 1522 - r = dm_register_target(&verity_target); 1523 - if (r < 0) 1524 - DMERR("register failed %d", r); 1525 - 1526 - return r; 1520 + return dm_register_target(&verity_target); 1527 1521 } 1528 1522 1529 1523 static void __exit dm_verity_exit(void)
+1 -9
drivers/md/dm-writecache.c
··· 2776 2776 2777 2777 static int __init dm_writecache_init(void) 2778 2778 { 2779 - int r; 2780 - 2781 - r = dm_register_target(&writecache_target); 2782 - if (r < 0) { 2783 - DMERR("register failed %d", r); 2784 - return r; 2785 - } 2786 - 2787 - return 0; 2779 + return dm_register_target(&writecache_target); 2788 2780 } 2789 2781 2790 2782 static void __exit dm_writecache_exit(void)
+1 -6
drivers/md/dm-zero.c
··· 78 78 79 79 static int __init dm_zero_init(void) 80 80 { 81 - int r = dm_register_target(&zero_target); 82 - 83 - if (r < 0) 84 - DMERR("register failed %d", r); 85 - 86 - return r; 81 + return dm_register_target(&zero_target); 87 82 } 88 83 89 84 static void __exit dm_zero_exit(void)