[dm-devel] [PATCH] dm-multipath: patch to keep multipath working with new Clariion firmware
Benjamin Marzinski
bmarzins at redhat.com
Thu Apr 26 20:20:01 UTC 2007
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
-------------- next part --------------
diff -urpN a/libcheckers/emc_clariion.c b/libcheckers/emc_clariion.c
--- a/libcheckers/emc_clariion.c 2006-11-27 17:16:40.000000000 -0600
+++ b/libcheckers/emc_clariion.c 2007-04-26 15:08:22.000000000 -0500
@@ -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 "
diff -urpN a/path_priority/pp_emc/pp_emc.c b/path_priority/pp_emc/pp_emc.c
--- a/path_priority/pp_emc/pp_emc.c 2006-02-02 19:54:58.000000000 -0600
+++ b/path_priority/pp_emc/pp_emc.c 2007-04-26 15:08:22.000000000 -0500
@@ -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");
More information about the dm-devel
mailing list