This allows the sd driver to retry commands like read capacity until a LUN is ready, rather than giving up after three retries. In NetApp E-Series, a controller can return not ready like this when it quiesces I/O on the controller that just came on the network, during a firmware upgrade procedure, and retrying the command at the midlayer will allow the discovery to complete, successfully. Signed-off-by: Sean Stewart <sean.stewart@xxxxxxxxxx> --- drivers/scsi/device_handler/scsi_dh_alua.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/scsi/device_handler/scsi_dh_alua.c b/drivers/scsi/device_handler/scsi_dh_alua.c index 5248c88..95d87fe 100644 --- a/drivers/scsi/device_handler/scsi_dh_alua.c +++ b/drivers/scsi/device_handler/scsi_dh_alua.c @@ -454,6 +454,11 @@ static int alua_check_sense(struct scsi_device *sdev, { switch (sense_hdr->sense_key) { case NOT_READY: + if (sense_hdr->asc == 0x04 && sense_hdr->ascq == 0x01) + /* + * LUN Not Ready -- In process of becoming ready + */ + return ADD_TO_MLQUEUE; if (sense_hdr->asc == 0x04 && sense_hdr->ascq == 0x0a) /* * LUN Not Accessible - ALUA state transition -- 1.8.3.1 -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html