[PATCH RESEND 15/20] qemu_cgroup.c: skip absent PCI devices in qemuTeardownHostdevCgroup()

Laine Stump laine at redhat.com
Mon Feb 22 03:57:28 UTC 2021


On 1/18/21 2:53 PM, Daniel Henrique Barboza wrote:
> There is no need to bother with cgroup tearing down for absent
> PCI devices, given that their entries in the sysfs are already
> gone.
> 
> Signed-off-by: Daniel Henrique Barboza <danielhb413 at gmail.com>
> ---
>   src/qemu/qemu_cgroup.c | 10 ++++++++++
>   1 file changed, 10 insertions(+)
> 
> diff --git a/src/qemu/qemu_cgroup.c b/src/qemu/qemu_cgroup.c
> index f7146a71c9..050df21d87 100644
> --- a/src/qemu/qemu_cgroup.c
> +++ b/src/qemu/qemu_cgroup.c
> @@ -467,6 +467,16 @@ qemuTeardownHostdevCgroup(virDomainObjPtr vm,
>       if (!virCgroupHasController(priv->cgroup, VIR_CGROUP_CONTROLLER_DEVICES))
>           return 0;
>   
> +    /* Skip tearing down Cgroup for hostdevs that represents absent
> +     * PCI devices, e.g. SR-IOV virtual functions that were removed from
> +     * the host while the domain was still running. */
> +    if (virHostdevIsPCIDevice(dev)) {
> +        const virDomainHostdevSubsysPCI *pcisrc = &dev->source.subsys.u.pci;
> +
> +        if (!virPCIDeviceExists(&pcisrc->addr))
> +            return 0;

I would have skipped creating the temprorary variable, since it's only 
used once, but.. eh. Potato, potahtoe.

Reviewed-by: Laine Stump <laine at redhat.com>

> +    }
> +
>       if (qemuDomainGetHostdevPath(dev, &path, NULL) < 0)
>           return -1;
>   
> 




More information about the libvir-list mailing list