cgfsng: cgfsng_create()

parent 77a3a03e
......@@ -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;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment