Skip to content
  • Tejun Heo's avatar
    blkcg: kill the mind-bending blkg->dev · 7a4dd281
    Tejun Heo authored
    blkg->dev is dev_t recording the device number of the block device for
    the associated request_queue.  It is used to identify the associated
    block device when printing out configuration or stats.
    This is redundant to begin with.  A blkg is an association between a
    cgroup and a request_queue and it of course is possible to reach
    request_queue from blkg and synchronization conventions are in place
    for safe q dereferencing, so this shouldn't be necessary from the
    beginning.  Furthermore, it's initialized by sscanf()ing the device
    name of backing_dev_info.  The mind boggles.
    Anyways, if blkg is visible under rcu lock, we *know* that the
    associated request_queue hasn't gone away yet and its bdi is
    registered and alive - blkg can't be created for request_queue which
    hasn't been fully initialized and it can't go away before blkg is
    Let stat and conf read functions get device name from
    blkg->q-> and pass it down to printing functions
    and remove blkg->dev.
    Signed-off-by: default avatarTejun Heo <>
    Cc: Vivek Goyal <>
    Signed-off-by: default avatarJens Axboe <>