Commit de3c507c by Serge Hallyn Committed by Stéphane Graber

cgfsng: don't require that systemd subsystem be mounted

Note that is_crucial_subsystem still lists name=systemd. That is used in cgfs and cgmanager. Cgmanager is typically setup to create name=systemd, so it is ok. cgfs uses is_crucial_subsystem() only to decide whether failure to create or chown a directory should be terminal. That's ok, because (a) if name=systemd is not mounted then we won't hit that, and (b) if name=systemd is mounted, then we'd really still like to set it up for containers. Signed-off-by: 's avatarSerge Hallyn <serge.hallyn@ubuntu.com>
parent 3dfe1009
...@@ -407,19 +407,14 @@ static bool controller_found(struct hierarchy **hlist, char *entry) ...@@ -407,19 +407,14 @@ static bool controller_found(struct hierarchy **hlist, char *entry)
} }
/* /*
* Return true if all of the controllers which we require have been * Return true if all of the controllers which we require have been found.
* found. The required list is systemd, freezer, and anything in * The required list is freezer and anything in * lxc.cgroup.use.
* lxc.cgroup.use.
*/ */
static bool all_controllers_found(void) static bool all_controllers_found(void)
{ {
char *p, *saveptr = NULL; char *p, *saveptr = NULL;
struct hierarchy ** hlist = hierarchies; struct hierarchy ** hlist = hierarchies;
if (!controller_found(hlist, "name=systemd")) {
ERROR("no systemd controller mountpoint found");
return false;
}
if (!controller_found(hlist, "freezer")) { if (!controller_found(hlist, "freezer")) {
ERROR("no freezer controller mountpoint found"); ERROR("no freezer controller mountpoint found");
return false; return false;
......
...@@ -226,7 +226,12 @@ void prune_init_scope(char *cg) ...@@ -226,7 +226,12 @@ void prune_init_scope(char *cg)
/* /*
* Return true if this is a subsystem which we cannot do * Return true if this is a subsystem which we cannot do
* without * without.
*
* systemd is questionable here. The way callers currently
* use this, if systemd 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.
*/ */
bool is_crucial_cgroup_subsystem(const char *s) bool is_crucial_cgroup_subsystem(const char *s)
{ {
......
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