summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2018-06-14 13:58:45 +0200
committerJens Axboe <axboe@kernel.dk>2018-06-14 08:39:46 -0600
commitda661267398869a553b7f67d739d360aaa1361b6 (patch)
tree375b099f3b56b2403b7e2802dd13afe42f2c5a11 /include
parenta347c7ad8edf4c5685154f3fdc3c12fc1db800ba (diff)
downloadlinux-stable-da661267398869a553b7f67d739d360aaa1361b6.tar.gz
linux-stable-da661267398869a553b7f67d739d360aaa1361b6.tar.bz2
linux-stable-da661267398869a553b7f67d739d360aaa1361b6.zip
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')
-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;
#define RQF_ZONE_WRITE_LOCKED ((__force req_flags_t)(1 << 19))
/* already slept for hybrid poll */
#define RQF_MQ_POLL_SLEPT ((__force req_flags_t)(1 << 20))
+/* ->timeout has been called, don't expire again */
+#define RQF_TIMED_OUT ((__force req_flags_t)(1 << 21))
/* flags that prevent us from merging requests: */
#define RQF_NOMERGE_FLAGS \