Commit f5e350f0 authored by Bart Van Assche's avatar Bart Van Assche Committed by Jens Axboe

blk-mq: Fix timeout handling in case the timeout handler returns BLK_EH_DONE

Make sure that RQF_TIMED_OUT is cleared when a request is reused
after a block driver timeout handler has returned BLK_EH_DONE.

Fixes: da661267 ("blk-mq: don't time out requests again that are in the timeout handler")
Signed-off-by: default avatarBart Van Assche <>
Cc: Christoph Hellwig <>
Cc: Jianchao Wang <>
Cc: Andrew Randrianasulu <>
Signed-off-by: default avatarJens Axboe <>
parent 3ee7e869
......@@ -781,7 +781,6 @@ static void blk_mq_rq_timed_out(struct request *req, bool reserved)
req->rq_flags &= ~RQF_TIMED_OUT;
......@@ -210,6 +210,7 @@ void blk_add_timer(struct request *req)
if (!req->timeout)
req->timeout = q->rq_timeout;
req->rq_flags &= ~RQF_TIMED_OUT;
blk_rq_set_deadline(req, jiffies + req->timeout);
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment