diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 7773abf..65edf71 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -96,7 +96,7 @@ typedef enum { VIR_DOMAIN_XML_INTERNAL_PCI_ORIG_STATES = (1<<18), VIR_DOMAIN_XML_INTERNAL_ALLOW_ROM = (1<<19), VIR_DOMAIN_XML_INTERNAL_ALLOW_BOOT = (1<<20), - VIR_DOMAIN_XML_INTERNAL_STARTTIME = (1 << 21) + VIR_DOMAIN_XML_INTERNAL_BASEDATE = (1 << 21), } virDomainXMLInternalFlags; VIR_ENUM_IMPL(virDomainTaint, VIR_DOMAIN_TAINT_LAST, @@ -11195,11 +11195,11 @@ virDomainDefParseXML(xmlDocPtr xml, } if (def->clock.offset == VIR_DOMAIN_CLOCK_OFFSET_VARIABLE && - flags & VIR_DOMAIN_XML_INTERNAL_STARTTIME) { - if (virXPathULongLong("number(./clock/@starttime)", ctxt, - &def->clock.data.variable.starttime) < 0) { + flags & VIR_DOMAIN_XML_INTERNAL_BASEDATE) { + if (virXPathULongLong("number(./clock/@basedate)", ctxt, + &def->clock.data.variable.basedate) < 0) { virReportError(VIR_ERR_XML_ERROR, "%s", - _("invalid starttime")); + _("invalid basedate")); goto error; } } @@ -15800,7 +15800,7 @@ virDomainResourceDefFormat(virBufferPtr buf, verify(((VIR_DOMAIN_XML_INTERNAL_STATUS | VIR_DOMAIN_XML_INTERNAL_ACTUAL_NET | VIR_DOMAIN_XML_INTERNAL_PCI_ORIG_STATES | - VIR_DOMAIN_XML_INTERNAL_STARTTIME) + VIR_DOMAIN_XML_INTERNAL_BASEDATE) & DUMPXML_FLAGS) == 0); /* This internal version can accept VIR_DOMAIN_XML_INTERNAL_*, @@ -15823,7 +15823,7 @@ virDomainDefFormatInternal(virDomainDefPtr def, VIR_DOMAIN_XML_INTERNAL_STATUS | VIR_DOMAIN_XML_INTERNAL_ACTUAL_NET | VIR_DOMAIN_XML_INTERNAL_PCI_ORIG_STATES | - VIR_DOMAIN_XML_INTERNAL_STARTTIME, + VIR_DOMAIN_XML_INTERNAL_BASEDATE, -1); if (!(type = virDomainVirtTypeToString(def->virtType))) { @@ -16222,9 +16222,9 @@ virDomainDefFormatInternal(virDomainDefPtr def, def->clock.data.variable.adjustment, virDomainClockBasisTypeToString(def->clock.data.variable.basis)); - if (flags & VIR_DOMAIN_XML_INTERNAL_STARTTIME) - virBufferAsprintf(buf, " starttime='%llu'", - def->clock.data.variable.starttime); + if (flags & VIR_DOMAIN_XML_INTERNAL_BASEDATE) + virBufferAsprintf(buf, " basedate='%llu'", + def->clock.data.variable.basedate); break; case VIR_DOMAIN_CLOCK_OFFSET_TIMEZONE: virBufferEscapeString(buf, " timezone='%s'", def->clock.data.timezone); @@ -16604,7 +16604,7 @@ virDomainSaveStatus(virDomainXMLOptionPtr xmlopt, VIR_DOMAIN_XML_INTERNAL_STATUS | VIR_DOMAIN_XML_INTERNAL_ACTUAL_NET | VIR_DOMAIN_XML_INTERNAL_PCI_ORIG_STATES | - VIR_DOMAIN_XML_INTERNAL_STARTTIME); + VIR_DOMAIN_XML_INTERNAL_BASEDATE); int ret = -1; char *xml; @@ -16693,7 +16693,7 @@ virDomainObjListLoadStatus(virDomainObjListPtr doms, VIR_DOMAIN_XML_INTERNAL_STATUS | VIR_DOMAIN_XML_INTERNAL_ACTUAL_NET | VIR_DOMAIN_XML_INTERNAL_PCI_ORIG_STATES | - VIR_DOMAIN_XML_INTERNAL_STARTTIME))) + VIR_DOMAIN_XML_INTERNAL_BASEDATE))) goto error; virUUIDFormat(obj->def->uuid, uuidstr); diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index cca92b4..b8edb1e 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -1768,8 +1768,10 @@ struct _virDomainClockDef { long long adjustment; int basis; - /* Store the start time of guest process, internal only */ - unsigned long long starttime; + /* Store the base date (-rtc base=$date, in seconds + * since the Epoch) of guest process, internal only + */ + unsigned long long basedate; } variable; /* Timezone name, when diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 9254525..7a445cf 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -5519,7 +5519,7 @@ qemuBuildClockArgStr(virDomainClockDefPtr def) gmtime_r(&now, &nowbits); /* Store the starttime of qemu process */ - def->data.variable.starttime = now; + def->data.variable.basedate = now; virBufferAsprintf(&buf, "base=%d-%02d-%02dT%02d:%02d:%02d", nowbits.tm_year + 1900, diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 39c62b3..3d6c06d 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -805,7 +805,7 @@ qemuProcessHandleRTCChange(qemuMonitorPtr mon ATTRIBUTE_UNUSED, if (vm->def->clock.offset == VIR_DOMAIN_CLOCK_OFFSET_VARIABLE) { time_t now = time(NULL); - offset += vm->def->clock.data.variable.starttime - + offset += vm->def->clock.data.variable.basedate - (unsigned long long)now; }