MEDIUM_NOT_PRESENT/TRAY-CLOSED/TRAY_OPEN is not an error that blocks a successful connect

This commit is contained in:
Ronnie Sahlberg
2012-07-12 18:55:35 +10:00
parent 837779541c
commit 6f4afb6edb
3 changed files with 9 additions and 1 deletions

View File

@@ -81,6 +81,8 @@ EXTERN const char *scsi_sense_key_str(int key);
#define SCSI_SENSE_ASCQ_LOGICAL_UNIT_NOT_SUPPORTED 0x2500 #define SCSI_SENSE_ASCQ_LOGICAL_UNIT_NOT_SUPPORTED 0x2500
#define SCSI_SENSE_ASCQ_BUS_RESET 0x2900 #define SCSI_SENSE_ASCQ_BUS_RESET 0x2900
#define SCSI_SENSE_ASCQ_MEDIUM_NOT_PRESENT 0x3a00 #define SCSI_SENSE_ASCQ_MEDIUM_NOT_PRESENT 0x3a00
#define SCSI_SENSE_ASCQ_MEDIUM_NOT_PRESENT_TRAY_CLOSED 0x3a01
#define SCSI_SENSE_ASCQ_MEDIUM_NOT_PRESENT_TRAY_OPEN 0x3a02
#define SCSI_SENSE_ASCQ_INTERNAL_TARGET_FAILURE 0x4400 #define SCSI_SENSE_ASCQ_INTERNAL_TARGET_FAILURE 0x4400
EXTERN const char *scsi_sense_ascq_str(int ascq); EXTERN const char *scsi_sense_ascq_str(int ascq);

View File

@@ -66,7 +66,9 @@ iscsi_testunitready_cb(struct iscsi_context *iscsi, int status,
/* Dont fail the login just because there is no medium in the device */ /* Dont fail the login just because there is no medium in the device */
if (status != 0 if (status != 0
&& task->sense.key == SCSI_SENSE_NOT_READY && task->sense.key == SCSI_SENSE_NOT_READY
&& task->sense.ascq == SCSI_SENSE_ASCQ_MEDIUM_NOT_PRESENT) { && (task->sense.ascq == SCSI_SENSE_ASCQ_MEDIUM_NOT_PRESENT
|| task->sense.ascq == SCSI_SENSE_ASCQ_MEDIUM_NOT_PRESENT_TRAY_CLOSED
|| task->sense.ascq == SCSI_SENSE_ASCQ_MEDIUM_NOT_PRESENT_TRAY_OPEN)) {
status = 0; status = 0;
} }

View File

@@ -143,6 +143,10 @@ scsi_sense_ascq_str(int ascq)
"LOGICAL_UNIT_NOT_SUPPORTED"}, "LOGICAL_UNIT_NOT_SUPPORTED"},
{SCSI_SENSE_ASCQ_MEDIUM_NOT_PRESENT, {SCSI_SENSE_ASCQ_MEDIUM_NOT_PRESENT,
"MEDIUM_NOT_PRESENT"}, "MEDIUM_NOT_PRESENT"},
{SCSI_SENSE_ASCQ_MEDIUM_NOT_PRESENT_TRAY_CLOSED,
"MEDIUM_NOT_PRESENT-TRAY_CLOSED"},
{SCSI_SENSE_ASCQ_MEDIUM_NOT_PRESENT_TRAY_OPEN,
"MEDIUM_NOT_PRESENT-TRAY_OPEN"},
{SCSI_SENSE_ASCQ_BUS_RESET, {SCSI_SENSE_ASCQ_BUS_RESET,
"BUS_RESET"}, "BUS_RESET"},
{SCSI_SENSE_ASCQ_INTERNAL_TARGET_FAILURE, {SCSI_SENSE_ASCQ_INTERNAL_TARGET_FAILURE,