From: Muneendra <muneendra.kumar@broadcom.com>
To: linux-scsi@vger.kernel.org, michael.christie@oracle.com, hare@suse.de
Cc: jsmart2021@gmail.com, emilne@redhat.com, mkumar@redhat.com,
Muneendra <muneendra.kumar@broadcom.com>
Subject: [PATCH v7 1/5] scsi: Added a new error code DID_TRANSPORT_MARGINAL in scsi.h
Date: Wed, 11 Nov 2020 10:28:01 +0530 [thread overview]
Message-ID: <1605070685-20945-2-git-send-email-muneendra.kumar@broadcom.com> (raw)
In-Reply-To: <1605070685-20945-1-git-send-email-muneendra.kumar@broadcom.com>
[-- Attachment #1: Type: text/plain, Size: 2754 bytes --]
Added a new error code DID_TRANSPORT_MARGINAL to handle marginal
errors in scsi.h
Added a code in scsi_result_to_blk_status to translate
a new error DID_TRANSPORT_MARGINAL to the corresponding blk_status_t
i.e BLK_STS_TRANSPORT
Added DID_TRANSPORT_MARGINAL case to scsi_decide_disposition
Signed-off-by: Muneendra <muneendra.kumar@broadcom.com>
---
v7:
Rearranged the patch by moving the DID_TRANSPORT_MARGINAL
and the changes with respect to the same to this patch
from the previous patch2 in v6
Removed the previuos patch patch1 in v6 as in the
current approach there is no need of this bit SCMD_NORETRIES_ABORT
v6:
Rearranged the patch by merging second hunk of the patch2 in v5
to this patch
v5:
added the DID_TRANSPORT_MARGINAL case to
scsi_decide_disposition
v4:
Modified the comments in the code appropriately
v3:
Merged first part of the previous patch(v2 patch3) with
this patch.
v2:
set the hostbyte as DID_TRANSPORT_MARGINAL instead of
DID_TRANSPORT_FAILFAST.
---
drivers/scsi/scsi_error.c | 6 ++++++
drivers/scsi/scsi_lib.c | 1 +
include/scsi/scsi.h | 1 +
3 files changed, 8 insertions(+)
diff --git a/drivers/scsi/scsi_error.c b/drivers/scsi/scsi_error.c
index f11f51e2465f..28056ee498b3 100644
--- a/drivers/scsi/scsi_error.c
+++ b/drivers/scsi/scsi_error.c
@@ -1861,6 +1861,12 @@ int scsi_decide_disposition(struct scsi_cmnd *scmd)
* the fast io fail tmo fired), so send IO directly upwards.
*/
return SUCCESS;
+ case DID_TRANSPORT_MARGINAL:
+ /*
+ * caller has decided not to do retries on
+ * abort success, so send IO directly upwards
+ */
+ return SUCCESS;
case DID_ERROR:
if (msg_byte(scmd->result) == COMMAND_COMPLETE &&
status_byte(scmd->result) == RESERVATION_CONFLICT)
diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c
index 20a357563d3d..ce1e2adaca36 100644
--- a/drivers/scsi/scsi_lib.c
+++ b/drivers/scsi/scsi_lib.c
@@ -629,6 +629,7 @@ static blk_status_t scsi_result_to_blk_status(struct scsi_cmnd *cmd, int result)
return BLK_STS_OK;
return BLK_STS_IOERR;
case DID_TRANSPORT_FAILFAST:
+ case DID_TRANSPORT_MARGINAL:
return BLK_STS_TRANSPORT;
case DID_TARGET_FAILURE:
set_host_byte(cmd, DID_OK);
diff --git a/include/scsi/scsi.h b/include/scsi/scsi.h
index 5339baadc082..5b287ad8b727 100644
--- a/include/scsi/scsi.h
+++ b/include/scsi/scsi.h
@@ -159,6 +159,7 @@ static inline int scsi_is_wlun(u64 lun)
* paths might yield different results */
#define DID_ALLOC_FAILURE 0x12 /* Space allocation on the device failed */
#define DID_MEDIUM_ERROR 0x13 /* Medium error */
+#define DID_TRANSPORT_MARGINAL 0x14 /* Transport marginal errors */
#define DRIVER_OK 0x00 /* Driver status */
/*
--
2.26.2
[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 4177 bytes --]
next prev parent reply other threads:[~2020-11-11 11:51 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-11-11 4:58 [PATCH v7 0/5] scsi: Support to handle Intermittent errors Muneendra
2020-11-11 4:58 ` Muneendra [this message]
2020-11-16 8:16 ` [PATCH v7 1/5] scsi: Added a new error code DID_TRANSPORT_MARGINAL in scsi.h Hannes Reinecke
2020-11-23 19:45 ` Ewan D. Milne
2020-11-24 17:42 ` Himanshu Madhani
2020-11-11 4:58 ` [PATCH v7 2/5] scsi: No retries on abort success Muneendra
2020-11-16 8:22 ` Hannes Reinecke
2020-11-23 19:45 ` Ewan D. Milne
2020-11-24 17:43 ` Himanshu Madhani
2020-11-11 4:58 ` [PATCH v7 3/5] scsi_transport_fc: Added a new rport state FC_PORTSTATE_MARGINAL Muneendra
2020-11-16 8:19 ` Hannes Reinecke
2020-11-17 7:43 ` Muneendra Kumar M
2020-11-23 20:01 ` Ewan D. Milne
2020-11-23 19:47 ` Ewan D. Milne
2020-11-24 17:43 ` Himanshu Madhani
2020-11-11 4:58 ` [PATCH v7 4/5] scsi_transport_fc: Added store fucntionality to set the rport port_state using sysfs Muneendra
2020-11-16 8:20 ` Hannes Reinecke
2020-11-23 19:47 ` Ewan D. Milne
2020-11-24 17:44 ` Himanshu Madhani
2020-11-11 4:58 ` [PATCH v7 5/5] scsi:lpfc: Added support for eh_should_retry_cmd Muneendra
2020-11-16 8:23 ` Hannes Reinecke
2020-11-23 19:51 ` Ewan D. Milne
2020-11-23 19:48 ` Ewan D. Milne
2020-11-24 17:46 ` Himanshu Madhani
2020-12-08 5:00 ` [PATCH v7 0/5] scsi: Support to handle Intermittent errors Muneendra Kumar M
2020-12-08 5:14 ` Martin K. Petersen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1605070685-20945-2-git-send-email-muneendra.kumar@broadcom.com \
--to=muneendra.kumar@broadcom.com \
--cc=emilne@redhat.com \
--cc=hare@suse.de \
--cc=jsmart2021@gmail.com \
--cc=linux-scsi@vger.kernel.org \
--cc=michael.christie@oracle.com \
--cc=mkumar@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox