]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
nspawn: check env var first, detect second
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Sun, 2 Oct 2016 18:07:22 +0000 (20:07 +0200)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Sat, 8 Oct 2016 18:48:41 +0000 (14:48 -0400)
If we are going to use the env var to override the detection result
anyway, there is not point in doing the detection, especially that
it can fail.

src/nspawn/nspawn.c

index a08377b3a3e3d9eeaf3dc1c7866971dc535956eb..4ce0e2e0c1b25fba84c6eac86ab7d2d32ba8d986 100644 (file)
@@ -320,13 +320,6 @@ static int detect_unified_cgroup_hierarchy(void) {
         const char *e;
         int r, all_unified, systemd_unified;
 
-        all_unified = cg_all_unified();
-        systemd_unified = cg_unified(SYSTEMD_CGROUP_CONTROLLER);
-
-        if (all_unified < 0 || systemd_unified < 0)
-                return log_error_errno(all_unified < 0 ? all_unified : systemd_unified,
-                                       "Failed to determine whether the unified cgroups hierarchy is used: %m");
-
         /* Allow the user to control whether the unified hierarchy is used */
         e = getenv("UNIFIED_CGROUP_HIERARCHY");
         if (e) {
@@ -341,6 +334,13 @@ static int detect_unified_cgroup_hierarchy(void) {
                 return 0;
         }
 
+        all_unified = cg_all_unified();
+        systemd_unified = cg_unified(SYSTEMD_CGROUP_CONTROLLER);
+
+        if (all_unified < 0 || systemd_unified < 0)
+                return log_error_errno(all_unified < 0 ? all_unified : systemd_unified,
+                                       "Failed to determine whether the unified cgroups hierarchy is used: %m");
+
         /* Otherwise inherit the default from the host system */
         if (all_unified > 0)
                 arg_unified_cgroup_hierarchy = CGROUP_UNIFIED_ALL;