[libvirt] [PATCH v2 16/25] src/xenxs:Reafactor code formating virtual time config
Jim Fehlig
jfehlig at suse.com
Mon Aug 4 20:27:49 UTC 2014
David Kiarie wrote:
> From: Kiarie Kahurani <davidkiarie4 at gmail.com>
>
> introduce function
> xenFormatXMTimeOffset(virConfPtr conf, .......);
> which formats time offset config instead
>
> signed-off-by: David Kiarie<davidkiarie4 at gmail.com>
> ---
> src/xenxs/xen_xm.c | 156 ++++++++++++++++++++++++++++-------------------------
> 1 file changed, 84 insertions(+), 72 deletions(-)
>
> diff --git a/src/xenxs/xen_xm.c b/src/xenxs/xen_xm.c
> index 78dc949..9d868d7 100644
> --- a/src/xenxs/xen_xm.c
> +++ b/src/xenxs/xen_xm.c
> @@ -1686,12 +1686,94 @@ int xenFormatXMMem(virConfPtr conf, virDomainDefPtr def)
> }
>
>
> +static
> +int xenFormatXMTimeOffset(virConfPtr conf, virDomainDefPtr def,
> + int xendConfigVersion)
> +{
> + int vmlocaltime;
> + if (xendConfigVersion < XEND_CONFIG_VERSION_3_1_0) {
> + /* <3.1: UTC and LOCALTIME */
> + switch (def->clock.offset) {
> + case VIR_DOMAIN_CLOCK_OFFSET_UTC:
> + vmlocaltime = 0;
> + break;
> + case VIR_DOMAIN_CLOCK_OFFSET_LOCALTIME:
> + vmlocaltime = 1;
> + break;
> + default:
> + virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
> + _("unsupported clock offset='%s'"),
> + virDomainClockOffsetTypeToString(def->clock.offset));
> + return -1;
> + }
> +
> + } else {
> + if (STREQ(def->os.type, "hvm")) {
> + /* >=3.1 HV: VARIABLE */
> + int rtc_timeoffset;
> + switch (def->clock.offset) {
> + case VIR_DOMAIN_CLOCK_OFFSET_VARIABLE:
> + vmlocaltime = (int)def->clock.data.variable.basis;
> + rtc_timeoffset = def->clock.data.variable.adjustment;
> + break;
> + case VIR_DOMAIN_CLOCK_OFFSET_UTC:
> + if (def->clock.data.utc_reset) {
> + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
> + _("unsupported clock adjustment='reset'"));
> + return -1;
> + }
> + vmlocaltime = 0;
> + rtc_timeoffset = 0;
> + break;
> + case VIR_DOMAIN_CLOCK_OFFSET_LOCALTIME:
> + if (def->clock.data.utc_reset) {
> + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
> + _("unsupported clock adjustment='reset'"));
> + return -1;
> + }
> + vmlocaltime = 1;
> + rtc_timeoffset = 0;
> + break;
> + default:
> + virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
> + _("unsupported clock offset='%s'"),
> + virDomainClockOffsetTypeToString(def->clock.offset));
> + return -1;
> + }
> + if (xenXMConfigSetInt(conf, "rtc_timeoffset", rtc_timeoffset) < 0)
> + return -1;
> +
> + } else {
> + /* >=3.1 PV: UTC and LOCALTIME */
> + switch (def->clock.offset) {
> + case VIR_DOMAIN_CLOCK_OFFSET_UTC:
> + vmlocaltime = 0;
> + break;
> + case VIR_DOMAIN_CLOCK_OFFSET_LOCALTIME:
> + vmlocaltime = 1;
> + break;
> + default:
> + virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
> + _("unsupported clock offset='%s'"),
> + virDomainClockOffsetTypeToString(def->clock.offset));
> + return -1;
> + }
> + } /* !hvm */
> + }
> +
> + if (xenXMConfigSetInt(conf, "localtime", vmlocaltime) < 0)
> + return -1;
> +
> + return 0;
> +}
> +
> +
> virConfPtr xenFormatXM(virConnectPtr conn,
> virDomainDefPtr def,
> int xendConfigVersion)
> {
> virConfPtr conf = NULL;
> - int hvm = 0, vmlocaltime = 0;
> + int hvm = 0;
> size_t i;
> char *cpus = NULL;
> const char *lifecycle;
> @@ -1827,78 +1909,8 @@ virConfPtr xenFormatXM(virConnectPtr conn,
> goto cleanup;
> } /* !hvm */
>
> -
> - if (xendConfigVersion < XEND_CONFIG_VERSION_3_1_0) {
> - /* <3.1: UTC and LOCALTIME */
> - switch (def->clock.offset) {
> - case VIR_DOMAIN_CLOCK_OFFSET_UTC:
> - vmlocaltime = 0;
> - break;
> - case VIR_DOMAIN_CLOCK_OFFSET_LOCALTIME:
> - vmlocaltime = 1;
> - break;
> - default:
> - virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
> - _("unsupported clock offset='%s'"),
> - virDomainClockOffsetTypeToString(def->clock.offset));
> - goto cleanup;
> - }
> - } else {
> - if (hvm) {
> - /* >=3.1 HV: VARIABLE */
> - int rtc_timeoffset;
> - switch (def->clock.offset) {
> - case VIR_DOMAIN_CLOCK_OFFSET_VARIABLE:
> - vmlocaltime = (int)def->clock.data.variable.basis;
> - rtc_timeoffset = def->clock.data.variable.adjustment;
> - break;
> - case VIR_DOMAIN_CLOCK_OFFSET_UTC:
> - if (def->clock.data.utc_reset) {
> - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
> - _("unsupported clock adjustment='reset'"));
> - goto cleanup;
> - }
> - vmlocaltime = 0;
> - rtc_timeoffset = 0;
> - break;
> - case VIR_DOMAIN_CLOCK_OFFSET_LOCALTIME:
> - if (def->clock.data.utc_reset) {
> - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
> - _("unsupported clock adjustment='reset'"));
> - goto cleanup;
> - }
> - vmlocaltime = 1;
> - rtc_timeoffset = 0;
> - break;
> - default:
> - virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
> - _("unsupported clock offset='%s'"),
> - virDomainClockOffsetTypeToString(def->clock.offset));
> - goto cleanup;
> - }
> - if (xenXMConfigSetInt(conf, "rtc_timeoffset", rtc_timeoffset) < 0)
> - goto cleanup;
> - } else {
> - /* >=3.1 PV: UTC and LOCALTIME */
> - switch (def->clock.offset) {
> - case VIR_DOMAIN_CLOCK_OFFSET_UTC:
> - vmlocaltime = 0;
> - break;
> - case VIR_DOMAIN_CLOCK_OFFSET_LOCALTIME:
> - vmlocaltime = 1;
> - break;
> - default:
> - virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
> - _("unsupported clock offset='%s'"),
> - virDomainClockOffsetTypeToString(def->clock.offset));
> - goto cleanup;
> - }
> - } /* !hvm */
> - }
> - if (xenXMConfigSetInt(conf, "localtime", vmlocaltime) < 0)
> + if (xenFormatXMTimeOffset(conf, def, xendConfigVersion) < 0)
> goto cleanup;
> -
> -
>
Removed one too many blank lines :-).
Regards,
Jim
> if (!(lifecycle = virDomainLifecycleTypeToString(def->onPoweroff))) {
> virReportError(VIR_ERR_INTERNAL_ERROR,
> _("unexpected lifecycle action %d"), def->onPoweroff);
>
More information about the libvir-list
mailing list