mirror of https://gitee.com/openkylin/linux.git
[SCSI] scsi_dh_alua: Add one more check-condition for alua handler
This patch adds one more check-condition for scsi_dh_alua handler. Without this, the handler attach fails sometimes during the discovery. I have noticed this with NetApp E-Series storage with alua mode. Also removed some unnecessary brackets {} for consistency. Signed-off-by: Babu Moger <babu.moger@netapp.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
This commit is contained in:
parent
14ed9cc7e7
commit
bf81973a5d
|
@ -465,27 +465,28 @@ static int alua_check_sense(struct scsi_device *sdev,
|
|||
* Power On, Reset, or Bus Device Reset, just retry.
|
||||
*/
|
||||
return ADD_TO_MLQUEUE;
|
||||
if (sense_hdr->asc == 0x2a && sense_hdr->ascq == 0x06) {
|
||||
if (sense_hdr->asc == 0x2a && sense_hdr->ascq == 0x06)
|
||||
/*
|
||||
* ALUA state changed
|
||||
*/
|
||||
return ADD_TO_MLQUEUE;
|
||||
}
|
||||
if (sense_hdr->asc == 0x2a && sense_hdr->ascq == 0x07) {
|
||||
if (sense_hdr->asc == 0x2a && sense_hdr->ascq == 0x07)
|
||||
/*
|
||||
* Implicit ALUA state transition failed
|
||||
*/
|
||||
return ADD_TO_MLQUEUE;
|
||||
}
|
||||
if (sense_hdr->asc == 0x3f && sense_hdr->ascq == 0x0e) {
|
||||
if (sense_hdr->asc == 0x3f && sense_hdr->ascq == 0x03)
|
||||
/*
|
||||
* Inquiry data has changed
|
||||
*/
|
||||
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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue