Explorar o código

[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 %!s(int64=16) %!d(string=hai) anos
pai
achega
4d086f6baf
Modificáronse 1 ficheiros con 9 adicións e 0 borrados
  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;
 			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;
 		break;
 	}
 	}