[dm-devel] [PATCH 17/21] libmultipath: pathinfo: don't blank wwid if checker fails

Benjamin Marzinski bmarzins at redhat.com
Thu Oct 25 21:50:12 UTC 2018


On Fri, Oct 12, 2018 at 12:27:03AM +0200, Martin Wilck wrote:
> Blanking a WWID is a dangerous operation. E.g. configure() would
> consider the path in question as invalid and orphan it if the
> WWID is blank. Don't do this for possibly transient checker failures.
> Moreover, we try to determine WWID even if path_offline returns
> PATH_DOWN in the first place, so why should we not if the checker
> has a problem?
> 

Is PATH_WILD a transient error?  Clearly we have cases where
PATH_UNCHECKED happens because of a transient error. What's the case
that you are worried about where we temporarily get a PATH_WILD, but we
think we should continue will setting up the path?

> Signed-off-by: Martin Wilck <mwilck at suse.com>
> ---
>  libmultipath/discovery.c | 3 ---
>  1 file changed, 3 deletions(-)
> 
> diff --git a/libmultipath/discovery.c b/libmultipath/discovery.c
> index 3550c3a7..467ece7a 100644
> --- a/libmultipath/discovery.c
> +++ b/libmultipath/discovery.c
> @@ -1944,9 +1944,6 @@ int pathinfo(struct path *pp, struct config *conf, int mask)
>  		if (path_state == PATH_UP) {
>  			pp->chkrstate = pp->state = get_state(pp, conf, 0,
>  							      path_state);
> -			if (pp->state == PATH_UNCHECKED ||
> -			    pp->state == PATH_WILD)
> -				goto blank;
>  			if (pp->state == PATH_TIMEOUT)
>  				pp->state = PATH_DOWN;
>  			if (pp->state == PATH_UP && !pp->size) {
> -- 
> 2.19.0




More information about the dm-devel mailing list