On 10/12/2010 05:50 PM, John Fastabend wrote: > case FC_CMD_ABORTED: > - FC_FCP_DBG(fsp, "Returning DID_ERROR to scsi-ml " > - "due to FC_CMD_ABORTED\n"); > - sc_cmd->result = (DID_ERROR<< 16) | fsp->io_status; > - break; > - case FC_CMD_RECOVERY: > - sc_cmd->result = (DID_BUS_BUSY<< 16) | fsp->io_status; > + FC_FCP_DBG(fsp, "Returning DID_ABORT to scsi-ml " > + "due to FC_CMD_ABORTED\n"); > + sc_cmd->result = (DID_ABORT<< 16) | fsp->cdb_status; > break;
If our internal abort succeeded we do not want to use DID_ABORT because it would fail the IO. If it were a disk IO then it should be retryable. If the abort was due to the scsi eh eh_abort callout then the DID_ABORT result is ignored and the scsi layer is going to retry it as long as there are retries left. _______________________________________________ devel mailing list [email protected] http://www.open-fcoe.org/mailman/listinfo/devel
