libvirt/docs/schemas/domainsnapshot.rng
Peter Krempa 06380cb587 conf: snapshot: Add support for <metadata_cache>
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>
2021-01-08 15:27:00 +01:00

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>