From: <vl...@us...> - 2015-05-07 02:21:38
|
Revision: 6204 http://sourceforge.net/p/scst/svn/6204 Author: vlnb Date: 2015-05-07 02:21:35 +0000 (Thu, 07 May 2015) Log Message: ----------- 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. Modified Paths: -------------- trunk/scst/src/scst_lib.c Modified: trunk/scst/src/scst_lib.c =================================================================== --- trunk/scst/src/scst_lib.c 2015-05-06 02:05:54 UTC (rev 6203) +++ trunk/scst/src/scst_lib.c 2015-05-07 02:21:35 UTC (rev 6204) @@ -7422,7 +7422,9 @@ 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); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |