From: Marcos Paulo de Souza Date: Thu, 8 Feb 2018 01:55:13 +0000 (-0200) Subject: cgroups: add check for lxc.cgroup.use X-Git-Tag: lxc-2.0.10~348 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f7f1dd55e34965a1dd77d344103c8d5d5c9073d6;p=thirdparty%2Flxc.git cgroups: add check for lxc.cgroup.use Closes #870. Signed-off-by: Marcos Paulo de Souza --- diff --git a/src/lxc/cgroups/cgroup.c b/src/lxc/cgroups/cgroup.c index 1f78a6317..5491d5c0e 100644 --- a/src/lxc/cgroups/cgroup.c +++ b/src/lxc/cgroups/cgroup.c @@ -26,6 +26,7 @@ #include "cgroup.h" #include "conf.h" +#include "initutils.h" #include "log.h" #include "start.h" @@ -246,9 +247,14 @@ void prune_init_scope(char *cg) * is not mounted then it will be ignored. But if systemd is mounted, then it * must be setup so that lxc can create cgroups in it, else containers will * fail. + * + * cgroups listed in lxc.cgroup.use are also treated as crucial + * */ bool is_crucial_cgroup_subsystem(const char *s) { + const char *cgroup_use; + if (strcmp(s, "systemd") == 0) return true; @@ -258,5 +264,9 @@ bool is_crucial_cgroup_subsystem(const char *s) if (strcmp(s, "freezer") == 0) return true; + cgroup_use = lxc_global_config_value("lxc.cgroup.use"); + if (cgroup_use && strstr(cgroup_use, s)) + return true; + return false; }