[dm-devel] [PATCH 42/42] multipathd: lock vectors during initial configuration

Christophe Varoqui christophe.varoqui at gmail.com
Tue Jan 8 23:37:22 UTC 2013


On mar., 2013-01-08 at 14:54 +0100, Hannes Reinecke wrote:
> During initial configuration the CLI thread is already running,
> so we need to lock the vectors here to not race with the
> 'reconfigure' CLI command.
> 
Are you sure of the 41 - 42 patches ?

- 41 moves the vecs locking from reconfigure caller to reconfigure
- 42 removes the locking from reconfigure

Regards,
Christophe Varoqui
www.opensvc.com
 
> Signed-off-by: Hannes Reinecke <hare at suse.de>
> ---
>  multipathd/main.c |    4 +---
>  1 files changed, 1 insertions(+), 3 deletions(-)
> 
> diff --git a/multipathd/main.c b/multipathd/main.c
> index 395307e..8917499 100644
> --- a/multipathd/main.c
> +++ b/multipathd/main.c
> @@ -1389,7 +1389,6 @@ reconfigure (struct vectors * vecs)
>  	struct config * old = conf;
>  	int retval = 1;
>  
> -	lock(vecs->lock);
>  	/*
>  	 * free old map and path vectors ... they use old conf state
>  	 */
> @@ -1410,7 +1409,6 @@ reconfigure (struct vectors * vecs)
>  		retval = 0;
>  	}
>  
> -	unlock(vecs->lock);
>  	return retval;
>  }
>  
> @@ -1641,9 +1639,9 @@ child (void * param)
>  	/*
>  	 * fetch and configure both paths and multipaths
>  	 */
> -	lock(vecs->lock);
>  	running_state = DAEMON_CONFIGURE;
>  
> +	lock(vecs->lock);
>  	if (configure(vecs, 1)) {
>  		unlock(vecs->lock);
>  		condlog(0, "failure during configuration");






More information about the dm-devel mailing list