MEDIUM_NOT_PRESENT/TRAY-CLOSED/TRAY_OPEN is not an error that blocks a successful connect
This commit is contained in:
@@ -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_BUS_RESET 0x2900
|
||||
#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
|
||||
|
||||
EXTERN const char *scsi_sense_ascq_str(int ascq);
|
||||
|
||||
@@ -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 */
|
||||
if (status != 0
|
||||
&& 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;
|
||||
}
|
||||
|
||||
|
||||
@@ -143,6 +143,10 @@ scsi_sense_ascq_str(int ascq)
|
||||
"LOGICAL_UNIT_NOT_SUPPORTED"},
|
||||
{SCSI_SENSE_ASCQ_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,
|
||||
"BUS_RESET"},
|
||||
{SCSI_SENSE_ASCQ_INTERNAL_TARGET_FAILURE,
|
||||
|
||||
Reference in New Issue
Block a user