]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
dm-mpath: make dm_unregister_path_selector return void
authorMikulas Patocka <mpatocka@redhat.com>
Mon, 30 Jun 2025 13:23:03 +0000 (15:23 +0200)
committerMikulas Patocka <mpatocka@redhat.com>
Mon, 30 Jun 2025 14:20:04 +0000 (16:20 +0200)
dm_unregister_path_selector may only return error if there's a bug in the
code - so we make it return void and print a warning if the user abuses
this function to unregister a target that was not registered.

Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
drivers/md/dm-path-selector.c
drivers/md/dm-path-selector.h
drivers/md/dm-ps-historical-service-time.c
drivers/md/dm-ps-io-affinity.c
drivers/md/dm-ps-queue-length.c
drivers/md/dm-ps-round-robin.c
drivers/md/dm-ps-service-time.c

index 3e4cb81ce512c72038211ceddc4c9df34be33cd9..d0b883fabfeb6f3011a7876183a1ce529a879adb 100644 (file)
@@ -117,16 +117,16 @@ int dm_register_path_selector(struct path_selector_type *pst)
 }
 EXPORT_SYMBOL_GPL(dm_register_path_selector);
 
-int dm_unregister_path_selector(struct path_selector_type *pst)
+void dm_unregister_path_selector(struct path_selector_type *pst)
 {
        struct ps_internal *psi;
 
        down_write(&_ps_lock);
 
        psi = __find_path_selector_type(pst->name);
-       if (!psi) {
+       if (WARN_ON(!psi)) {
                up_write(&_ps_lock);
-               return -EINVAL;
+               return;
        }
 
        list_del(&psi->list);
@@ -134,7 +134,5 @@ int dm_unregister_path_selector(struct path_selector_type *pst)
        up_write(&_ps_lock);
 
        kfree(psi);
-
-       return 0;
 }
 EXPORT_SYMBOL_GPL(dm_unregister_path_selector);
index 3861b2d8b963cd072f4edbd576c7a17879cc6700..7b2270532e64425bb743fd1198c409821f360f97 100644 (file)
@@ -96,7 +96,7 @@ struct path_selector_type {
 int dm_register_path_selector(struct path_selector_type *type);
 
 /* Unregister a path selector */
-int dm_unregister_path_selector(struct path_selector_type *type);
+void dm_unregister_path_selector(struct path_selector_type *type);
 
 /* Returns a registered path selector type */
 struct path_selector_type *dm_get_path_selector(const char *name);
index b49e10d76d03029b64750f9b4252b85b48e12853..9c58a72c6e55b3d3d8439848ce839061cde0ff98 100644 (file)
@@ -551,10 +551,7 @@ static int __init dm_hst_init(void)
 
 static void __exit dm_hst_exit(void)
 {
-       int r = dm_unregister_path_selector(&hst_ps);
-
-       if (r < 0)
-               DMERR("unregister failed %d", r);
+       dm_unregister_path_selector(&hst_ps);
 }
 
 module_init(dm_hst_init);
index 716807e511ee88a6841ea4c64a58e6fc2505678b..80415a045c68d80f607237fe4aaf61f38838210d 100644 (file)
@@ -260,10 +260,7 @@ static int __init dm_ioa_init(void)
 
 static void __exit dm_ioa_exit(void)
 {
-       int ret = dm_unregister_path_selector(&ioa_ps);
-
-       if (ret < 0)
-               DMERR("unregister failed %d", ret);
+       dm_unregister_path_selector(&ioa_ps);
 }
 
 module_init(dm_ioa_init);
index e305f05ad1e5e804c663560383fe5ec74b3f4a87..93812c0ecc32e11c5b9d842853118ad939008bb7 100644 (file)
@@ -270,10 +270,7 @@ static int __init dm_ql_init(void)
 
 static void __exit dm_ql_exit(void)
 {
-       int r = dm_unregister_path_selector(&ql_ps);
-
-       if (r < 0)
-               DMERR("unregister failed %d", r);
+       dm_unregister_path_selector(&ql_ps);
 }
 
 module_init(dm_ql_init);
index d1745b123dc19c2a16d194a5ea000a080de37e0d..c7f2869d8978caff819baa160302812cae0c915e 100644 (file)
@@ -230,10 +230,7 @@ static int __init dm_rr_init(void)
 
 static void __exit dm_rr_exit(void)
 {
-       int r = dm_unregister_path_selector(&rr_ps);
-
-       if (r < 0)
-               DMERR("unregister failed %d", r);
+       dm_unregister_path_selector(&rr_ps);
 }
 
 module_init(dm_rr_init);
index 969d31c40272e25bf9b6712e50f6796a5e9b9d1f..239c5850c2b1ed5fc52f2dcc75e8c16a8f9b9bb3 100644 (file)
@@ -351,10 +351,7 @@ static int __init dm_st_init(void)
 
 static void __exit dm_st_exit(void)
 {
-       int r = dm_unregister_path_selector(&st_ps);
-
-       if (r < 0)
-               DMERR("unregister failed %d", r);
+       dm_unregister_path_selector(&st_ps);
 }
 
 module_init(dm_st_init);