Patch "[PATCH 116/135] blk-mq: End unstarted requests on dying queue" has been added to the 4.4-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
[PATCH 116/135] blk-mq: End unstarted requests on dying queue
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
0116-blk-mq-End-unstarted-requests-on-dying-queue.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
2fe9173cdad3c8bbc3f2b51cedb4e6f6edbf340eMon Sep 17 00:00:00 2001
From: Keith Busch <[email protected]>
Date: Thu, 26 May 2016 10:25:51 -0600
Subject: [PATCH 116/135] blk-mq: End unstarted requests on dying queue
[ Upstream commit a59e0f5795fe52dad42a99c00287e3766153b312 ]
Go directly to ending a request if it wasn't started. Previously, completing a request may invoke a driver callback for a request it didn't initialize.
--- block/blk-mq.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
block/blk-mq.c +4 -2
@@ -601,8 +601,10 @@ static void blk_mq_check_expired(struct* If a request wasn't started before the queue was * marked dying, kill it here or it'll go unnoticed. */ -if (unlikely (blk_queue_dying (rq->q))) -blk_mq_complete_request (rq, -EIO ); +if (unlikely (blk_queue_dying (rq->q))) { + rq->errors = -EIO ; +blk_mq_end_request (rq, rq->errors); + }return ; }if (rq->cmd_flags &REQ_NO_TIMEOUT )
Patches currently in stable-queue which might be from [email protected] are
queue-4.4/0120-block-fix-blk_rq_get_max_sectors-for-driver-private-.patch queue-4.4/0116-blk-mq-End-unstarted-requests-on-dying-queue.patch