From 9ea09fb48bb44c86071772f92df6d47f3e3d58eb Mon Sep 17 00:00:00 2001 From: Marcos Paulo de Souza Date: Wed, 7 Feb 2018 23:55:13 -0200 Subject: [PATCH] cgroups: add check for lxc.cgroup.use Closes #870. Signed-off-by: Marcos Paulo de Souza --- src/lxc/cgroups/cgroup.c | 10 ++++++++++ 1 file changed, 10 insertions(+) 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; }