
On Thu, Oct 04, 2018 at 01:18:14PM +0200, Michal Privoznik wrote:
On 10/02/2018 10:43 AM, Pavel Hrdina wrote:
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- src/util/vircgroupv2.c | 8 ++++++++ 1 file changed, 8 insertions(+)
diff --git a/src/util/vircgroupv2.c b/src/util/vircgroupv2.c index 5cd8e86b97..57be0b92c9 100644 --- a/src/util/vircgroupv2.c +++ b/src/util/vircgroupv2.c @@ -306,6 +306,13 @@ virCgroupV2HasController(virCgroupPtr group, }
+static int +virCgroupV2GetAnyController(virCgroupPtr group) +{ + return ffs(group->unified.controllers) - 1;
Ah, for ffs() bits are numbered from 1. Okay, it just took me a while to realize that. Because in C we don't usually index things from 1, do we?
I figured that out the hard way :) going through debug logs and investigating why the code is not working how it should. Reading man page would probably help me to realize that sooner.
+} + + virCgroupBackend virCgroupV2Backend = { .type = VIR_CGROUP_BACKEND_TYPE_V2,
@@ -319,6 +326,7 @@ virCgroupBackend virCgroupV2Backend = { .stealPlacement = virCgroupV2StealPlacement, .detectControllers = virCgroupV2DetectControllers, .hasController = virCgroupV2HasController, + .getAnyController = virCgroupV2GetAnyController, };
ACK
Michal