cgroup: fix broken css_has_online_children()
authorLi Zefan <lizefan@huawei.com>
Thu, 12 Jun 2014 06:31:31 +0000 (14:31 +0800)
committerTejun Heo <tj@kernel.org>
Tue, 17 Jun 2014 22:52:53 +0000 (18:52 -0400)
After running:

  # mount -t cgroup cpu xxx /cgroup && mkdir /cgroup/sub && \
    rmdir /cgroup/sub && umount /cgroup

I found the cgroup root still existed:

  # cat /proc/cgroups
  #subsys_name    hierarchy       num_cgroups     enabled
  cpuset  0       1       1
  cpu     1       1       1
  ...

It turned out css_has_online_children() is broken.

Signed-off-by: Li Zefan <lizefan@huawei.com>
Sigend-off-by: Tejun Heo <tj@kernel.org>
kernel/cgroup.c

index 7868fc3c0bc59b3223490114ca8e27f83b4c864c..d9a8be911f5bfe222869b15d5a9bd8a4ffa11344 100644 (file)
@@ -3328,7 +3328,7 @@ bool css_has_online_children(struct cgroup_subsys_state *css)
 
        rcu_read_lock();
        css_for_each_child(child, css) {
-               if (css->flags & CSS_ONLINE) {
+               if (child->flags & CSS_ONLINE) {
                        ret = true;
                        break;
                }
This page took 0.030336 seconds and 5 git commands to generate.