On 11/11/20 5:58 AM, Muneendra wrote:
Added a new optional routine eh_should_retry_cmd in scsi_host_template that allows the transport to decide if a cmd is retryable.Return true if the transport is in a state the cmd should be retried on. Added a new interface scsi_eh_should_retry_cmd which checks and calls the new routine eh_should_retry_cmd. Made changes in scmd_eh_abort_handler and scsi_eh_flush_done_q which calls the scsi_eh_should_retry_cmd to check whether the command needs to be retried. The above changes were done based on a patch by Mike Christie. Signed-off-by: Muneendra <muneendra.kumar@xxxxxxxxxxxx> --- v7: Added New routine in scsi_host_template to decide if a cmd is retryable instead of checking the same using SCMD_NORETRIES_ABORT bit as the cmd retry part can be checked by validating the port state. Moved the DID_TRANSPORT_MARGINAL changes to previous patch for reordering 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 | 17 +++++++++++++++-- include/scsi/scsi_host.h | 6 ++++++ 2 files changed, 21 insertions(+), 2 deletions(-)
Reviewed-by: Hannes Reinecke <hare@xxxxxxx> 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