mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-08-28 11:31:16 +00:00
Similarly to the domain config code it may be beneficial to control the cache size of images introduced as snapshots into the backing chain. Wire up handling of the 'metadata_cache' element. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
229 lines
6.3 KiB
XML
229 lines
6.3 KiB
XML
<?xml version="1.0"?>
|
|
<!-- A Relax NG schema for the libvirt domain snapshot properties XML format -->
|
|
<grammar xmlns="http://relaxng.org/ns/structure/1.0">
|
|
<start>
|
|
<ref name="domainsnapshot"/>
|
|
</start>
|
|
|
|
<include href="domaincommon.rng"/>
|
|
|
|
<define name="domainsnapshot">
|
|
<element name="domainsnapshot">
|
|
<interleave>
|
|
<optional>
|
|
<element name="name">
|
|
<text/>
|
|
</element>
|
|
</optional>
|
|
<optional>
|
|
<element name="description">
|
|
<text/>
|
|
</element>
|
|
</optional>
|
|
<optional>
|
|
<element name="state">
|
|
<ref name="state"/>
|
|
</element>
|
|
</optional>
|
|
<optional>
|
|
<element name="creationTime">
|
|
<text/>
|
|
</element>
|
|
</optional>
|
|
<optional>
|
|
<element name="memory">
|
|
<choice>
|
|
<attribute name="snapshot">
|
|
<choice>
|
|
<value>no</value>
|
|
<value>internal</value>
|
|
</choice>
|
|
</attribute>
|
|
<group>
|
|
<optional>
|
|
<attribute name="snapshot">
|
|
<value>external</value>
|
|
</attribute>
|
|
</optional>
|
|
<attribute name="file">
|
|
<ref name="absFilePath"/>
|
|
</attribute>
|
|
</group>
|
|
</choice>
|
|
<empty/>
|
|
</element>
|
|
</optional>
|
|
<optional>
|
|
<element name="disks">
|
|
<zeroOrMore>
|
|
<ref name="disksnapshot"/>
|
|
</zeroOrMore>
|
|
</element>
|
|
</optional>
|
|
<optional>
|
|
<element name="active">
|
|
<choice>
|
|
<value>0</value>
|
|
<value>1</value>
|
|
</choice>
|
|
</element>
|
|
</optional>
|
|
<optional>
|
|
<choice>
|
|
<element name="domain">
|
|
<element name="uuid">
|
|
<ref name="UUID"/>
|
|
</element>
|
|
</element>
|
|
<!-- Nested grammar ensures that any of our overrides of
|
|
storagecommon/domaincommon defines do not conflict
|
|
with any domain.rng overrides. -->
|
|
<grammar>
|
|
<include href="domain.rng"/>
|
|
</grammar>
|
|
</choice>
|
|
</optional>
|
|
<optional>
|
|
<element name="parent">
|
|
<element name="name">
|
|
<text/>
|
|
</element>
|
|
</element>
|
|
</optional>
|
|
<optional>
|
|
<element name="cookie">
|
|
<zeroOrMore>
|
|
<ref name="customElement"/>
|
|
</zeroOrMore>
|
|
</element>
|
|
</optional>
|
|
</interleave>
|
|
</element>
|
|
</define>
|
|
|
|
<define name="state">
|
|
<choice>
|
|
<value>running</value>
|
|
<value>blocked</value>
|
|
<value>paused</value>
|
|
<value>shutdown</value>
|
|
<value>shutoff</value>
|
|
<value>crashed</value>
|
|
<value>disk-snapshot</value>
|
|
</choice>
|
|
</define>
|
|
|
|
<define name="storageSourceExtra" combine="choice">
|
|
<!-- overrides the no-op version in storagecommon.rng -->
|
|
<ref name="disksnapshotdriver"/>
|
|
</define>
|
|
|
|
<define name="disksnapshot">
|
|
<element name="disk">
|
|
<attribute name="name">
|
|
<choice>
|
|
<ref name="diskTarget"/>
|
|
<ref name="absFilePath"/>
|
|
</choice>
|
|
</attribute>
|
|
<choice>
|
|
<attribute name="snapshot">
|
|
<value>no</value>
|
|
</attribute>
|
|
<attribute name="snapshot">
|
|
<value>internal</value>
|
|
</attribute>
|
|
<group>
|
|
<optional>
|
|
<attribute name="snapshot">
|
|
<value>external</value>
|
|
</attribute>
|
|
</optional>
|
|
<choice>
|
|
<group>
|
|
<optional>
|
|
<attribute name="type">
|
|
<value>file</value>
|
|
</attribute>
|
|
</optional>
|
|
<interleave>
|
|
<optional>
|
|
<element name="source">
|
|
<optional>
|
|
<attribute name="file">
|
|
<ref name="absFilePath"/>
|
|
</attribute>
|
|
</optional>
|
|
<optional>
|
|
<ref name="storageStartupPolicy"/>
|
|
</optional>
|
|
<zeroOrMore>
|
|
<ref name="devSeclabel"/>
|
|
</zeroOrMore>
|
|
<optional>
|
|
<ref name="diskSourceCommon"/>
|
|
</optional>
|
|
<optional>
|
|
<ref name="encryption"/>
|
|
</optional>
|
|
<empty/>
|
|
</element>
|
|
</optional>
|
|
<ref name="storageSourceExtra"/>
|
|
</interleave>
|
|
</group>
|
|
<group>
|
|
<attribute name="type">
|
|
<value>block</value>
|
|
</attribute>
|
|
<interleave>
|
|
<optional>
|
|
<element name="source">
|
|
<attribute name="dev">
|
|
<ref name="absFilePath"/>
|
|
</attribute>
|
|
<zeroOrMore>
|
|
<ref name="devSeclabel"/>
|
|
</zeroOrMore>
|
|
<optional>
|
|
<ref name="diskSourceCommon"/>
|
|
</optional>
|
|
<optional>
|
|
<ref name="encryption"/>
|
|
</optional>
|
|
<empty/>
|
|
</element>
|
|
</optional>
|
|
<ref name="storageSourceExtra"/>
|
|
</interleave>
|
|
</group>
|
|
<ref name="diskSourceNetwork"/>
|
|
</choice>
|
|
</group>
|
|
</choice>
|
|
</element>
|
|
</define>
|
|
|
|
<define name="disksnapshotdriver">
|
|
<optional>
|
|
<element name="driver">
|
|
<optional>
|
|
<attribute name="type">
|
|
<ref name="storageFormatBacking"/>
|
|
</attribute>
|
|
</optional>
|
|
<optional>
|
|
<element name="metadata_cache">
|
|
<optional>
|
|
<element name="max_size">
|
|
<ref name="scaledInteger"/>
|
|
</element>
|
|
</optional>
|
|
</element>
|
|
</optional>
|
|
</element>
|
|
</optional>
|
|
</define>
|
|
|
|
</grammar>
|