aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIlgu Hong <ilgu.hong@promise.com>2009-01-30 18:00:11 -0500
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2009-03-12 13:58:11 -0400
commit4d086f6baf73c02d12482c27c9f1e0682825ca13 (patch)
tree4d3801202802b4ed7347f71003a253c2a5f6e2d9
parent49baef0a5dc3c964601c656c1bb2c3458a6934c6 (diff)
[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>
-rw-r--r--drivers/scsi/device_handler/scsi_dh_alua.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/scsi/device_handler/scsi_dh_alua.c b/drivers/scsi/device_handler/scsi_dh_alua.c
index 31e1df5c366..dba154c8ff6 100644
--- a/drivers/scsi/device_handler/scsi_dh_alua.c
+++ b/drivers/scsi/device_handler/scsi_dh_alua.c
@@ -461,6 +461,15 @@ static int alua_check_sense(struct scsi_device *sdev,
461 */ 461 */
462 return ADD_TO_MLQUEUE; 462 return ADD_TO_MLQUEUE;
463 } 463 }
464 if (sense_hdr->asc == 0x3f && sense_hdr->ascq == 0x0e) {
465 /*
466 * REPORTED_LUNS_DATA_HAS_CHANGED is reported
467 * when switching controllers on targets like
468 * Intel Multi-Flex. We can just retry.
469 */
470 return ADD_TO_MLQUEUE;
471 }
472
464 break; 473 break;
465 } 474 }
466 475