From: "Daniel P. Berrange" <berrange@xxxxxxxxxx> 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@xxxxxxxxxx> --- src/xen/xen_driver.c | 11 +---------- src/xen/xen_driver.h | 1 - src/xen/xen_hypervisor.c | 1 - src/xen/xend_internal.c | 31 ------------------------------- src/xen/xend_internal.h | 1 - 5 files changed, 1 insertion(+), 44 deletions(-) diff --git a/src/xen/xen_driver.c b/src/xen/xen_driver.c index 109a074..951f6e7 100644 --- a/src/xen/xen_driver.c +++ b/src/xen/xen_driver.c @@ -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); } diff --git a/src/xen/xen_driver.h b/src/xen/xen_driver.h index 70c1226..803fee7 100644 --- a/src/xen/xen_driver.h +++ b/src/xen/xen_driver.h @@ -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; diff --git a/src/xen/xen_hypervisor.c b/src/xen/xen_hypervisor.c index 6b41898..012cb0e 100644 --- a/src/xen/xen_hypervisor.c +++ b/src/xen/xen_hypervisor.c @@ -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, diff --git a/src/xen/xend_internal.c b/src/xen/xend_internal.c index eb3e63e..eb11408 100644 --- a/src/xen/xend_internal.c +++ b/src/xen/xend_internal.c @@ -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, diff --git a/src/xen/xend_internal.h b/src/xen/xend_internal.h index e5c0896..41d8341 100644 --- a/src/xen/xend_internal.h +++ b/src/xen/xend_internal.h @@ -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); -- 1.8.1.4 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list