All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH for multipath-tools] Handle SCSI device states "quiesce" and "transport-offline" properly
@ 2013-02-14 14:17 Bart Van Assche
  2013-02-14 16:03 ` Mike Christie
  2013-02-14 18:02 ` Christophe Varoqui
  0 siblings, 2 replies; 3+ messages in thread
From: Bart Van Assche @ 2013-02-14 14:17 UTC (permalink / raw)
  To: dm-devel

Signed-off-by: Bart Van Assche <bvanassche@acm.org>
---
 libmultipath/discovery.c |    5 +++--
 libmultipath/structs.h   |    2 +-
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/libmultipath/discovery.c b/libmultipath/discovery.c
index 3fbc181..0b5fd1d 100644
--- a/libmultipath/discovery.c
+++ b/libmultipath/discovery.c
@@ -797,12 +797,13 @@ path_offline (struct path * pp)
 
 	condlog(3, "%s: path state = %s", pp->dev, buff);
 
-	if (!strncmp(buff, "offline", 7)) {
+	if (!strncmp(buff, "offline", 7) ||
+	    !strncmp(buff, "transport-offline", 17)) {
 		pp->offline = 1;
 		return PATH_DOWN;
 	}
 	pp->offline = 0;
-	if (!strncmp(buff, "blocked", 7))
+	if (!strncmp(buff, "blocked", 7) || !strncmp(buff, "quiesce", 7))
 		return PATH_PENDING;
 	else if (!strncmp(buff, "running", 7))
 		return PATH_UP;
diff --git a/libmultipath/structs.h b/libmultipath/structs.h
index ab05a78..b9ace36 100644
--- a/libmultipath/structs.h
+++ b/libmultipath/structs.h
@@ -20,7 +20,7 @@
 #define SCSI_VENDOR_SIZE	9
 #define SCSI_PRODUCT_SIZE	17
 #define SCSI_REV_SIZE		5
-#define SCSI_STATE_SIZE		9
+#define SCSI_STATE_SIZE		19
 
 #define NO_PATH_RETRY_UNDEF	0
 #define NO_PATH_RETRY_FAIL	-1
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-02-14 18:02 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-02-14 14:17 [PATCH for multipath-tools] Handle SCSI device states "quiesce" and "transport-offline" properly Bart Van Assche
2013-02-14 16:03 ` Mike Christie
2013-02-14 18:02 ` Christophe Varoqui

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.