aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/blkdev.h
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2018-06-14 07:58:45 -0400
committerJens Axboe <axboe@kernel.dk>2018-06-14 10:39:46 -0400
commitda661267398869a553b7f67d739d360aaa1361b6 (patch)
tree375b099f3b56b2403b7e2802dd13afe42f2c5a11 /include/linux/blkdev.h
parenta347c7ad8edf4c5685154f3fdc3c12fc1db800ba (diff)
blk-mq: don't time out requests again that are in the timeout handler
We can currently call the timeout handler again on a request that has already been handed over to the timeout handler. Prevent that with a new flag. Fixes: 12f5b931 ("blk-mq: Remove generation seqeunce") Reported-by: Andrew Randrianasulu <randrianasulu@gmail.com> Tested-by: Andrew Randrianasulu <randrianasulu@gmail.com> Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'include/linux/blkdev.h')
-rw-r--r--include/linux/blkdev.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index bca3a92eb55f..fa6f11751430 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -127,6 +127,8 @@ typedef __u32 __bitwise req_flags_t;
127#define RQF_ZONE_WRITE_LOCKED ((__force req_flags_t)(1 << 19)) 127#define RQF_ZONE_WRITE_LOCKED ((__force req_flags_t)(1 << 19))
128/* already slept for hybrid poll */ 128/* already slept for hybrid poll */
129#define RQF_MQ_POLL_SLEPT ((__force req_flags_t)(1 << 20)) 129#define RQF_MQ_POLL_SLEPT ((__force req_flags_t)(1 << 20))
130/* ->timeout has been called, don't expire again */
131#define RQF_TIMED_OUT ((__force req_flags_t)(1 << 21))
130 132
131/* flags that prevent us from merging requests: */ 133/* flags that prevent us from merging requests: */
132#define RQF_NOMERGE_FLAGS \ 134#define RQF_NOMERGE_FLAGS \