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

Reply via email to