On Mon, Oct 15, 2007 at 08:33:08PM +0100, Daniel P. Berrange wrote:
On Mon, Oct 15, 2007 at 04:37:22PM +0100, Richard W.M. Jones wrote:
> Daniel P. Berrange wrote:
> >It is a bug in xend_internal.c
> >
> > if (strcasecmp (name, "xen") == 0 ||
> > strncasecmp (name, "xen:///", 7) == 0) {
> >
> >
> >This needs to die & be replaced with code calling the libxml URI parsing.
> >I fixed a similar bug in the QEMU driver a few weeks back.
>
> Sorry yes, Dan is right, so ignore the hack/patch I just posted.
>
> In fact xen_unified.c already parses the URI once, so we just need to
> change the xen_unified <-> xen low level drivers API to pass the parsed
> URI instead of the name string.
In fact we could take it one bit further. Have the 'do_open' method in
the src/libvirt.c file parse it & change the src/driver.h so that the
open method for drivers takes xmlURIPtr instead of a char *. That way
we guarentee that all drivers will use a correctly parsed form.
Sounds good but we would have to reserialize for the network access
I assume.
Daniel
--
Red Hat Virtualization group
http://redhat.com/virtualization/
Daniel Veillard | virtualization library
http://libvirt.org/
veillard(a)redhat.com | libxml GNOME XML XSLT toolkit
http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine
http://rpmfind.net/