From: Ed Goggin <egoggin@xxxxxxxxxx> Add new SCSI ML host status DID_COND_REQUEUE for ADD_TO_MLQUEUE IFF not REQ_FAILFAST. Signed-off-by: Ed Goggin <egoggin@xxxxxxxxxx> diff --git a/drivers/scsi/scsi_error.c b/drivers/scsi/scsi_error.c index 2dce06a..d8e884b 100644 --- a/drivers/scsi/scsi_error.c +++ b/drivers/scsi/scsi_error.c @@ -1222,6 +1222,16 @@ int scsi_decide_disposition(struct scsi_ case DID_IMM_RETRY: return NEEDS_RETRY; + case DID_COND_REQUEUE: + /* + * Return immediately w/o requeue if the request + * indicates no retry. + */ + if (blk_noretry_request(scmd->request)) + return SUCCESS; + else + return ADD_TO_MLQUEUE; + case DID_REQUEUE: return ADD_TO_MLQUEUE; diff --git a/include/scsi/scsi.h b/include/scsi/scsi.h index 5c0e979..0207f81 100644 --- a/include/scsi/scsi.h +++ b/include/scsi/scsi.h @@ -309,6 +309,8 @@ struct scsi_lun { #define DID_IMM_RETRY 0x0c /* Retry without decrementing retry count */ #define DID_REQUEUE 0x0d /* Requeue command (no immediate retry) also * without decrementing the retry count */ +#define DID_COND_REQUEUE 0x0e /* Requeue cmd w/o decr of retry count IFF + * not blk_noretry_request */ #define DRIVER_OK 0x00 /* Driver status */ /* - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html