Commit f8627235 authored by Mikulas Patocka's avatar Mikulas Patocka
Browse files

dm-mpath: make dm_unregister_path_selector return void



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: default avatarMikulas Patocka <mpatocka@redhat.com>
parent ebbd1769
Loading
Loading
Loading
Loading
+3 −5
Original line number Diff line number Diff line
@@ -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);
+1 −1
Original line number Diff line number Diff line
@@ -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);
+1 −4
Original line number Diff line number Diff line
@@ -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);
+1 −4
Original line number Diff line number Diff line
@@ -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);
+1 −4
Original line number Diff line number Diff line
@@ -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);
Loading