libmultipath: pathinfo: don't blank wwid if checker fails
authorMartin Wilck <mwilck@suse.com>
Fri, 2 Nov 2018 12:21:21 +0000 (13:21 +0100)
committerChristophe Varoqui <christophe.varoqui@opensvc.com>
Wed, 14 Nov 2018 07:21:41 +0000 (08:21 +0100)
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 checker failures which may be transient
or indicate a badly configured or otherwise malfunctioning checker.
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?

Reviewed-by: Benjamin Marzinski <bmarzins@redhat.com>
Signed-off-by: Martin Wilck <mwilck@suse.com>
libmultipath/discovery.c

index 5e59e27..a6159e4 100644 (file)
@@ -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) {