]> xenbits.xensource.com Git - libvirt.git/commitdiff
Simplify the Xen get version driver method
authorDaniel P. Berrange <berrange@redhat.com>
Tue, 30 Apr 2013 13:53:50 +0000 (14:53 +0100)
committerDaniel P. Berrange <berrange@redhat.com>
Thu, 9 May 2013 12:16:19 +0000 (13:16 +0100)
The hypervisor driver is mandatory, so the the call to
xenHypervisorGetVersion must always succeed. Thus there
is no need to ever run xenDaemonGetVersion

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
src/xen/xen_driver.c
src/xen/xen_driver.h
src/xen/xen_hypervisor.c
src/xen/xend_internal.c
src/xen/xend_internal.h

index 9977d3198c6568eccf25f66362f25176129982fc..74c31f78a59effbe384a185300e5c65e5984f138 100644 (file)
@@ -512,16 +512,7 @@ xenUnifiedConnectSupportsFeature(virConnectPtr conn ATTRIBUTE_UNUSED, int featur
 static int
 xenUnifiedConnectGetVersion(virConnectPtr conn, unsigned long *hvVer)
 {
-    xenUnifiedPrivatePtr priv = conn->privateData;
-    int i;
-
-    for (i = 0; i < XEN_UNIFIED_NR_DRIVERS; ++i)
-        if (priv->opened[i] &&
-            drivers[i]->xenVersion &&
-            drivers[i]->xenVersion(conn, hvVer) == 0)
-            return 0;
-
-    return -1;
+    return xenHypervisorGetVersion(conn, hvVer);
 }
 
 
index 70c122615b93b34c27f79bd57e4cc57a11e713ac..803fee7c040296fbf9a01c1c54e85b73c2c75119 100644 (file)
@@ -93,7 +93,6 @@ extern int xenRegister (void);
  * structure with direct calls in xen_unified.c.
  */
 struct xenUnifiedDriver {
-    virDrvConnectGetVersion  xenVersion;
     virDrvConnectGetHostname xenGetHostname;
     virDrvDomainSuspend xenDomainSuspend;
     virDrvDomainResume xenDomainResume;
index cda280a22f6f23df2e6d7fb0e907f4a299d491b6..c0bdf52f8893b40aaa4198df598b37d34950b6c3 100644 (file)
@@ -880,7 +880,6 @@ typedef struct xen_op_v2_dom xen_op_v2_dom;
 static unsigned long long xenHypervisorGetMaxMemory(virDomainPtr domain);
 
 struct xenUnifiedDriver xenHypervisorDriver = {
-    .xenVersion = xenHypervisorGetVersion,
     .xenDomainSuspend = xenHypervisorPauseDomain,
     .xenDomainResume = xenHypervisorResumeDomain,
     .xenDomainDestroyFlags = xenHypervisorDestroyDomainFlags,
index c89da8d1e2d939aacb3dcd20a00c0ace67e81ca0..4866b36d66649d9e618823caafdb8128f82907d7 100644 (file)
@@ -1861,36 +1861,6 @@ xenDaemonNodeGetTopology(virConnectPtr conn, virCapsPtr caps)
     return ret;
 }
 
-/**
- * xenDaemonGetVersion:
- * @conn: pointer to the Xen Daemon block
- * @hvVer: return value for the version of the running hypervisor (OUT)
- *
- * Get the version level of the Hypervisor running.
- *
- * Returns -1 in case of error, 0 otherwise. if the version can't be
- *    extracted by lack of capacities returns 0 and @hvVer is 0, otherwise
- *    @hvVer value is major * 1,000,000 + minor * 1,000 + release
- */
-int
-xenDaemonGetVersion(virConnectPtr conn, unsigned long *hvVer)
-{
-    struct sexpr *root;
-    int major, minor;
-    unsigned long version;
-
-    root = sexpr_get(conn, "/xend/node/");
-    if (root == NULL)
-        return -1;
-
-    major = sexpr_int(root, "node/xen_major");
-    minor = sexpr_int(root, "node/xen_minor");
-    sexpr_free(root);
-    version = major * 1000000 + minor * 1000;
-    *hvVer = version;
-    return 0;
-}
-
 
 /**
  * xenDaemonListDomains:
@@ -3652,7 +3622,6 @@ xenDaemonDomainBlockPeek(virDomainPtr domain,
 }
 
 struct xenUnifiedDriver xenDaemonDriver = {
-    .xenVersion = xenDaemonGetVersion,
     .xenDomainSuspend = xenDaemonDomainSuspend,
     .xenDomainResume = xenDaemonDomainResume,
     .xenDomainShutdown = xenDaemonDomainShutdown,
index e5c089667593cdff2d96d24b1e2c6a25d4becfbe..41d834196bb05e234731da7a9691dc4f85e0a865 100644 (file)
@@ -98,7 +98,6 @@ xenDaemonDomainFetch(virConnectPtr xend,
 int xenDaemonOpen(virConnectPtr conn, virConnectAuthPtr auth,
                   unsigned int flags);
 int xenDaemonClose(virConnectPtr conn);
-int xenDaemonGetVersion(virConnectPtr conn, unsigned long *hvVer);
 int xenDaemonNodeGetInfo(virConnectPtr conn, virNodeInfoPtr info);
 int xenDaemonNodeGetTopology(virConnectPtr conn, virCapsPtr caps);
 int xenDaemonDomainSuspend(virDomainPtr domain);