
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@redhat.com | libxml GNOME XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/