block: extend queue bypassing to cover blkcg policies
authorTejun Heo <tj@kernel.org>
Mon, 5 Mar 2012 21:14:59 +0000 (13:14 -0800)
committerJens Axboe <axboe@kernel.dk>
Tue, 6 Mar 2012 20:27:22 +0000 (21:27 +0100)
commit6ecf23afab13c39d3bb0e2d826d0984b0dd53733
tree48436e2eb507d623ff2c2332aa34e9b7380f33e1
parentd732580b4eb31553c63744a47d590f770cafb8f0
block: extend queue bypassing to cover blkcg policies

Extend queue bypassing such that dying queue is always bypassing and
blk-throttle is drained on bypass.  With blkcg policies updated to
test blk_queue_bypass() instead of blk_queue_dead(), this ensures that
no bio or request is held by or going through blkcg policies on a
bypassing queue.

This will be used to implement blkg cleanup on elevator switches and
policy changes.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Vivek Goyal <vgoyal@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/blk-core.c
block/blk-throttle.c