[libvirt] [PATCH] qemu: store the emulator name in the capabilities XML

Daniel P. Berrangé berrange at redhat.com
Wed Dec 18 15:02:08 UTC 2019


On Wed, Dec 18, 2019 at 03:41:15PM +0100, Michal Prívozník wrote:
> On 12/18/19 3:03 PM, Daniel P. Berrangé wrote:
> > We don't need this for any functional purpose, but when debugging hosts
> > it is useful to know what binary a given capabilities XML document is
> > associated with.
> > 
> > Signed-off-by: Daniel P. Berrangé <berrange at redhat.com>
> > ---
> >  src/qemu/qemu_capabilities.c | 15 +++++++++++++++
> >  1 file changed, 15 insertions(+)
> > 
> > diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
> > index 2223589058..7d47fa4d02 100644
> > --- a/src/qemu/qemu_capabilities.c
> > +++ b/src/qemu/qemu_capabilities.c
> > @@ -3852,6 +3852,7 @@ virQEMUCapsParseSEVInfo(virQEMUCapsPtr qemuCaps, xmlXPathContextPtr ctxt)
> >   * Parsing a doc that looks like
> >   *
> >   * <qemuCaps>
> > + *   <emulator>/some/path</emulator>
> >   *   <qemuctime>234235253</qemuctime>
> >   *   <selfctime>234235253</selfctime>
> >   *   <selfvers>1002016</selfvers>
> > @@ -3895,6 +3896,18 @@ virQEMUCapsLoadCache(virArch hostArch,
> >          goto cleanup;
> >      }
> >  
> > +    if (!(str = virXPathString("string(./emulator)", ctxt))) {
> > +        virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
> > +                       _("missing emulator in QEMU capabilities cache"));
> > +        goto cleanup;
> 
> Since no caps stored on a disk have this, this change will trigger full
> caps reprobe. I'm not saying it's a bad thing, just so that we are aware
> of this.

We reprobe any time libvirtd itself changes its modification
time so all those existing caps are already invalidated.

> > +    virBufferEscapeString(&buf, "<emulator>%s</emulator>\n",
> > +                          qemuCaps->binary);
> >      virBufferAsprintf(&buf, "<qemuctime>%llu</qemuctime>\n",
> >                        (long long)qemuCaps->ctime);
> >      virBufferAsprintf(&buf, "<selfctime>%llu</selfctime>\n",
> > 
> 
> What I'm missing here is change to our tests/qemucapabilitiesdata/*.xml
> that would introduce the <emulator/> to each one of them.

Sigh, yes, I knew there was something I forgot todo yesterday when
writing this.

Regards,
Daniel
-- 
|: 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