]> Git Repo - linux.git/commit
blk-mq: include errors in did_work calculation
authorJens Axboe <[email protected]>
Fri, 24 Mar 2017 18:04:19 +0000 (12:04 -0600)
committerJens Axboe <[email protected]>
Fri, 24 Mar 2017 21:42:47 +0000 (15:42 -0600)
commit93efe9817e651607d83e5f100076ae62d0ce0b93
treeb83b77bd955222ba6783df11bd3807aac5e43c9a
parentd07c6f46c441c32c55076a45479530707170c55c
blk-mq: include errors in did_work calculation

Currently we return true in blk_mq_dispatch_rq_list() if we queued IO
successfully, but we really want to return whether or not the we made
progress. Progress includes if we got an error return.  If we don't,
this can lead to a hang in blk_mq_sched_dispatch_requests() when a
driver is draining IO by returning BLK_MQ_QUEUE_ERROR instead of
manually ending the IO in error and return BLK_MQ_QUEUE_OK.

Tested-by: Josef Bacik <[email protected]>
Reviewed-by: Bart Van Assche <[email protected]>
Reviewed-by: Omar Sandoval <[email protected]>
Signed-off-by: Jens Axboe <[email protected]>
block/blk-mq.c
This page took 0.051139 seconds and 4 git commands to generate.