Commit 257e5824 by David Ward Committed by Daniel Lezcano

cgroup: additional fix for deprecated ns subsystem

When a hierarchy contains the 'ns' subsystem, do not append '/lxc' to the parent cgroup. Update surrounding comments for consistency. Signed-off-by: 's avatarDavid Ward <david.ward@ll.mit.edu> Signed-off-by: 's avatarDaniel Lezcano <dlezcano@fr.ibm.com>
parent e7d04aae
......@@ -305,9 +305,9 @@ static int lxc_one_cgroup_create(const char *name,
char initcgroup[MAXPATHLEN];
int flags, ret;
/* cgparent is the parent dir, /sys/fs/cgroup/<cgroup>/<init-cgroup>/lxc */
/* cgparent is the parent dir, e.g., /sys/fs/cgroup/<cgroup>/<init-cgroup>/lxc */
/* (remember get_init_cgroup() returns a path starting with '/') */
/* cgname is the full name, /sys/fs/cgroup/</cgroup>/<init-cgroup>/lxc/name */
/* cgname is the full name, e.g., /sys/fs/cgroup/<cgroup>/<init-cgroup>/lxc/name */
ret = snprintf(cginit, MAXPATHLEN, "%s%s", mntent->mnt_dir,
get_init_cgroup(NULL, mntent, initcgroup));
if (ret < 0 || ret >= MAXPATHLEN) {
......@@ -315,7 +315,10 @@ static int lxc_one_cgroup_create(const char *name,
return -1;
}
ret = snprintf(cgparent, MAXPATHLEN, "%s/lxc", cginit);
flags = get_cgroup_flags(mntent);
ret = snprintf(cgparent, MAXPATHLEN, "%s%s", cginit,
(flags & CGROUP_NS_CGROUP) ? "" : "/lxc");
if (ret < 0 || ret >= MAXPATHLEN) {
SYSERROR("Failed creating pathname for cgroup parent (%d)\n", ret);
return -1;
......@@ -326,8 +329,6 @@ static int lxc_one_cgroup_create(const char *name,
return -1;
}
flags = get_cgroup_flags(mntent);
/* Do we have the deprecated ns_cgroup subsystem? */
if (flags & CGROUP_NS_CGROUP) {
WARN("using deprecated ns_cgroup");
......@@ -356,7 +357,7 @@ static int lxc_one_cgroup_create(const char *name,
return -1;
}
/* if /sys/fs/cgroup/<cgroup>/<init-cgroup>/lxc does not exist, create it */
/* if cgparent does not exist, create it */
if (access(cgparent, F_OK) && mkdir(cgparent, 0755)) {
SYSERROR("failed to create '%s' directory", cgparent);
return -1;
......
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