[Libvir] Semantic of xenUnifiedType()

Daniel P. Berrange berrange at redhat.com
Fri Nov 30 15:59:29 UTC 2007


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.

Dan.
-- 
|=- Red Hat, Engineering, Emerging Technologies, Boston.  +1 978 392 2496 -=|
|=-           Perl modules: http://search.cpan.org/~danberr/              -=|
|=-               Projects: http://freshmeat.net/~danielpb/               -=|
|=-  GnuPG: 7D3B9505   F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505  -=| 




More information about the libvir-list mailing list