[libvirt] [RFC] Question regarding the validity of QEMU capabilities

Daniel P. Berrange berrange at redhat.com
Fri Oct 20 12:12:59 UTC 2017

On Fri, Oct 20, 2017 at 01:10:14PM +0200, Pavel Hrdina wrote:
> On Fri, Oct 20, 2017 at 12:59:51PM +0200, Marc Hartmayer wrote:
> > Hi all,
> > 
> > the actual capabilities of QEMU are depending on the host. This
> > includes dependencies like which kernel modules are loaded or which
> > kernel parameters are used (e.g. kvm.nested). Therefore, after a
> > restart we cannot be sure that the QEMU capabilities remain the same.
> > 
> > How can we solve this problem?
> Hi,
> thanks for bringing up this issue, we kind of already know about it
> but it's good idea to discuss it publicly.
> > 
> > I have come up with two ways:
> >  - reprobe the capabilities with every host reboot
> This is the solution that was agreed on but nobody was motivated enough
> to write the code :).

Reprobing QEMU is quite heavy.  I wonder if we should change slightly.

Make our capabilities cache *only* contain stuff reported by the QEMU
binary. For other stuff we detect from the host, never cache it.

That way we can just revalidate the host stuff on every libvirtd
startup, but keep the slow/heavy QEMU cache untouched

> >  - check for every possible change in virQEMUCapsIsValid... (this is
> >    already done for KVM). In my opinion this is not the way to go.

|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

More information about the libvir-list mailing list