[libvirt] [PATCH 25/40] Simplify the Xen domain define/undefine driver methods
Jim Fehlig
jfehlig at suse.com
Wed May 8 22:56:06 UTC 2013
Daniel P. Berrange wrote:
> From: "Daniel P. Berrange" <berrange at redhat.com>
>
> Make the domain define/undefine driver methods directly call
> into either the XenD or XM drivers
>
> Signed-off-by: Daniel P. Berrange <berrange at redhat.com>
> ---
> src/xen/xen_driver.c | 24 ++++++++----------------
> src/xen/xen_driver.h | 2 --
> src/xen/xend_internal.c | 10 ----------
> src/xen/xm_internal.c | 5 -----
> 4 files changed, 8 insertions(+), 33 deletions(-)
>
ACK.
Regards,
Jim
> diff --git a/src/xen/xen_driver.c b/src/xen/xen_driver.c
> index f6c1891..6643a97 100644
> --- a/src/xen/xen_driver.c
> +++ b/src/xen/xen_driver.c
> @@ -1369,31 +1369,23 @@ static virDomainPtr
> xenUnifiedDomainDefineXML(virConnectPtr conn, const char *xml)
> {
> xenUnifiedPrivatePtr priv = conn->privateData;
> - int i;
> - virDomainPtr ret;
> -
> - for (i = 0; i < XEN_UNIFIED_NR_DRIVERS; ++i)
> - if (priv->opened[i] && drivers[i]->xenDomainDefineXML) {
> - ret = drivers[i]->xenDomainDefineXML(conn, xml);
> - if (ret) return ret;
> - }
>
> - return NULL;
> + if (priv->xendConfigVersion < XEND_CONFIG_VERSION_3_0_4)
> + return xenXMDomainDefineXML(conn, xml);
> + else
> + return xenDaemonDomainDefineXML(conn, xml);
> }
>
> static int
> xenUnifiedDomainUndefineFlags(virDomainPtr dom, unsigned int flags)
> {
> xenUnifiedPrivatePtr priv = dom->conn->privateData;
> - int i;
>
> virCheckFlags(0, -1);
> - for (i = 0; i < XEN_UNIFIED_NR_DRIVERS; ++i)
> - if (priv->opened[i] && drivers[i]->xenDomainUndefine &&
> - drivers[i]->xenDomainUndefine(dom) == 0)
> - return 0;
> -
> - return -1;
> + if (priv->xendConfigVersion < XEND_CONFIG_VERSION_3_0_4)
> + return xenXMDomainUndefine(dom);
> + else
> + return xenDaemonDomainUndefine(dom);
> }
>
> static int
> diff --git a/src/xen/xen_driver.h b/src/xen/xen_driver.h
> index e2c0d68..254c2f5 100644
> --- a/src/xen/xen_driver.h
> +++ b/src/xen/xen_driver.h
> @@ -93,8 +93,6 @@ extern int xenRegister (void);
> * structure with direct calls in xen_unified.c.
> */
> struct xenUnifiedDriver {
> - virDrvDomainDefineXML xenDomainDefineXML;
> - virDrvDomainUndefine xenDomainUndefine;
> virDrvDomainAttachDeviceFlags xenDomainAttachDeviceFlags;
> virDrvDomainDetachDeviceFlags xenDomainDetachDeviceFlags;
> virDrvDomainGetSchedulerType xenDomainGetSchedulerType;
> diff --git a/src/xen/xend_internal.c b/src/xen/xend_internal.c
> index dcd31de..f9b43b8 100644
> --- a/src/xen/xend_internal.c
> +++ b/src/xen/xend_internal.c
> @@ -2860,9 +2860,6 @@ xenDaemonDomainDefineXML(virConnectPtr conn, const char *xmlDesc)
> xenUnifiedPrivatePtr priv = conn->privateData;
> virDomainDefPtr def;
>
> - if (priv->xendConfigVersion < XEND_CONFIG_VERSION_3_0_4)
> - return NULL;
> -
> if (!(def = virDomainDefParseString(xmlDesc, priv->caps, priv->xmlopt,
> 1 << VIR_DOMAIN_VIRT_XEN,
> VIR_DOMAIN_XML_INACTIVE))) {
> @@ -2905,11 +2902,6 @@ xenDaemonDomainCreate(virDomainPtr domain)
> int
> xenDaemonDomainUndefine(virDomainPtr domain)
> {
> - xenUnifiedPrivatePtr priv = domain->conn->privateData;
> -
> - if (priv->xendConfigVersion < XEND_CONFIG_VERSION_3_0_4)
> - return -1;
> -
> return xend_op(domain->conn, domain->name, "op", "delete", NULL);
> }
>
> @@ -3361,8 +3353,6 @@ xenDaemonDomainBlockPeek(virDomainPtr domain,
> }
>
> struct xenUnifiedDriver xenDaemonDriver = {
> - .xenDomainDefineXML = xenDaemonDomainDefineXML,
> - .xenDomainUndefine = xenDaemonDomainUndefine,
> .xenDomainAttachDeviceFlags = xenDaemonAttachDeviceFlags,
> .xenDomainDetachDeviceFlags = xenDaemonDetachDeviceFlags,
> .xenDomainGetSchedulerType = xenDaemonGetSchedulerType,
> diff --git a/src/xen/xm_internal.c b/src/xen/xm_internal.c
> index 505f959..bb79c63 100644
> --- a/src/xen/xm_internal.c
> +++ b/src/xen/xm_internal.c
> @@ -81,8 +81,6 @@ static int xenXMDomainDetachDeviceFlags(virDomainPtr domain, const char *xml,
> #define XM_XML_ERROR "Invalid xml"
>
> struct xenUnifiedDriver xenXMDriver = {
> - .xenDomainDefineXML = xenXMDomainDefineXML,
> - .xenDomainUndefine = xenXMDomainUndefine,
> .xenDomainAttachDeviceFlags = xenXMDomainAttachDeviceFlags,
> .xenDomainDetachDeviceFlags = xenXMDomainDetachDeviceFlags,
> };
> @@ -1108,9 +1106,6 @@ xenXMDomainUndefine(virDomainPtr domain)
> xenXMConfCachePtr entry;
> int ret = -1;
>
> - if (domain->id != -1)
> - return -1;
> -
> xenUnifiedLock(priv);
>
> if (!(filename = virHashLookup(priv->nameConfigMap, domain->name)))
>
More information about the libvir-list
mailing list