Re: [PATCH] blk-mq: include errors in did_work calculation
From: Omar Sandoval <osandov@osandov.com>
Date: 2017-03-24 18:03:31
From: Omar Sandoval <osandov@osandov.com>
Date: 2017-03-24 18:03:31
On Fri, Mar 24, 2017 at 11:39:10AM -0600, Jens Axboe wrote:
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. Signed-off-by: Jens Axboe <axboe@fb.com>
Reviewed-by: Omar Sandoval <redacted>