Browse Source

target: add SAM_STAT_BUSY sense reason

Add SAM_STAT_BUSY sense_reason. The next patch will have
target_core_user return this value while it is temporarily
blocked and restarting.

Signed-off-by: Mike Christie <mchristi@redhat.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Mike Christie 7 years ago
parent
commit
d120c7083f
2 changed files with 4 additions and 0 deletions
  1. 3 0
      drivers/target/target_core_transport.c
  2. 1 0
      include/target/target_core_base.h

+ 3 - 0
drivers/target/target_core_transport.c

@@ -1774,6 +1774,9 @@ void transport_generic_request_failure(struct se_cmd *cmd,
 	case TCM_OUT_OF_RESOURCES:
 	case TCM_OUT_OF_RESOURCES:
 		cmd->scsi_status = SAM_STAT_TASK_SET_FULL;
 		cmd->scsi_status = SAM_STAT_TASK_SET_FULL;
 		goto queue_status;
 		goto queue_status;
+	case TCM_LUN_BUSY:
+		cmd->scsi_status = SAM_STAT_BUSY;
+		goto queue_status;
 	case TCM_RESERVATION_CONFLICT:
 	case TCM_RESERVATION_CONFLICT:
 		/*
 		/*
 		 * No SENSE Data payload for this case, set SCSI Status
 		 * No SENSE Data payload for this case, set SCSI Status

+ 1 - 0
include/target/target_core_base.h

@@ -183,6 +183,7 @@ enum tcm_sense_reason_table {
 	TCM_TOO_MANY_SEGMENT_DESCS		= R(0x1b),
 	TCM_TOO_MANY_SEGMENT_DESCS		= R(0x1b),
 	TCM_UNSUPPORTED_SEGMENT_DESC_TYPE_CODE	= R(0x1c),
 	TCM_UNSUPPORTED_SEGMENT_DESC_TYPE_CODE	= R(0x1c),
 	TCM_INSUFFICIENT_REGISTRATION_RESOURCES	= R(0x1d),
 	TCM_INSUFFICIENT_REGISTRATION_RESOURCES	= R(0x1d),
+	TCM_LUN_BUSY				= R(0x1e),
 #undef R
 #undef R
 };
 };