[libvirt] [PATCH 21/40] Simplify the Xen domain get XML driver method

Jim Fehlig jfehlig at suse.com
Wed May 8 21:56:14 UTC 2013


Daniel P. Berrange wrote:
> From: "Daniel P. Berrange" <berrange at redhat.com>
>
> The xenUnifiedDomainGetXMLDesc driver can assume that
> the XM and XenD drivers are always present
>
> Signed-off-by: Daniel P. Berrange <berrange at redhat.com>
> ---
>  src/xen/xen_driver.c    | 24 +++++++++---------------
>  src/xen/xend_internal.c |  6 ------
>  2 files changed, 9 insertions(+), 21 deletions(-)
>
> diff --git a/src/xen/xen_driver.c b/src/xen/xen_driver.c
> index 1db831d..f11e5bf 100644
> --- a/src/xen/xen_driver.c
> +++ b/src/xen/xen_driver.c
> @@ -1106,23 +1106,17 @@ xenUnifiedDomainGetXMLDesc(virDomainPtr dom, unsigned int flags)
>  {
>      xenUnifiedPrivatePtr priv = dom->conn->privateData;
>  
> -    if (dom->id == -1 && priv->xendConfigVersion < XEND_CONFIG_VERSION_3_0_4) {
> -        if (priv->opened[XEN_UNIFIED_XM_OFFSET])
> -            return xenXMDomainGetXMLDesc(dom, flags);
> +    if (dom->id < 0 && priv->xendConfigVersion < XEND_CONFIG_VERSION_3_0_4) {
> +        return xenXMDomainGetXMLDesc(dom, flags);
>      } else {
> -        if (priv->opened[XEN_UNIFIED_XEND_OFFSET]) {
> -            char *cpus, *res;
> -            xenUnifiedLock(priv);
> -            cpus = xenDomainUsedCpus(dom);
> -            xenUnifiedUnlock(priv);
> -            res = xenDaemonDomainGetXMLDesc(dom, flags, cpus);
> -            VIR_FREE(cpus);
> -            return res;
> -        }
> +        char *cpus, *res;
> +        xenUnifiedLock(priv);
> +        cpus = xenDomainUsedCpus(dom);
> +        xenUnifiedUnlock(priv);
> +        res = xenDaemonDomainGetXMLDesc(dom, flags, cpus);
> +        VIR_FREE(cpus);
> +        return res;
>      }
> -
> -    virReportError(VIR_ERR_NO_SUPPORT, __FUNCTION__);
> -    return NULL;
>  }
>  
>  
> diff --git a/src/xen/xend_internal.c b/src/xen/xend_internal.c
> index dbad83f..930b882 100644
> --- a/src/xen/xend_internal.c
> +++ b/src/xen/xend_internal.c
> @@ -1610,17 +1610,11 @@ xenDaemonDomainGetXMLDesc(virDomainPtr domain,
>                            unsigned int flags,
>                            const char *cpus)
>  {
> -    xenUnifiedPrivatePtr priv = domain->conn->privateData;
>      virDomainDefPtr def;
>      char *xml;
>  
>      /* Flags checked by virDomainDefFormat */
>  
> -    if (domain->id < 0 && priv->xendConfigVersion < XEND_CONFIG_VERSION_3_0_4) {
> -        /* fall-through to the next driver to handle */
> -        return NULL;
> -    }
> -
>   

This function has another caller, xenUnifiedDomainMigrateFinish, which
appears to only support xendConfigVersion > 3_0_4 anyhow. ACK to the
changes in this patch.

Regards,
Jim

>      if (!(def = xenDaemonDomainFetch(domain->conn,
>                                       domain->id,
>                                       domain->name,
>   




More information about the libvir-list mailing list