block: null_blk: end timed out poll request
When poll request is timed out, it is removed from the poll list,
but not completed, so the request is leaked, and never get chance
to complete.
Fix the issue by ending it in timeout handler.
Fixes: 0a593fbbc2
("null_blk: poll queue support")
Signed-off-by: Ming Lei <ming.lei@redhat.com>
Link: https://lore.kernel.org/r/20220413084836.1571995-1-ming.lei@redhat.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
8535c0185d
commit
3e3876d322
@ -1600,7 +1600,7 @@ static enum blk_eh_timer_return null_timeout_rq(struct request *rq, bool res)
|
||||
* Only fake timeouts need to execute blk_mq_complete_request() here.
|
||||
*/
|
||||
cmd->error = BLK_STS_TIMEOUT;
|
||||
if (cmd->fake_timeout)
|
||||
if (cmd->fake_timeout || hctx->type == HCTX_TYPE_POLL)
|
||||
blk_mq_complete_request(rq);
|
||||
return BLK_EH_DONE;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user