2020-10-14 21:36:17 +00:00
|
|
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
|
|
From: Martin Wilck <mwilck@suse.com>
|
2021-01-21 16:56:27 +00:00
|
|
|
Date: Tue, 22 Sep 2020 14:23:14 +0200
|
2020-10-14 21:36:17 +00:00
|
|
|
Subject: [PATCH] libmpathpersist: call libmultipath_{init,exit}()
|
|
|
|
|
|
|
|
Have libmpathpersist_{init,exit} do the udev initialization, too.
|
|
|
|
|
2021-01-21 16:56:27 +00:00
|
|
|
Reviewed-by: Benjamin Marzinski <bmarzins@redhat.com>
|
2020-10-14 21:36:17 +00:00
|
|
|
Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
|
|
|
|
---
|
2021-01-21 16:56:27 +00:00
|
|
|
libmpathpersist/mpath_persist.c | 11 ++++++++---
|
2020-10-14 21:36:17 +00:00
|
|
|
libmpathpersist/mpath_persist.h | 9 ++++++---
|
2021-01-21 16:56:27 +00:00
|
|
|
2 files changed, 14 insertions(+), 6 deletions(-)
|
2020-10-14 21:36:17 +00:00
|
|
|
|
|
|
|
diff --git a/libmpathpersist/mpath_persist.c b/libmpathpersist/mpath_persist.c
|
2021-01-21 16:56:27 +00:00
|
|
|
index febf4758..e1d1cb76 100644
|
2020-10-14 21:36:17 +00:00
|
|
|
--- a/libmpathpersist/mpath_persist.c
|
|
|
|
+++ b/libmpathpersist/mpath_persist.c
|
|
|
|
@@ -48,6 +48,10 @@ int libmpathpersist_init(void)
|
|
|
|
struct config *conf;
|
|
|
|
int rc = 0;
|
|
|
|
|
|
|
|
+ if (libmultipath_init()) {
|
|
|
|
+ condlog(0, "Failed to initialize libmultipath.");
|
|
|
|
+ return 1;
|
|
|
|
+ }
|
|
|
|
if (init_config(DEFAULT_CONFIGFILE)) {
|
|
|
|
condlog(0, "Failed to initialize multipath config.");
|
|
|
|
return 1;
|
2021-01-21 16:56:27 +00:00
|
|
|
@@ -74,23 +78,24 @@ mpath_lib_init (void)
|
2020-10-14 21:36:17 +00:00
|
|
|
|
|
|
|
static void libmpathpersist_cleanup(void)
|
|
|
|
{
|
|
|
|
- dm_lib_exit();
|
|
|
|
cleanup_prio();
|
|
|
|
cleanup_checkers();
|
|
|
|
+ libmultipath_exit();
|
|
|
|
+ dm_lib_exit();
|
|
|
|
}
|
|
|
|
|
|
|
|
int
|
|
|
|
mpath_lib_exit (struct config *conf)
|
|
|
|
{
|
|
|
|
- libmpathpersist_cleanup();
|
|
|
|
free_config(conf);
|
|
|
|
+ libmpathpersist_cleanup();
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
int libmpathpersist_exit(void)
|
|
|
|
{
|
|
|
|
- libmpathpersist_cleanup();
|
|
|
|
uninit_config();
|
|
|
|
+ libmpathpersist_cleanup();
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
diff --git a/libmpathpersist/mpath_persist.h b/libmpathpersist/mpath_persist.h
|
|
|
|
index 91606efc..5435eae4 100644
|
|
|
|
--- a/libmpathpersist/mpath_persist.h
|
|
|
|
+++ b/libmpathpersist/mpath_persist.h
|
|
|
|
@@ -176,7 +176,8 @@ struct prout_param_descriptor { /* PROUT parameter descriptor */
|
|
|
|
* Initialize device mapper multipath configuration. This function must be invoked first
|
|
|
|
* before performing reservation management functions.
|
|
|
|
* Either this function or mpath_lib_init() may be used.
|
|
|
|
- * Use this function to work with libmultipath's internal "struct config".
|
|
|
|
+ * Use this function to work with libmultipath's internal "struct config"
|
|
|
|
+ * and "struct udev". The latter will be initialized automatically.
|
|
|
|
* Call libmpathpersist_exit() for cleanup.
|
|
|
|
* RESTRICTIONS:
|
|
|
|
*
|
|
|
|
@@ -189,7 +190,8 @@ extern int libmpathpersist_init (void);
|
|
|
|
* Initialize device mapper multipath configuration. This function must be invoked first
|
|
|
|
* before performing reservation management functions.
|
|
|
|
* Either this function or libmpathpersist_init() may be used.
|
|
|
|
- * Use this function to work with an application-specific "struct config".
|
|
|
|
+ * Use this function to work with an application-specific "struct config"
|
|
|
|
+ * and "struct udev". The latter must be initialized by the application.
|
|
|
|
* Call mpath_lib_exit() for cleanup.
|
|
|
|
* RESTRICTIONS:
|
|
|
|
*
|
|
|
|
@@ -211,9 +213,10 @@ extern int mpath_lib_exit (struct config *conf);
|
|
|
|
|
|
|
|
/*
|
|
|
|
* DESCRIPTION :
|
|
|
|
- * Release device mapper multipath configuration. This function must be invoked after
|
|
|
|
+ * Release device mapper multipath configuration a. This function must be invoked after
|
|
|
|
* performing reservation management functions.
|
|
|
|
* Use this after initialization with libmpathpersist_init().
|
|
|
|
+ * Calling libmpathpersist_init() after libmpathpersist_exit() will fail.
|
|
|
|
* RESTRICTIONS:
|
|
|
|
*
|
|
|
|
* RETURNS: 0->Success, 1->Failed.
|
|
|
|
--
|
|
|
|
2.17.2
|
|
|
|
|