Преглед изворни кода

[SCSI] scsi dh alua: handle report luns data changed in check sense callout

When we switch controllers the Intel Multi-Flex reports
REPORTED_LUNS_DATA_HAS_CHANGED. This patch just has us
retry the command.

Signed-off-by: Ilgu Hong <ilgu.hong@promise.com>
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Ilgu Hong пре 16 година
родитељ
комит
4d086f6baf
1 измењених фајлова са 9 додато и 0 уклоњено
  1. 9 0
      drivers/scsi/device_handler/scsi_dh_alua.c

+ 9 - 0
drivers/scsi/device_handler/scsi_dh_alua.c

@@ -461,6 +461,15 @@ static int alua_check_sense(struct scsi_device *sdev,
 			 */
 			return ADD_TO_MLQUEUE;
 		}
+		if (sense_hdr->asc == 0x3f && sense_hdr->ascq == 0x0e) {
+			/*
+			 * REPORTED_LUNS_DATA_HAS_CHANGED is reported
+			 * when switching controllers on targets like
+			 * Intel Multi-Flex. We can just retry.
+			 */
+			return ADD_TO_MLQUEUE;
+		}
+
 		break;
 	}