From 65186c8a1fc3874bdcf81ff75b229e5199318917 Mon Sep 17 00:00:00 2001
From: Mike Christie <mchristi@redhat.com>
Date: Tue, 19 Dec 2017 04:03:55 -0600
Subject: [PATCH] target: add SAM_STAT_BUSY sense reason
Git-commit: d120c7083f49d177e6765afad543faa0f243590e
Patch-mainline: v4.16-rc1
References: bsc#1118978
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>
[ddiss@suse.de: rebase against SLE kernel without 79dd6f2fd170e:
TCM_INSUFFICIENT_REGISTRATION_RESOURCES]
Acked-by: David Disseldorp <ddiss@suse.de>
---
drivers/target/target_core_transport.c | 3 +++
include/target/target_core_base.h | 1 +
2 files changed, 4 insertions(+)
diff --git a/drivers/target/target_core_transport.c b/drivers/target/target_core_transport.c
index d8f7cc19947a..73719990f9d7 100644
--- a/drivers/target/target_core_transport.c
+++ b/drivers/target/target_core_transport.c
@@ -1792,6 +1792,9 @@ void transport_generic_request_failure(struct se_cmd *cmd,
case TCM_OUT_OF_RESOURCES:
cmd->scsi_status = SAM_STAT_TASK_SET_FULL;
goto queue_status;
+ case TCM_LUN_BUSY:
+ cmd->scsi_status = SAM_STAT_BUSY;
+ goto queue_status;
case TCM_RESERVATION_CONFLICT:
/*
* No SENSE Data payload for this case, set SCSI Status
diff --git a/include/target/target_core_base.h b/include/target/target_core_base.h
index 47b995c6e285..a93b5449bc2c 100644
--- a/include/target/target_core_base.h
+++ b/include/target/target_core_base.h
@@ -184,6 +184,7 @@ enum tcm_sense_reason_table {
TCM_UNSUPPORTED_TARGET_DESC_TYPE_CODE = R(0x1a),
TCM_TOO_MANY_SEGMENT_DESCS = R(0x1b),
TCM_UNSUPPORTED_SEGMENT_DESC_TYPE_CODE = R(0x1c),
+ TCM_LUN_BUSY = R(0x1e),
#undef R
};
--
2.13.7