* 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;
 |