]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
cgroup: assume the use of v1 when all the preceding checks fail (#7366)
authorEvgeny Vereshchagin <evvers@ya.ru>
Fri, 17 Nov 2017 08:47:49 +0000 (11:47 +0300)
committerLennart Poettering <lennart@poettering.net>
Fri, 17 Nov 2017 08:47:49 +0000 (09:47 +0100)
This patch restores the default that was changed in 2977724b09eb997fc8,
making the tools depending on it work again.

Closes: #6477 and https://github.com/lxc/lxc/issues/1669
src/basic/cgroup-util.c

index 23d4f4a3090da7a84a10540af8fc90a06e30b339..b52104768fc345c2e928c347b199d14538a111d6 100644 (file)
@@ -2460,21 +2460,22 @@ static int cg_unified_update(void) {
                         log_debug("Found cgroup2 on /sys/fs/cgroup/unified, unified hierarchy for systemd controller");
                         unified_cache = CGROUP_UNIFIED_SYSTEMD;
                         unified_systemd_v232 = false;
-                } else if (statfs("/sys/fs/cgroup/systemd/", &fs) == 0 &&
-                           F_TYPE_EQUAL(fs.f_type, CGROUP2_SUPER_MAGIC)) {
-                        log_debug("Found cgroup2 on /sys/fs/cgroup/systemd, unified hierarchy for systemd controller (v232 variant)");
-                        unified_cache = CGROUP_UNIFIED_SYSTEMD;
-                        unified_systemd_v232 = true;
                 } else {
                         if (statfs("/sys/fs/cgroup/systemd/", &fs) < 0)
                                 return log_debug_errno(errno, "statfs(\"/sys/fs/cgroup/systemd\" failed: %m");
-                        if (!F_TYPE_EQUAL(fs.f_type, CGROUP_SUPER_MAGIC)) {
-                                log_debug("Unexpected filesystem type %llx mounted on /sys/fs/cgroup/systemd.",
+
+                        if (F_TYPE_EQUAL(fs.f_type, CGROUP2_SUPER_MAGIC)) {
+                                log_debug("Found cgroup2 on /sys/fs/cgroup/systemd, unified hierarchy for systemd controller (v232 variant)");
+                                unified_cache = CGROUP_UNIFIED_SYSTEMD;
+                                unified_systemd_v232 = true;
+                        } else if (F_TYPE_EQUAL(fs.f_type, CGROUP_SUPER_MAGIC)) {
+                                log_debug("Found cgroup on /sys/fs/cgroup/systemd, legacy hierarchy");
+                                unified_cache = CGROUP_UNIFIED_NONE;
+                        } else {
+                                log_debug("Unexpected filesystem type %llx mounted on /sys/fs/cgroup/systemd, assuming legacy hierarchy",
                                           (unsigned long long) fs.f_type);
-                                return -ENOMEDIUM;
+                                unified_cache = CGROUP_UNIFIED_NONE;
                         }
-                        log_debug("Found cgroup on /sys/fs/cgroup/systemd, legacy hierarchy");
-                        unified_cache = CGROUP_UNIFIED_NONE;
                 }
         } else {
                 log_debug("Unknown filesystem type %llx mounted on /sys/fs/cgroup.",