• Tejun Heo's avatar
    blkcg: embed struct blkg_policy_data in policy specific data · f95a04af
    Tejun Heo authored
    Currently blkg_policy_data carries policy specific data as char flex
    array instead of being embedded in policy specific data.  This was
    forced by oddities around blkg allocation which are all gone now.
    This patch makes blkg_policy_data embedded in policy specific data -
    throtl_grp and cfq_group so that it's more conventional and consistent
    with how io_cq is handled.
    * blkcg_policy->pdata_size is renamed to ->pd_size.
    * Functions which used to take void *pdata now takes struct
      blkg_policy_data *pd.
    * blkg_to_pdata/pdata_to_blkg() updated to blkg_to_pd/pd_to_blkg().
    * Dummy struct blkg_policy_data definition added.  Dummy
      pdata_to_blkg() definition was unused and inconsistent with the
      non-dummy version - correct dummy pd_to_blkg() added.
    * throtl and cfq updated accordingly.
    * As dummy blkg_to_pd/pd_to_blkg() are provided,
      blkg_to_cfqg/cfqg_to_blkg() don't need to be ifdef'd.  Moved outside
      ifdef block.
    This patch doesn't introduce any functional change.
    Signed-off-by: default avatarTejun Heo <tj@kernel.org>
    Cc: Vivek Goyal <vgoyal@redhat.com>
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>