summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2010-11-21 22:29:10 +0100
committerLennart Poettering <lennart@poettering.net>2010-11-21 22:29:10 +0100
commit600a328fc28c521ee19a0a1c22b14e6011275c20 (patch)
tree44f006f4aa8f7f0841bfd77dba37e1a486a4c3af
parentc8b2e52cf6a3b15b610f7efb31b8fff31cc9115c (diff)
mount: do not try to mount disable cgroup controllers
https://bugzilla.redhat.com/show_bug.cgi?id=655222
-rw-r--r--TODO2
-rw-r--r--src/mount-setup.c8
2 files changed, 8 insertions, 2 deletions
diff --git a/TODO b/TODO
index b083529baf..12e292efb8 100644
--- a/TODO
+++ b/TODO
@@ -28,7 +28,7 @@
* set_put(), hashmap_put() return values check. i.e. == 0 doesn't free()!
-* chkconfig/systemd-install glue
+* chkconfig/systemd enable glue
* io priority during initialization
diff --git a/src/mount-setup.c b/src/mount-setup.c
index 14ac18125f..7eb806e7fd 100644
--- a/src/mount-setup.c
+++ b/src/mount-setup.c
@@ -138,8 +138,9 @@ static int mount_cgroup_controllers(void) {
for (;;) {
MountPoint p;
char *controller, *where;
+ int enabled = false;
- if (fscanf(f, "%ms %*i %*i %*i", &controller) != 1) {
+ if (fscanf(f, "%ms %*i %*i %i", &controller, &enabled) != 1) {
if (feof(f))
break;
@@ -149,6 +150,11 @@ static int mount_cgroup_controllers(void) {
goto finish;
}
+ if (!enabled) {
+ free(controller);
+ continue;
+ }
+
if (asprintf(&where, "/sys/fs/cgroup/%s", controller) < 0) {
free(controller);
r = -ENOMEM;