[dm-devel] [PATCH 3/3] multipathd: fix compilation on systems without systemd

Anthony Iliopoulos ailiop at suse.com
Mon Oct 19 11:20:17 UTC 2020


Hide sd_notify_status as well as a bunch of variables that are specific
to systemd notifications behind ifdefs. This fixes compilation on
non-systemd environments due to -Werror and gcc detecting unused
variables and functions.

Signed-off-by: Anthony Iliopoulos <ailiop at suse.com>
---
 multipathd/main.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/multipathd/main.c b/multipathd/main.c
index 8baf9abe30a6..5dd256284f61 100644
--- a/multipathd/main.c
+++ b/multipathd/main.c
@@ -173,6 +173,7 @@ daemon_status(void)
 	return NULL;
 }
 
+#ifdef USE_SYSTEMD
 /*
  * I love you too, systemd ...
  */
@@ -195,7 +196,6 @@ sd_notify_status(enum daemon_status state)
 	return NULL;
 }
 
-#ifdef USE_SYSTEMD
 static void do_sd_notify(enum daemon_status old_state,
 			 enum daemon_status new_state)
 {
@@ -247,7 +247,9 @@ enum daemon_status wait_for_state_change_if(enum daemon_status oldstate,
 static void __post_config_state(enum daemon_status state)
 {
 	if (state != running_state && running_state != DAEMON_SHUTDOWN) {
+#ifdef USE_SYSTEMD
 		enum daemon_status old_state = running_state;
+#endif
 
 		running_state = state;
 		pthread_cond_broadcast(&config_cond);
@@ -272,7 +274,9 @@ int set_config_state(enum daemon_status state)
 	pthread_cleanup_push(config_cleanup, NULL);
 	pthread_mutex_lock(&config_lock);
 	if (running_state != state) {
+#ifdef USE_SYSTEMD
 		enum daemon_status old_state = running_state;
+#endif
 
 		if (running_state == DAEMON_SHUTDOWN)
 			rc = EINVAL;
@@ -2280,7 +2284,9 @@ checkerloop (void *ap)
 	struct timespec last_time;
 	struct config *conf;
 	int foreign_tick = 0;
+#ifdef USE_SYSTEMD
 	bool use_watchdog;
+#endif
 
 	pthread_cleanup_push(rcu_unregister, NULL);
 	rcu_register_thread();
@@ -2292,10 +2298,12 @@ checkerloop (void *ap)
 	get_monotonic_time(&last_time);
 	last_time.tv_sec -= 1;
 
+#ifdef USE_SYSTEMD
 	/* use_watchdog is set from process environment and never changes */
 	conf = get_multipath_config();
 	use_watchdog = conf->use_watchdog;
 	put_multipath_config(conf);
+#endif
 
 	while (1) {
 		struct timespec diff_time, start_time, end_time;
-- 
2.28.0





More information about the dm-devel mailing list