[dm-devel] [PATCH] libmultipath: get_prio(): really don't reset prio for inaccessible paths

Benjamin Marzinski bmarzins at redhat.com
Thu May 16 19:08:59 UTC 2019


On Thu, May 16, 2019 at 09:10:24AM +0200, Martin Wilck wrote:
> As pointed out by Ben Marzinski, my previous patch ebbb56f2 doesn't do what
> it pretends to do.
> 
> Fixes: ebbb56f2 "libmultipath: get_prio(): don't reset prio for inaccessible
> paths"

Reviewed-by: Benjamin Marzinski <bmarzins at redhat.com>

> ---
>  libmultipath/discovery.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/libmultipath/discovery.c b/libmultipath/discovery.c
> index b3dc60b1..856c52c6 100644
> --- a/libmultipath/discovery.c
> +++ b/libmultipath/discovery.c
> @@ -1648,10 +1648,11 @@ get_prio (struct path * pp)
>  		/* this changes pp->offline, but why not */
>  		int state = path_offline(pp);
>  
> -		if (state == PATH_DOWN || state == PATH_PENDING)
> +		if (state == PATH_DOWN || state == PATH_PENDING) {
> +			pp->priority = old_prio;
>  			condlog(3, "%s: %s prio error in state %d, keeping prio = %d",
>  				pp->dev, prio_name(p), state, pp->priority);
> -		else {
> +		} else {
>  			condlog(3, "%s: %s prio error in state %d",
>  				pp->dev, prio_name(p), state);
>  			pp->priority = PRIO_UNDEF;
> -- 
> 2.21.0




More information about the dm-devel mailing list