[Libvir] Semantic of xenUnifiedType()

Daniel Veillard veillard at redhat.com
Mon Dec 3 09:35:33 UTC 2007


On Fri, Nov 30, 2007 at 03:59:29PM +0000, Daniel P. Berrange wrote:
> On Fri, Nov 30, 2007 at 10:55:37AM -0500, Daniel Veillard wrote:
> > It does the following:
> > 
> > static const char *
> > xenUnifiedType (virConnectPtr conn)
> > {
> >     GET_PRIVATE(conn);
> >     int i;
> >     const char *ret;
> > 
> >     for (i = 0; i < XEN_UNIFIED_NR_DRIVERS; ++i)
> >         if (priv->opened[i] && drivers[i]->type) {
> >             ret = drivers[i]->type (conn);
> >             if (ret) return ret;
> >         }
> > 
> >     return NULL;
> > }
> > 
> > as a result if running as an user virConnectGetType() returns
> > "XenXM" because the XM file parser backend ended up being registered
> > first. I think that's bogus and we should change the function to 
> > return "Xen" in any case and drop the virDrvGetType type from
> > struct xenUnifiedDriver and all associated functions in the various
> > back-ends.
> > 
> >   Opinion ?
> 
> Yes, it should always return 'Xen' - calling out to individual backends
> is pointless - the fact that there are multiple delegations inside the
> Xen unified driver, is an implementation detail which shouldn't leak
> out.

  Okay, agreed, cleaned up in CVS,

Daniel

-- 
Red Hat Virtualization group http://redhat.com/virtualization/
Daniel Veillard      | virtualization library  http://libvirt.org/
veillard at redhat.com  | libxml GNOME XML XSLT toolkit  http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine  http://rpmfind.net/




More information about the libvir-list mailing list