On 10/19/20 2:26 PM, Muneendra Kumar M wrote: > Hi Michael, > >> check_type: >> + /* >> + * Check whether caller has decided not to do retries on >> + * abort success by setting the SCMD_NORETRIES_ABORT bit >> + */ >> + if ((test_bit(SCMD_NORETRIES_ABORT, &scmd->state)) && >> + (scmd->request->cmd_flags & REQ_FAILFAST_TRANSPORT)) { >> + set_host_byte(scmd, DID_TRANSPORT_MARGINAL); > >> Hey, one other thing that might be confusing me is this check and the >> naming. The 0/17 email description and the SCMD_NORETRIES_ABORT name makes >> me think we want to only run this if the cmd timedout and we went >through >> the SCSI EH TMF operations. However, I think this will end up failing other >> errors with DID_TRANSPORT_MARGINAL right? > >> Did you want just the the SCSI EH timeout/abort case to hit this or any >> errors that hit this code path? > [Muneendra]At present we want SCSI EH timeout/abort case to hit this. What about adding a new eh callout that the transport classes can implement. They can check the port state at this time and decide if the cmd should be retried or failed. It would be similar to fc_eh_timed_out for example.