cfdd023bed
* gnu/packages/patches/multipath-tools-sans-systemd.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/linux.scm (multipath-tools): Update to 0.8.4. [source](patches): New field. [arguments]: Add #:parallel-build?. Add phase to fix erroneous compiler warning.
83 lines
2.6 KiB
Diff
83 lines
2.6 KiB
Diff
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;
|