diff --git a/src/util/vircgroupv2.c b/src/util/vircgroupv2.c index 4319ceb200..c50ceacc0f 100644 --- a/src/util/vircgroupv2.c +++ b/src/util/vircgroupv2.c @@ -445,6 +445,22 @@ virCgroupV2AddTask(virCgroupPtr group, } +static int +virCgroupV2HasEmptyTasks(virCgroupPtr cgroup, + int controller) +{ + int ret = -1; + VIR_AUTOFREE(char *) content = NULL; + + ret = virCgroupGetValueStr(cgroup, controller, "cgroup.procs", &content); + + if (ret == 0 && content[0] == '\0') + ret = 1; + + return ret; +} + + virCgroupBackend virCgroupV2Backend = { .type = VIR_CGROUP_BACKEND_TYPE_V2, @@ -463,6 +479,7 @@ virCgroupBackend virCgroupV2Backend = { .makeGroup = virCgroupV2MakeGroup, .remove = virCgroupV2Remove, .addTask = virCgroupV2AddTask, + .hasEmptyTasks = virCgroupV2HasEmptyTasks, };