mirror of
https://github.com/SCST-project/scst.git
synced 2026-05-17 10:41:26 +00:00
Fix FAILFAST for pass-through requests
It seems that REQ_QUIET and REQ_FAILFAST flags were confused. We want both printed information in the logs about backend devices IO faulires and fail fast pass-through requests without extra retries. Setting rq->retries along is not sufficient, because in the kernel code retries and the FAILFAST bitfields control behavior of different kernel pieces, so they need to be used together. For instance, blk_noretry_request() has no idea about rq->retries. git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6204 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
@@ -7422,7 +7422,9 @@ int scst_scsi_exec_async(struct scst_cmd *cmd, void *data,
|
||||
rq->timeout = cmd->timeout;
|
||||
rq->retries = cmd->retries;
|
||||
rq->end_io_data = sioc;
|
||||
rq->cmd_flags |= REQ_QUIET;
|
||||
#if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 35)
|
||||
rq->cmd_flags |= REQ_FAILFAST_MASK;
|
||||
#endif
|
||||
|
||||
blk_execute_rq_nowait(rq->q, NULL, rq,
|
||||
(cmd->queue_type == SCST_CMD_QUEUE_HEAD_OF_QUEUE), scsi_end_async);
|
||||
|
||||
Reference in New Issue
Block a user