blk-throttle: make blk_throtl_drain() ready for hierarchy
authorTejun Heo <tj@kernel.org>
Tue, 14 May 2013 20:52:37 +0000 (13:52 -0700)
committerTejun Heo <tj@kernel.org>
Tue, 14 May 2013 20:52:37 +0000 (13:52 -0700)
commit2a12f0dcdad1ba7c0e53bbff8e5f6d0ee7a29882
treefd0cee6d116653a4619c941d3dc1a759edd45064
parent6e1a5704cbbd244a8db2d7d59215cf9a4c9a0d31
blk-throttle: make blk_throtl_drain() ready for hierarchy

The current blk_throtl_drain() assumes that all active throtl_grps are
queued on throtl_data->service_queue, which won't be true once
hierarchy support is implemented.

This patch makes blk_throtl_drain() perform post-order walk of the
blkg hierarchy draining each associated throtl_grp, which guarantees
that all bios will eventually be pushed to the top-level service_queue
in throtl_data.

Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Vivek Goyal <vgoyal@redhat.com>
block/blk-throttle.c