]> git.baikalelectronics.ru Git - kernel.git/commit
block: add missing blk_queue_dead() checks
authorTejun Heo <tj@kernel.org>
Tue, 13 Dec 2011 23:33:37 +0000 (00:33 +0100)
committerJens Axboe <axboe@kernel.dk>
Tue, 13 Dec 2011 23:33:37 +0000 (00:33 +0100)
commit510b407b8f9904f14119b39d0ff32420c7d00431
tree4b63993dc0fdc26918bd990fb47a142b8d24ef80
parent0b4561e6d11572507925039e2160046a6fef2bac
block: add missing blk_queue_dead() checks

blk_insert_cloned_request(), blk_execute_rq_nowait() and
blk_flush_plug_list() either didn't check whether the queue was dead
or did it without holding queue_lock.  Update them so that dead state
is checked while holding queue_lock.

AFAICS, this plugs all holes (requeue doesn't matter as the request is
transitioning atomically from in_flight to queued).

Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/blk-core.c
block/blk-exec.c