David Kiarie wrote: > From: Kiarie Kahurani <davidkiarie4@xxxxxxxxx> > > Introduce function > xenParseXMEventActions(virConfPtr conf,......); > which parses events config instead > > signed-off-by: David Kiarie<davidkiarie4@xxxxxxxxx> > --- > 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; > -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list