mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-10 23:07:44 +00:00
util: vircgroupv2: don't error out if enabling controller fails
Currently CPU controller cannot be enabled if there is any real-time task running and is assigned to non-root cgroup which is the case on several distributions with graphical environment. Instead of erroring out treat it as the controller is not available. Signed-off-by: Pavel Hrdina <phrdina@redhat.com> Reviewed-by: Peter Krempa <pkrempa@redhat.com>
This commit is contained in:
parent
29a94a3fef
commit
1d49cdcd11
@ -438,6 +438,8 @@ virCgroupV2MakeGroup(virCgroupPtr parent ATTRIBUTE_UNUSED,
|
||||
} else {
|
||||
size_t i;
|
||||
for (i = 0; i < VIR_CGROUP_CONTROLLER_LAST; i++) {
|
||||
int rc;
|
||||
|
||||
if (!virCgroupV2HasController(parent, i))
|
||||
continue;
|
||||
|
||||
@ -445,8 +447,17 @@ virCgroupV2MakeGroup(virCgroupPtr parent ATTRIBUTE_UNUSED,
|
||||
if (i == VIR_CGROUP_CONTROLLER_CPUACCT)
|
||||
continue;
|
||||
|
||||
if (virCgroupV2EnableController(parent, i, true) < 0)
|
||||
rc = virCgroupV2EnableController(parent, i, false);
|
||||
if (rc < 0) {
|
||||
if (rc == -2) {
|
||||
virResetLastError();
|
||||
VIR_DEBUG("failed to enable '%s' controller, skipping",
|
||||
virCgroupV2ControllerTypeToString(i));
|
||||
group->unified.controllers &= ~(1 << i);
|
||||
continue;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user