[libvirt] [PATCH v3 13/13] Initialize qemuImageBinary path at startup

Jiri Denemark jdenemar at redhat.com
Tue Feb 5 08:33:07 UTC 2013


On Fri, Feb 01, 2013 at 14:00:47 +0100, Jiri Denemark wrote:
> On Fri, Feb 01, 2013 at 11:18:35 +0000, Daniel P. Berrange wrote:
> > From: "Daniel P. Berrange" <berrange at redhat.com>
> > 
> > ---
> >  src/qemu/qemu_domain.c | 11 +++--------
> >  src/qemu/qemu_driver.c |  3 +++
> >  2 files changed, 6 insertions(+), 8 deletions(-)
> > 
> > diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
> > index cb031d8..5bf0ab0 100644
> > --- a/src/qemu/qemu_domain.c
> > +++ b/src/qemu/qemu_domain.c
> > @@ -1612,14 +1612,9 @@ cleanup:
> >  const char *
> >  qemuFindQemuImgBinary(virQEMUDriverPtr driver)
> >  {
> > -    if (!driver->qemuImgBinary) {
> > -        driver->qemuImgBinary = virFindFileInPath("kvm-img");
> > -        if (!driver->qemuImgBinary)
> > -            driver->qemuImgBinary = virFindFileInPath("qemu-img");
> > -        if (!driver->qemuImgBinary)
> > -            virReportError(VIR_ERR_INTERNAL_ERROR,
> > -                           "%s", _("unable to find kvm-img or qemu-img"));
> > -    }
> > +    if (!driver->qemuImgBinary)
> > +        virReportError(VIR_ERR_INTERNAL_ERROR,
> > +                       "%s", _("unable to find kvm-img or qemu-img"));
> >  
> >      return driver->qemuImgBinary;
> >  }
> > diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
> > index 1644792..ed44b06 100644
> > --- a/src/qemu/qemu_driver.c
> > +++ b/src/qemu/qemu_driver.c
> > @@ -738,6 +738,9 @@ qemuStartup(bool privileged,
> >                   virStrerror(-rc, ebuf, sizeof(ebuf)));
> >      }
> >  
> > +    qemu_driver->qemuImgBinary = virFindFileInPath("kvm-img");
> > +    if (!qemu_driver->qemuImgBinary)
> > +        qemu_driver->qemuImgBinary = virFindFileInPath("qemu-img");
> >  
> >      if (!(qemu_driver->lockManager =
> >            virLockManagerPluginNew(cfg->lockManagerName ?
> 
> After this patch, users cannot install missing {qemu,kvm}-img on the fly
> without restarting libvirtd. However, since the binary is either part of
> qemu package or the package depend on it and we already require libvirtd
> restart after installing qemu, this change seems fine.
> 
> ACK

And this patch should also change the annotation in

     /* Lazy-load on first use. Unsafe. XXX */
     char *qemuImgBinary;

Jirka




More information about the libvir-list mailing list