Do not treat 'transport-offline' paths as 'offline'
authorHannes Reinecke <hare@suse.de>
Wed, 23 Jul 2014 08:54:13 +0000 (10:54 +0200)
committerChristophe Varoqui <christophe.varoqui@opensvc.com>
Sun, 29 Mar 2015 16:00:05 +0000 (18:00 +0200)
'transport-offline' status is entered whenever the transport has
detected an offline device, but the SCSI midlayer still has
references to it.
Once the last reference drops the SCSI midlayer will properly
deregister the device and multipath will be updating the status.
But until then we should treat this device as simply 'path down',
and not marking it offline.
After all, some transports like FC will be entering the
'transport-offline' state after fast_io_fail triggered, and
might revert back to 'running' after reconfiguration.

References: bnc#888378

Signed-off-by: Hannes Reinecke <hare@suse.de>
libmultipath/discovery.c

index cf37813..899cbd5 100644 (file)
@@ -957,8 +957,7 @@ path_offline (struct path * pp)
 
        condlog(3, "%s: path state = %s", pp->dev, buff);
 
-       if (!strncmp(buff, "offline", 7) ||
-           !strncmp(buff, "transport-offline", 17)) {
+       if (!strncmp(buff, "offline", 7)) {
                pp->offline = 1;
                return PATH_DOWN;
        }