block: make get_request[_wait]() fail if queue is dead
authorTejun Heo <tj@kernel.org>
Wed, 19 Oct 2011 12:33:05 +0000 (14:33 +0200)
committerJens Axboe <axboe@kernel.dk>
Wed, 19 Oct 2011 12:33:05 +0000 (14:33 +0200)
commitda8303c63b8de73619884382d6e573d44aae0810
treed8560fa6452c5a7583aa21a2e5505d68899e2df5
parentbc16a4f933bc5ed50826b20561e4c3515061998b
block: make get_request[_wait]() fail if queue is dead

Currently get_request[_wait]() allocates request whether queue is dead
or not.  This patch makes get_request[_wait]() return NULL if @q is
dead.  blk_queue_bio() is updated to fail the submitted bio if request
allocation fails.  While at it, add docbook comments for
get_request[_wait]().

Note that the current code has rather unclear (there are spurious DEAD
tests scattered around) assumption that the owner of a queue
guarantees that no request travels block layer if the queue is dead
and this patch in itself doesn't change much; however, this will allow
fixing the broken assumption in the next patch.

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