To regain the capability to prevent normal completion path from entering a timeout request, blk_mq_mark_rq_complete is introduced in blk_mq_complete_request. Have to use __blk_mq_complete_request in timeout path to complete a timeout request. Signed-off-by: Jianchao Wang <jianchao.w.wang@xxxxxxxxxx> --- drivers/block/nbd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/block/nbd.c b/drivers/block/nbd.c index 3b7083b..d7e533a 100644 --- a/drivers/block/nbd.c +++ b/drivers/block/nbd.c @@ -354,7 +354,7 @@ static enum blk_eh_timer_return nbd_xmit_timeout(struct request *req, sock_shutdown(nbd); nbd_config_put(nbd); done: - blk_mq_complete_request(req); + __blk_mq_complete_request(req); return BLK_EH_DONE; } -- 2.7.4