Skip to contentSkip to conversation

dm-multipath: patch to keep multipath working with new Clariion firmware

PATCH New Benjamin Marzinski 1 participant 1 message Apr 26, 2007 Device mapper

lore
Share & tools
lore

Benjamin Marzinski

author maintainer
#0 lore raw

PATCH 1/1 dm-multipath: patch to keep multipath working with new Clariion firmware

This is the patch that EMC posted in the redhat bugzilla #231545, to deal with their new Clariion firmware that supports ALUA mode. It simply allows multipath to continue running with in the way in currently does.

-Ben

libcheckers/emc_clariion.c +6 -2
diff -urpN a/libcheckers/emc_clariion.c b/libcheckers/emc_clariion.c
@@ -129,8 +129,12 @@ int emc_clariion(struct checker * c)
 
 	if ( /* Effective initiator type */
 	    	sense_buffer[27] != 0x03
-		/* Failover mode should be set to 1 */        
-		|| (sense_buffer[28] & 0x07) != 0x04
+		/*
+		 * Failover mode should be set to 1 (PNR failover mode)
+		 * or 4 (ALUA failover mode).
+		 */
+		|| (((sense_buffer[28] & 0x07) != 0x04) &&
+		    ((sense_buffer[28] & 0x07) != 0x06))
 		/* Arraycommpath should be set to 1 */
 		|| (sense_buffer[30] & 0x04) != 0x04) {
 		MSG(c, "emc_clariion_checker: Path not correctly configured "
path_priority/pp_emc/pp_emc.c +6 -2
diff -urpN a/path_priority/pp_emc/pp_emc.c b/path_priority/pp_emc/pp_emc.c
@@ -60,8 +60,12 @@ int emc_clariion_prio(const char *dev)
 	
 	if ( /* Effective initiator type */
 	    	sense_buffer[27] != 0x03
-		/* Failover mode should be set to 1 */        
-		|| (sense_buffer[28] & 0x07) != 0x04
+		/*
+		 * Failover mode should be set to 1 (PNR failover mode)
+		 * or 4 (ALUA failover mode).
+		 */
+		|| (((sense_buffer[28] & 0x07) != 0x04) &&
+		    ((sense_buffer[28] & 0x07) != 0x06))
 		/* Arraycommpath should be set to 1 */
 		|| (sense_buffer[30] & 0x04) != 0x04) {
 		fprintf(stderr, "Path not correctly configured for failover");