]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
cgroup: make sure that cpuset is supported on cgroup v2 and disabled with v1
authorMichal Sekletár <msekleta@redhat.com>
Tue, 3 Mar 2020 10:45:00 +0000 (11:45 +0100)
committerThe Plumber <50238977+systemd-rhel-bot@users.noreply.github.com>
Mon, 9 Mar 2020 13:00:24 +0000 (14:00 +0100)
Resolves: #1808940

(rhel-only)

src/basic/cgroup-util.c

index 6f47c3aacbaa20f9eba0b7893b846a2de80d936e..92bc1f25431a055069023449c673e68718d822a5 100644 (file)
@@ -2353,10 +2353,10 @@ int cg_mask_supported(CGroupMask *ret) {
                 if (r < 0)
                         return r;
 
-                /* Currently, we support the cpu, memory, io and pids
+                /* Currently, we support the cpu, memory, io, pids and cpuset
                  * controller in the unified hierarchy, mask
                  * everything else off. */
-                mask &= CGROUP_MASK_CPU | CGROUP_MASK_MEMORY | CGROUP_MASK_IO | CGROUP_MASK_PIDS;
+                mask &= CGROUP_MASK_CPU | CGROUP_MASK_MEMORY | CGROUP_MASK_IO | CGROUP_MASK_PIDS | CGROUP_MASK_CPUSET;
 
         } else {
                 CGroupController c;
@@ -2367,6 +2367,9 @@ int cg_mask_supported(CGroupMask *ret) {
                 for (c = 0; c < _CGROUP_CONTROLLER_MAX; c++) {
                         const char *n;
 
+                        if (c == CGROUP_CONTROLLER_CPUSET)
+                                continue;
+
                         n = cgroup_controller_to_string(c);
                         if (controller_is_accessible(n) >= 0)
                                 mask |= CGROUP_CONTROLLER_TO_MASK(c);