From: Christian Brauner Date: Sat, 17 Feb 2018 18:38:59 +0000 (+0100) Subject: cgfsng: cgfsng_mount() X-Git-Tag: lxc-2.0.10~279 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f283d72b6abce6ea712e01dd9cb9c5b4f1ba512e;p=thirdparty%2Flxc.git cgfsng: cgfsng_mount() Signed-off-by: Christian Brauner --- diff --git a/src/lxc/cgroups/cgfsng.c b/src/lxc/cgroups/cgfsng.c index 5dd5c3ec5..79952ffff 100644 --- a/src/lxc/cgroups/cgfsng.c +++ b/src/lxc/cgroups/cgfsng.c @@ -2131,10 +2131,9 @@ static bool cgfsng_mount(void *hdata, const char *root, int type) { int i, ret; char *tmpfspath = NULL; - bool retval = false; + bool has_cgns = false, retval = false, wants_force_mount = false; struct lxc_handler *handler = hdata; struct cgfsng_handler_data *d = handler->cgroup_data; - bool has_cgns = false, wants_force_mount = false; if ((type & LXC_AUTO_CGROUP_MASK) == 0) return true; @@ -2176,11 +2175,13 @@ static bool cgfsng_mount(void *hdata, const char *root, int type) if (!controller) continue; controller++; + controllerpath = must_make_path(tmpfspath, controller, NULL); if (dir_exists(controllerpath)) { free(controllerpath); continue; } + ret = mkdir(controllerpath, 0755); if (ret < 0) { SYSERROR("Error creating cgroup path: %s", controllerpath); @@ -2221,8 +2222,8 @@ static bool cgfsng_mount(void *hdata, const char *root, int type) goto on_error; } - ret = do_secondstage_mounts_if_needed( - type, h, controllerpath, path2, d->container_cgroup); + ret = do_secondstage_mounts_if_needed(type, h, controllerpath, + path2, d->container_cgroup); free(controllerpath); free(path2); if (ret < 0)