From d1ef2d9187e1986c0b4c2066734c9546fd338bcf Mon Sep 17 00:00:00 2001 From: Christian Brauner Date: Sat, 17 Feb 2018 19:27:52 +0100 Subject: [PATCH] cgfsng: cgfsng_create() Signed-off-by: Christian Brauner --- src/lxc/cgroups/cgfsng.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/lxc/cgroups/cgfsng.c b/src/lxc/cgroups/cgfsng.c index ca025268f..081a06311 100644 --- a/src/lxc/cgroups/cgfsng.c +++ b/src/lxc/cgroups/cgfsng.c @@ -1746,9 +1746,8 @@ static void remove_path_for_hierarchy(struct hierarchy *h, char *cgname) h->fullcgpath = NULL; } -/* - * Try to create the same cgroup in all hierarchies. - * Start with cgroup_pattern; next cgroup_pattern-1, -2, ..., -999 +/* Try to create the same cgroup in all hierarchies. Start with cgroup_pattern; + * next cgroup_pattern-1, -2, ..., -999. */ static inline bool cgfsng_create(void *hdata) { @@ -1782,6 +1781,7 @@ again: ERROR("Too many conflicting cgroup names"); goto out_free; } + if (idx) { int ret; @@ -1796,10 +1796,11 @@ again: } } } + for (i = 0; hierarchies[i]; i++) { if (!create_path_for_hierarchy(hierarchies[i], container_cgroup)) { int j; - ERROR("Failed to create \"%s\"", hierarchies[i]->fullcgpath); + ERROR("Failed to create cgroup \"%s\"", hierarchies[i]->fullcgpath); free(hierarchies[i]->fullcgpath); hierarchies[i]->fullcgpath = NULL; for (j = 0; j < i; j++) @@ -1808,12 +1809,14 @@ again: goto again; } } - /* Done */ + d->container_cgroup = container_cgroup; + return true; out_free: free(container_cgroup); + return false; } -- 2.47.2