blkcg: restructure statistics printing
authorTejun Heo <tj@kernel.org>
Sun, 1 Apr 2012 21:38:42 +0000 (14:38 -0700)
committerTejun Heo <tj@kernel.org>
Sun, 1 Apr 2012 21:38:42 +0000 (14:38 -0700)
commitd3d32e69fa368e131b25ee68806aa3fd3916cec1
treef6413e70f38cffb3b363fa831b5f868d90bb6c80
parentedcb0722c654947908388df660791abd41e6617c
blkcg: restructure statistics printing

blkcg stats handling is a mess.  None of the stats has much to do with
blkcg core but they are all implemented in blkcg core.  Code sharing
is achieved by mixing common code with hard-coded cases for each stat
counter.

This patch restructures statistics printing such that

* Common logic exists as helper functions and specific print functions
  use the helpers to implement specific cases.

* Printing functions serving multiple counters don't require hardcoded
  switching on specific counters.

* Printing uses read_seq_string callback (other methods will be phased
  out).

This change enables further cleanups and relocating stats code to the
policy implementation it belongs to.

Signed-off-by: Tejun Heo <tj@kernel.org>
block/blk-cgroup.c
block/blk-cgroup.h