
On 02/09/2012 03:01 PM, Eric Blake wrote:
We absolutely cannot reject existing older xml files; but must load them with the semantics that make sense.
But a better idea is to represent the XML in a way where the default conversion makes sense, but where a user can explicitly change the XML to get what they want. I'm thinking:
If offset is 'utc' or 'localtime', we add a new attribute 'adjustment', whose value can be either 'reset' to signify that the offset is reset on each boot, or a timeDelta, as shorthand for specifying offset='variable' adjustment='nnn' basis='utc|localtime'. If the attribute is missing, the hypervisor determines whether the default is 'reset' or '0'. Qemu would pick 'reset', xend would pick '0'.
RNG-wise, this would be:
I missed basis:
<element name='clock'> <choice> <group> <attribute name='offset'> <choice> <value>localtime</value> <value>utc</value> </choice> </attribute> <optional> <attribute name='adjustment'> <choice> <ref name='timeDelta'/> <value>reset</value> </choice> </attribute> </optional> </group> <group> <attribute name='offset'> <value>timezone</value> </attribute> <optional> <attribute name='timezone'> <ref name='timeZone'/> </attribute> </optional> </group> <group> <attribute name='offset'> <value>variable</value> </attribute> <optional> <attribute name='adjustment'> <ref name='timeDelta'/> </attribute> </optional>
<optional> <attribute name='basis'> <choice> <value>utc</value> <value>localtime</value> </choice> </attribute> </optional>
</group> </choice> <zeroOrMore> <ref name='timer'/> </zeroOrMore> </element>
-- Eric Blake eblake@redhat.com +1-919-301-3266 Libvirt virtualization library http://libvirt.org