]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
Fix xen capabilities data creation
authorDaniel P. Berrange <berrange@redhat.com>
Fri, 5 Sep 2008 11:35:43 +0000 (11:35 +0000)
committerDaniel P. Berrange <berrange@redhat.com>
Fri, 5 Sep 2008 11:35:43 +0000 (11:35 +0000)
ChangeLog
src/xen_internal.c
src/xen_internal.h
src/xen_unified.c
tests/xencapstest.c

index 16c3f049d283a84819939398bad653bdd455f129..052f05659d764a2a5b24501411a0bc464e0dfcb1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Thu Sep  5 12:33:26 BST 2008 Daniel P. Berrange <berrange@redhat.com>
+
+       * src/xen_unified.c, src/xen_internal.c, src/xen_internal.h,
+       tests/xencapstest.c: Pass connection object into capabilities
+       constructor since it needs to talk to XenD
+
 Thu Sep  4 15:33:26 CEST 2008 Daniel Veillard <veillard@redhat.com>
 
        * src/storage_backend_fs.c: fix a signed/unsigned issue breaking
index 36c5bb74ff963cd4fe023d0911f9cdc079641988..3cfc5e3cfbfa42f34ba90b0b09837366e35eb058 100644 (file)
@@ -2159,7 +2159,8 @@ struct guest_arch {
 
 
 static virCapsPtr
-xenHypervisorBuildCapabilities(const char *hostmachine,
+xenHypervisorBuildCapabilities(virConnectPtr conn,
+                               const char *hostmachine,
                                int host_pae,
                                char *hvm_type,
                                struct guest_arch *guest_archs,
@@ -2185,7 +2186,7 @@ xenHypervisorBuildCapabilities(const char *hostmachine,
 
 
     if (sys_interface_version >= 4) {
-        if (xenDaemonNodeGetTopology(NULL, caps) != 0) {
+        if (xenDaemonNodeGetTopology(conn, caps) != 0) {
             virCapabilitiesFree(caps);
             return NULL;
         }
@@ -2271,7 +2272,8 @@ xenHypervisorBuildCapabilities(const char *hostmachine,
  * Return the capabilities of this hypervisor.
  */
 virCapsPtr
-xenHypervisorMakeCapabilitiesInternal(const char *hostmachine,
+xenHypervisorMakeCapabilitiesInternal(virConnectPtr conn,
+                                      const char *hostmachine,
                                       FILE *cpuinfo, FILE *capabilities)
 {
     char line[1024], *str, *token;
@@ -2404,7 +2406,8 @@ xenHypervisorMakeCapabilitiesInternal(const char *hostmachine,
         }
     }
 
-    if ((caps = xenHypervisorBuildCapabilities(hostmachine,
+    if ((caps = xenHypervisorBuildCapabilities(conn,
+                                               hostmachine,
                                                host_pae,
                                                hvm_type,
                                                guest_archs,
@@ -2425,7 +2428,7 @@ xenHypervisorMakeCapabilitiesInternal(const char *hostmachine,
  * Return the capabilities of this hypervisor.
  */
 virCapsPtr
-xenHypervisorMakeCapabilities(void)
+xenHypervisorMakeCapabilities(virConnectPtr conn)
 {
     virCapsPtr caps;
     FILE *cpuinfo, *capabilities;
@@ -2451,7 +2454,10 @@ xenHypervisorMakeCapabilities(void)
         }
     }
 
-    caps = xenHypervisorMakeCapabilitiesInternal(utsname.machine, cpuinfo, capabilities);
+    caps = xenHypervisorMakeCapabilitiesInternal(conn,
+                                                 utsname.machine,
+                                                 cpuinfo,
+                                                 capabilities);
 
     if (cpuinfo)
         fclose(cpuinfo);
index eeeaf7cfea5f8aaf94c0ee253c45bb55b55c2b08..d685a6c426a72b6a11c8302d93569eeadd6e9b09 100644 (file)
@@ -17,7 +17,7 @@
 extern struct xenUnifiedDriver xenHypervisorDriver;
 int    xenHypervisorInit               (void);
 
-virCapsPtr xenHypervisorMakeCapabilities (void);
+virCapsPtr xenHypervisorMakeCapabilities (virConnectPtr conn);
 
 /* The following calls are made directly by the Xen proxy: */
 
@@ -38,7 +38,8 @@ int   xenHypervisorClose              (virConnectPtr conn);
 int    xenHypervisorGetVersion         (virConnectPtr conn,
                                          unsigned long *hvVer);
 virCapsPtr
-        xenHypervisorMakeCapabilitiesInternal(const char *hostmachine,
+        xenHypervisorMakeCapabilitiesInternal(virConnectPtr conn,
+                                              const char *hostmachine,
                                               FILE *cpuinfo,
                                               FILE *capabilities);
 char *
index 17dc335d8cc26d1f55f7e532a49294df06fc830e..58073915ba3cc774bd16cfd4c46ad040f4a3b6a8 100644 (file)
@@ -333,7 +333,7 @@ xenUnifiedOpen (virConnectPtr conn, xmlURIPtr uri, virConnectAuthPtr auth, int f
         }
     }
 
-    if (!(priv->caps = xenHypervisorMakeCapabilities())) {
+    if (!(priv->caps = xenHypervisorMakeCapabilities(conn))) {
         DEBUG0("Failed to make capabilities");
         goto fail;
     }
index 2dd5bb51ef159eb242109c71eebe43ffa680c1b9..1c173d3b4e371b8420a29080709d1cfe67d90b64 100644 (file)
@@ -49,7 +49,7 @@ static int testCompareFiles(const char *hostmachine,
   if (!(fp2 = fopen(capabilities, "r")))
       goto fail;
 
-  if (!(caps = xenHypervisorMakeCapabilitiesInternal(hostmachine, fp1, fp2)))
+  if (!(caps = xenHypervisorMakeCapabilitiesInternal(NULL, hostmachine, fp1, fp2)))
       goto fail;
 
   if (!(actualxml = virCapabilitiesFormatXML(caps)))