diff options
Diffstat (limited to 'gnu/packages/patches/multipath-tools-sans-systemd.patch')
-rw-r--r-- | gnu/packages/patches/multipath-tools-sans-systemd.patch | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/gnu/packages/patches/multipath-tools-sans-systemd.patch b/gnu/packages/patches/multipath-tools-sans-systemd.patch new file mode 100644 index 0000000000..8f3144718c --- /dev/null +++ b/gnu/packages/patches/multipath-tools-sans-systemd.patch @@ -0,0 +1,83 @@ +Fix various compiler warnings when built without systemd. + +Submitted upstream at <https://www.redhat.com/archives/dm-devel/2020-May/thread.html>. + +diff --git a/libmultipath/config.c b/libmultipath/config.c +--- a/libmultipath/config.c ++++ b/libmultipath/config.c +@@ -696,7 +696,7 @@ process_config_dir(struct config *conf, char *dir) + pthread_cleanup_pop(1); + } + +-static void set_max_checkint_from_watchdog(struct config *conf) ++static void set_max_checkint_from_watchdog(__attribute__((unused)) struct config *conf) + { + #ifdef USE_SYSTEMD + char *envp = getenv("WATCHDOG_USEC"); +diff --git a/multipathd/main.c b/multipathd/main.c +--- a/multipathd/main.c ++++ b/multipathd/main.c +@@ -176,6 +176,7 @@ daemon_status(void) + /* + * I love you too, systemd ... + */ ++#ifdef USE_SYSTEMD + static const char * + sd_notify_status(enum daemon_status state) + { +@@ -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) { +- enum daemon_status old_state = running_state; ++ /* save state for sd_notify */ ++ enum daemon_status ++ __attribute__((unused)) old_state = running_state; + + 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) { +- enum daemon_status old_state = running_state; ++ /* save state for sd_notify */ ++ enum daemon_status ++ __attribute__((unused)) old_state = running_state; + + if (running_state == DAEMON_SHUTDOWN) + rc = EINVAL; +@@ -2280,7 +2284,6 @@ checkerloop (void *ap) + struct timespec last_time; + struct config *conf; + int foreign_tick = 0; +- bool use_watchdog; + + pthread_cleanup_push(rcu_unregister, NULL); + rcu_register_thread(); +@@ -2292,11 +2295,15 @@ checkerloop (void *ap) + get_monotonic_time(&last_time); + last_time.tv_sec -= 1; + +- /* use_watchdog is set from process environment and never changes */ + conf = get_multipath_config(); +- use_watchdog = conf->use_watchdog; + put_multipath_config(conf); + ++#ifdef USE_SYSTEMD ++ /* use_watchdog is set from process environment and never changes */ ++ bool use_watchdog; ++ use_watchdog = conf->use_watchdog; ++#endif ++ + while (1) { + struct timespec diff_time, start_time, end_time; + int num_paths = 0, strict_timing, rc = 0; |