[libvirt] [PATCH 03/24] src/xenxs: Refactor code parsing event actions

Kiarie Kahurani davidkiarie4 at gmail.com
Thu Aug 7 18:32:52 UTC 2014


introduce function
  xenParseXMEventActions(virConfPtr conf,........)
which parses events leading to certain actions

signed-off-by: Kiarie Kahurani <davidkiarie at gmail.com>
Signed-off-by: Kiarie Kahurani <davidkiarie4 at gmail.com>
---
 src/xenxs/xen_xm.c | 61 +++++++++++++++++++++++++++++++++---------------------
 1 file changed, 37 insertions(+), 24 deletions(-)

diff --git a/src/xenxs/xen_xm.c b/src/xenxs/xen_xm.c
index 0e0cf90..ecc8f52 100644
--- a/src/xenxs/xen_xm.c
+++ b/src/xenxs/xen_xm.c
@@ -299,6 +299,42 @@ xenParseXMTimeOffset(virConfPtr conf, virDomainDefPtr def,
 }
 
 
+static int
+xenParseXMEventsActions(virConfPtr conf, virDomainDefPtr def)
+{
+    const char *str = NULL;
+
+    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;
+}
+
+
 #define MAX_VFB 1024
 
 /*
@@ -431,31 +467,8 @@ xenParseXM(virConfPtr conf, int xendConfigVersion,
     if (str && (virBitmapParse(str, 0, &def->cpumask, 4096) < 0))
             goto cleanup;
 
-    if (xenXMConfigGetString(conf, "on_poweroff", &str, "destroy") < 0)
+    if (xenParseXMEventsActions(conf, def) < 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)
-- 
1.8.4.5




More information about the libvir-list mailing list