On Thu, Oct 04, 2018 at 02:55:30PM +0200, Fabiano Fidêncio wrote:
On Tue, 2018-10-02 at 10:44 +0200, Pavel Hrdina wrote:
> Signed-off-by: Pavel Hrdina <phrdina(a)redhat.com>
> ---
> src/util/vircgroupv2.c | 17 +++++++++++++++++
> 1 file changed, 17 insertions(+)
>
> diff --git a/src/util/vircgroupv2.c b/src/util/vircgroupv2.c
> index e7dbace42b..c6a9e0a7df 100644
> --- a/src/util/vircgroupv2.c
> +++ b/src/util/vircgroupv2.c
> @@ -446,6 +446,22 @@ virCgroupV2AddTask(virCgroupPtr group,
> }
>
>
> +static int
> +virCgroupV2HasEmptyTasks(virCgroupPtr cgroup,
> + int controller)
> +{
> + int ret = -1;
> + VIR_AUTOFREE(char *) content = NULL;
> +
Just a nitpick here. I've noticed that in the v1 you're actually
checking whether cgroup is NULL or not.
Shouldn't you consider doing the same here as well?
Sure, good point :) but if cgroup is NULL it will segfault in
virCgroupHasEmptyTasks because there we call
cgroup->backend->hasEmptyTasks(cgroup, controller);
The proper fix would be remove the NULL check from cgroup v1 backend.
Another point to this topic, the code in libvirt using cgroups currently
relies on cgroup to be allocated (LXC) or cgroup to be available and
allocated (QEMU). So technically it should not never happen unless
there is programming error.
Pavel