
On 11/08/2010 02:31 PM, Matthias Bolte wrote:
xenHypervisorInit is called from xenRegister and detects the sys_interface_version. As Andy figured out correctly, the xencapstest calls xenHypervisorMakeCapabilitiesInternal with conn == NULL. xenHypervisorMakeCapabilitiesInternal then calls xenDaemonNodeGetTopology with conn == NULL if sys_interface_version >= SYS_IFACE_MIN_VERS_NUMA holds. This is true when you have Xen installed, otherwise sys_interface_version is -1. Therefore this test will fail when ypu have recent Xen installed.
diff --git a/src/xen/xen_hypervisor.c b/src/xen/xen_hypervisor.c index c5cc880..95b3ca2 100644 --- a/src/xen/xen_hypervisor.c +++ b/src/xen/xen_hypervisor.c @@ -2244,8 +2244,7 @@ xenHypervisorBuildCapabilities(virConnectPtr conn, "xenmigr") < 0) goto no_memory;
- - if (sys_interface_version >= SYS_IFACE_MIN_VERS_NUMA) { + if (sys_interface_version >= SYS_IFACE_MIN_VERS_NUMA && conn != NULL) { if (xenDaemonNodeGetTopology(conn, caps) != 0) { virCapabilitiesFree(caps); return NULL;
ACK if you'd like to turn that into a formal commit. -- Eric Blake eblake@redhat.com +1-801-349-2682 Libvirt virtualization library http://libvirt.org