There is a bogus test in cgroup_get_parent_name
which returns error in situation when 0 should be return.
This causes problem e.g. when a hierarchy is mounted to two
mount points.
CHANGELOG:
- the test is not removed but moved to the else part
EXAMPLE:
$ cat aux.conf
mount {
cpu = /cgroup/cpu;
cpuacct = /cgroup/cpu;
memory = /cgroup/memory;
}
group hXAjiy/wWRq {
cpu {}
memory {}
}
$ mkdir /mnt/cgroups/cpu 2>/dev/null
$ mount -t cgroup -o cpu,cpuacct cpu /mnt/cgroups/cpu
$ time cgconfigparser -l aux.conf
$ cgclear
$ cat /proc/cgroups
OLD output
#subsys_name hierarchy num_cgroups enabled
cpuset 0 1 1
ns 0 1 1
cpu 301 1 1
cpuacct 301 1 1
memory 303 3 1
devices 0 1 1
freezer 0 1 1
net_cls 0 1 1
blkio 0 1 1
New output
#subsys_name hierarchy num_cgroups enabled
cpuset 0 1 1
ns 0 1 1
cpu 0 1 1
cpuacct 0 1 1
memory 0 1 1
devices 0 1 1
freezer 0 1 1
net_cls 0 1 1
blkio 0 1 1
Signed-off-by: Ivana Hutarova Varekova <[email protected]>
Acked-by: Dhaval Giani <[email protected]>
Acked-by: Jan Safranek <[email protected]>
Acked-by: Balbir Singh <[email protected]>
---
src/api.c | 5 ++---
1 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/src/api.c b/src/api.c
index a51230b..7e2903d 100644
--- a/src/api.c
+++ b/src/api.c
@@ -1512,12 +1512,11 @@ static int cgroup_get_parent_name(struct cgroup
*cgroup, char **parent)
}
else {
*parent = strdup(pdir);
+ if (*parent == NULL)
+ ret = ECGFAIL;
}
free(dir);
- if (*parent == NULL)
- ret = ECGFAIL;
-
return ret;
}
------------------------------------------------------------------------------
Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
Tap into the largest installed PC base & get more eyes on your game by
optimizing for Intel(R) Graphics Technology. Get started today with the
Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
http://p.sf.net/sfu/intelisp-dev2dev
_______________________________________________
Libcg-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libcg-devel