[libvirt] [PATCH 2/2] vircgroupv2: fix virCgroupV2ValidateMachineGroup

Michal Privoznik mprivozn at redhat.com
Thu Dec 13 15:28:30 UTC 2018


On 12/12/18 11:17 AM, Pavel Hrdina wrote:
> When libvirt is reconnecting to running domain that uses cgroup v2
> the QEMU process reports cgroup for the emulator directory because the
> main thread is in that cgroup.  We need to remove the "/emulator" part
> in order to match with the root cgroup directory name for that domain.
> 
> Signed-off-by: Pavel Hrdina <phrdina at redhat.com>
> ---
>  src/util/vircgroupv2.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/src/util/vircgroupv2.c b/src/util/vircgroupv2.c
> index dc2b2a65bc..b9925967d7 100644
> --- a/src/util/vircgroupv2.c
> +++ b/src/util/vircgroupv2.c
> @@ -118,6 +118,12 @@ virCgroupV2ValidateMachineGroup(virCgroupPtr group,
>      if (virCgroupPartitionEscape(&scopename) < 0)
>          return false;
>  
> +    if (!(tmp = strrchr(group->unified.placement, '/')))
> +        return false;
> +
> +    if (STREQ(tmp, "/emulator"))
> +        *tmp = '\0';
> +

How about:

    if (STREQ(tmp, "/emulator")) {
        *tmp = '\0';

        if (!(tmp = strrchr(group->unified.placement, '/')))
            return false;
    }


ACK regardless.

Michal




More information about the libvir-list mailing list