[libvirt] [PATCH 06/40] Simplify the Xen get version driver method
Jim Fehlig
jfehlig at suse.com
Mon May 6 16:19:53 UTC 2013
Daniel P. Berrange wrote:
> From: "Daniel P. Berrange" <berrange at redhat.com>
>
> 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 at redhat.com>
> ---
> 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(-)
>
ACK.
Regards,
Jim
> 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);
>
More information about the libvir-list
mailing list