[libvirt] [PATCH v2 02/25] src/xenxs:Refactor code parsing event actions config

Jim Fehlig jfehlig at suse.com
Mon Aug 4 18:35:43 UTC 2014


David Kiarie wrote:
> From: Kiarie Kahurani <davidkiarie4 at gmail.com>
>
> Introduce function
>  xenParseXMEventActions(virConfPtr conf,......);
> which parses events config instead
>
> signed-off-by: David Kiarie<davidkiarie4 at gmail.com>
> ---
>  src/xenxs/xen_xm.c | 65 +++++++++++++++++++++++++++++++-----------------------
>  1 file changed, 38 insertions(+), 27 deletions(-)
>
> diff --git a/src/xenxs/xen_xm.c b/src/xenxs/xen_xm.c
> index 5e26e5e..d0a166d 100644
> --- a/src/xenxs/xen_xm.c
> +++ b/src/xenxs/xen_xm.c
> @@ -266,6 +266,42 @@ int xenParseXMMem(virConfPtr conf, virDomainDefPtr def)
>   * Turn a config record into a lump of XML describing the
>   * domain, suitable for later feeding for virDomainCreateXML
>   */
>   

This existing comment refers to xenParseXM() and should be retained with
its definition.  Add this new function before the comment.

Regards,
Jim

> +static
> +int xenParseXMEventsActions(virConfPtr conf, virDomainDefPtr def)
> +{
> +    const char *str;
> +
> +    if (xenXMConfigGetString(conf, "on_poweroff", &str, "destroy") < 0)
> +        return -1;
> +
> +    if ((def->onPoweroff = virDomainLifecycleTypeFromString(str)) < 0) {
> +        virReportError(VIR_ERR_INTERNAL_ERROR,
> +                       _("unexpected value %s for on_poweroff"), str);
> +        return -1;
> +    }
> +
> +    if (xenXMConfigGetString(conf, "on_reboot", &str, "restart") < 0)
> +        return -1;
> +
> +    if ((def->onReboot = virDomainLifecycleTypeFromString(str)) < 0) {
> +        virReportError(VIR_ERR_INTERNAL_ERROR,
> +                       _("unexpected value %s for on_reboot"), str);
> +        return -1;
> +    }
> +
> +    if (xenXMConfigGetString(conf, "on_crash", &str, "restart") < 0)
> +        return -1;
> +
> +    if ((def->onCrash = virDomainLifecycleCrashTypeFromString(str)) < 0) {
> +        virReportError(VIR_ERR_INTERNAL_ERROR,
> +                       _("unexpected value %s for on_crash"), str);
> +        return -1;
> +    }
> +
> +    return 0;
> +}
> +
> +
>  virDomainDefPtr
>  xenParseXM(virConfPtr conf, int xendConfigVersion,
>                         virCapsPtr caps)
> @@ -379,6 +415,8 @@ xenParseXM(virConfPtr conf, int xendConfigVersion,
>  
>      if (xenParseXMMem(conf, def) < 0)
>          goto cleanup;
> +    if (xenParseXMEventsActions(conf, def) < 0)
> +        goto cleanup;
>      if (xenXMConfigGetULong(conf, "vcpus", &count, 1) < 0 ||
>          MAX_VIRT_CPUS < count)
>          goto cleanup;
> @@ -391,33 +429,6 @@ xenParseXM(virConfPtr conf, int xendConfigVersion,
>          goto cleanup;
>      if (str && (virBitmapParse(str, 0, &def->cpumask, 4096) < 0))
>              goto cleanup;
> -
> -    if (xenXMConfigGetString(conf, "on_poweroff", &str, "destroy") < 0)
> -        goto cleanup;
> -    if ((def->onPoweroff = virDomainLifecycleTypeFromString(str)) < 0) {
> -        virReportError(VIR_ERR_INTERNAL_ERROR,
> -                       _("unexpected value %s for on_poweroff"), str);
> -        goto cleanup;
> -    }
> -
> -    if (xenXMConfigGetString(conf, "on_reboot", &str, "restart") < 0)
> -        goto cleanup;
> -    if ((def->onReboot = virDomainLifecycleTypeFromString(str)) < 0) {
> -        virReportError(VIR_ERR_INTERNAL_ERROR,
> -                       _("unexpected value %s for on_reboot"), str);
> -        goto cleanup;
> -    }
> -
> -    if (xenXMConfigGetString(conf, "on_crash", &str, "restart") < 0)
> -        goto cleanup;
> -    if ((def->onCrash = virDomainLifecycleCrashTypeFromString(str)) < 0) {
> -        virReportError(VIR_ERR_INTERNAL_ERROR,
> -                       _("unexpected value %s for on_crash"), str);
> -        goto cleanup;
> -    }
> -
> -
> -
>      if (hvm) {
>          if (xenXMConfigGetBool(conf, "pae", &val, 0) < 0)
>              goto cleanup;
>   




More information about the libvir-list mailing list