On 11/3/20 8:15 AM, Muneendra wrote:
Added a new error code DID_TRANSPORT_MARGINAL to handle marginal
errors in scsi.h
Clearing the SCMD_NORETRIES_ABORT bit in state flag before
blk_mq_start_request
Signed-off-by: Muneendra <muneendra.kumar@xxxxxxxxxxxx>
---
v5:
No Change
v4:
No change
v3:
Rearranged the patch by merging second hunk of the previous(v2)
patch3 to this patch
v2:
Newpatch
---
drivers/scsi/scsi_lib.c | 1 +
include/scsi/scsi.h | 1 +
2 files changed, 2 insertions(+)
diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c
index 1a2e9bab42ef..2b5dea07498e 100644
--- a/drivers/scsi/scsi_lib.c
+++ b/drivers/scsi/scsi_lib.c
@@ -1660,6 +1660,7 @@ static blk_status_t scsi_queue_rq(struct blk_mq_hw_ctx *hctx,
req->rq_flags |= RQF_DONTPREP;
} else {
clear_bit(SCMD_STATE_COMPLETE, &cmd->state);
+ clear_bit(SCMD_NORETRIES_ABORT, &cmd->state);
}
cmd->flags &= SCMD_PRESERVED_FLAGS;
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 */
/*
The first hunk should be moved to the patch defining
SCMD_NORETRIES_ABORT, and the second hunk should be moved to the next patch.
This makes patch ordering and review more logical.
Cheers,
Hannes
--
Dr. Hannes Reinecke Kernel Storage Architect
hare@xxxxxxx +49 911 74053 688
SUSE Software Solutions GmbH, Maxfeldstr. 5, 90409 Nürnberg
HRB 36809 (AG Nürnberg), Geschäftsführer: Felix Imendörffer