[libvirt] [PATCH V6] Add libxenlight driver

Daniel Veillard veillard at redhat.com
Mon Mar 21 08:00:45 UTC 2011


On Fri, Mar 18, 2011 at 11:33:20AM +0000, Daniel P. Berrange wrote:
> On Thu, Mar 17, 2011 at 09:17:58PM -0600, Jim Fehlig wrote:
> > diff --git a/src/xen/xen_driver.c b/src/xen/xen_driver.c
> > index 7d08df3..bec9577 100644
> > --- a/src/xen/xen_driver.c
> > +++ b/src/xen/xen_driver.c
> > @@ -50,6 +50,7 @@
> >  #include "uuid.h"
> >  #include "fdstream.h"
> >  #include "files.h"
> > +#include "command.h"
> >  
> >  #define VIR_FROM_THIS VIR_FROM_XEN
> >  
> > @@ -229,6 +230,26 @@ xenUnifiedProbe (void)
> >      return 0;
> >  }
> >  
> > +#ifdef WITH_LIBXL
> > +static int
> > +xenUnifiedXendProbe (void)
> > +{
> > +    virCommandPtr cmd;
> > +    int status;
> > +    int ret = 0;
> > +
> > +    if ((cmd = virCommandNew("/usr/sbin/xend")) != NULL) {
> > +        virCommandAddArg(cmd, "status");
> > +        if (virCommandRun(cmd, &status) == 0) {
> > +            if (status == 0)
> > +                ret = 1;
> > +        }
> > +        virCommandFree(cmd);
> > +    }
> > +    return ret;
> > +}
> 
> It isn't neccessary to check the return status of CommandNew(),
> since if it got OOM, the subsequent API calls with diagnose
> that correctly. You can also add args at the same time.
> 
>    virCommandPtr cmd = virCommandNewArgList("/usr/sbin/xend", "status", NULL);
>    if (virCommandRun(cmd, &status) == 0 && status == 0)
>        ret = 1;
>    virCommandFree(cmd);
> 
> There was another case of this code pattern earlier which can
> be simplified too
> 
> > @@ -292,6 +313,13 @@ xenUnifiedOpen (virConnectPtr conn, virConnectAuthPtr auth, int flags)
> >          }
> >      }
> >  
> > +#ifdef WITH_LIBXL
> > +    /* Decline xen:// URI if xend is not running and libxenlight
> > +     * driver is potentially available. */
> > +    if (!xenUnifiedXendProbe())
> > +        return VIR_DRV_OPEN_DECLINED;
> > +#endif
> > +
> >      /* We now know the URI is definitely for this driver, so beyond
> >       * here, don't return DECLINED, always use ERROR */
> >  
> 
> With this change to virCommandPtr usage, I will happily ACK this
> new driver. I think it is at the stage now where its better to
> have the code in tree, and let people send small incrementall
> followup patches to deal with any further bugs that appear

  ACK too even though this was pushed already, I agree :-)

Daniel


-- 
Daniel Veillard      | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
daniel at veillard.com  | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library  http://libvirt.org/




More information about the libvir-list mailing list