</auth>
<target dev='vda' bus='virtio'/>
</disk>
+ <disk type='file' device='disk'>
+ <driver name='qemu' type='qcow2'/>
+ <source file='/var/lib/libvirt/images/domain.qcow'/>
+ <backingStore type='file'>
+ <format type='qcow2'/>
+ <source file='/var/lib/libvirt/images/snapshot.qcow'/>
+ <backingStore type='block'>
+ <format type='raw'/>
+ <source dev='/dev/mapper/base'/>
+ <backingStore/>
+ </backingStore>
+ </backingStore>
+ <target dev='vda' bus='virtio'/>
+ </disk>
</devices>
...</pre>
This feature doesn't support migration currently.
</p>
</dd>
+ <dt><code>backingStore</code></dt>
+ <dd>
+ This element describes the backing store used by the disk specified by
+ sibling <code>source</code> element. It is currently ignored on input
+ and only used for output to describe the detected backing chains.
+ <span class="since">Since 1.2.4</span>. An empty
+ <code>backingStore</code> element means the sibling source is
+ self-contained and is not based on any backing store. The following
+ attributes and sub-elements are supported in
+ <code>backingStore</code>:
+ <dl>
+ <dt><code>type</code> attribute</dt>
+ <dd>
+ The <code>type</code> attribute represents the type of disk used
+ by the backing store, see disk type attribute above for more
+ details and possible values.
+ </dd>
+ <dt><code>index</code> attribute</dt>
+ <dd>
+ This attribute is only valid in output (and ignored on input) and
+ it can be used to refer to a specific part of the disk chain when
+ doing block operations (such as via the
+ <code>virDomainBlockRebase</code> API). For example,
+ <code>vda[2]</code> refers to the backing store with
+ <code>index='2'</code> of the disk with <code>vda</code> target.
+ </dd>
+ <dt><code>format</code> sub-element</dt>
+ <dd>
+ The <code>format</code> element contains <code>type</code>
+ attribute which specifies the internal format of the backing
+ store, such as <code>raw</code> or <code>qcow2</code>.
+ </dd>
+ <dt><code>source</code> sub-element</dt>
+ <dd>
+ This element has the same structure as the <code>source</code>
+ element in <code>disk</code>. It specifies which file, device,
+ or network location contains the data of the described backing
+ store.
+ </dd>
+ <dt><code>backingStore</code> sub-element</dt>
+ <dd>
+ If the backing store is not self-contained, the next element
+ in the chain is described by nested <code>backingStore</code>
+ element.
+ </dd>
+ </dl>
+ </dd>
<dt><code>mirror</code></dt>
<dd>
This element is present if the hypervisor has started a block
<optional>
<ref name="snapshot"/>
</optional>
- <ref name="diskSource"/>
+ <interleave>
+ <ref name="diskSource"/>
+ <ref name="storageSourceExtra"/>
+ <ref name="diskBackingChain"/>
+ </interleave>
+ </element>
+ </define>
+
+ <define name="diskBackingChain">
+ <choice>
+ <ref name="diskBackingStore"/>
+ <ref name="diskBackingStoreLast"/>
+ </choice>
+ </define>
+
+ <define name="diskBackingStore">
+ <element name="backingStore">
+ <attribute name="index">
+ <ref name="positiveInteger"/>
+ </attribute>
+ <interleave>
+ <ref name="diskSource"/>
+ <ref name="diskBackingChain"/>
+ <ref name="diskFormat"/>
+ </interleave>
+ </element>
+ </define>
+
+ <define name="diskFormat">
+ <element name="format">
+ <attribute name="type">
+ <ref name="storageFormat"/>
+ </attribute>
+ <empty/>
</element>
</define>
+ <define name="diskBackingStoreLast">
+ <optional>
+ <element name="backingStore">
+ <empty/>
+ </element>
+ </optional>
+ </define>
+
<define name="diskSource">
<choice>
<ref name="diskSourceFile"/>
</optional>
</element>
</optional>
- <ref name='storageSourceExtra'/>
</interleave>
</define>
</optional>
</element>
</optional>
- <ref name='storageSourceExtra'/>
</interleave>
</define>
<empty/>
</element>
</optional>
- <ref name='storageSourceExtra'/>
</interleave>
</define>
</zeroOrMore>
<empty/>
</element>
- <ref name='storageSourceExtra'/>
</interleave>
</define>
</optional>
</element>
</optional>
- <ref name='storageSourceExtra'/>
</interleave>
</define>
--- /dev/null
+<domain type='qemu'>
+ <name>QEMUGuest1</name>
+ <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+ <memory unit='KiB'>219136</memory>
+ <currentMemory unit='KiB'>219136</currentMemory>
+ <vcpu placement='static'>1</vcpu>
+ <os>
+ <type arch='i686' machine='pc'>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <emulator>/usr/bin/qemu</emulator>
+ <disk type='network' device='disk'>
+ <driver name='qemu' type='qcow2'/>
+ <source protocol='gluster' name='Volume2/Image'>
+ <host transport='unix' socket='/path/to/sock'/>
+ </source>
+ <backingStore type='file' index='1'>
+ <format type='qcow2'/>
+ <source file='/tmp/missing-backing-store.qcow'/>
+ </backingStore>
+ <target dev='vda' bus='virtio'/>
+ </disk>
+ <disk type='network' device='disk'>
+ <driver name='qemu' type='qcow2'/>
+ <source protocol='nbd' name='bar'>
+ <host transport='unix' socket='/var/run/nbdsock'/>
+ </source>
+ <backingStore type='block' index='1'>
+ <format type='qcow2'/>
+ <source dev='/dev/HostVG/QEMUGuest1'/>
+ <backingStore type='file' index='2'>
+ <format type='qcow2'/>
+ <source file='/tmp/image2.qcow'/>
+ <backingStore type='file' index='3'>
+ <format type='qcow2'/>
+ <source file='/tmp/image3.qcow'/>
+ <backingStore type='file' index='4'>
+ <format type='qcow2'/>
+ <source file='/tmp/image4.qcow'/>
+ <backingStore type='file' index='5'>
+ <source file='/tmp/image5.qcow'/>
+ <format type='qcow2'/>
+ <backingStore type='file' index='6'>
+ <format type='raw'/>
+ <source file='/tmp/Fedora-17-x86_64-Live-KDE.iso'/>
+ <backingStore/>
+ </backingStore>
+ </backingStore>
+ </backingStore>
+ </backingStore>
+ </backingStore>
+ </backingStore>
+ <target dev='vdb' bus='virtio'/>
+ </disk>
+ <disk type='network' device='disk'>
+ <driver name='qemu' type='raw'/>
+ <backingStore/>
+ <source protocol='gluster' name='Volume1/Image'>
+ <host name='example.org' port='6000'/>
+ </source>
+ <target dev='vdc' bus='virtio'/>
+ </disk>
+ <disk type='network' device='disk'>
+ <driver name='qemu' type='qcow2'/>
+ <auth username='myname'>
+ <secret type='ceph' usage='mycluster_myname'/>
+ </auth>
+ <source protocol='rbd' name='pool/image'>
+ <host name='mon1.example.org' port='6321'/>
+ <host name='mon2.example.org' port='6322'/>
+ <host name='mon3.example.org' port='6322'/>
+ </source>
+ <backingStore type='file' index='1'>
+ <source file='/tmp/image.qcow'/>
+ <backingStore/>
+ <format type='qcow2'/>
+ </backingStore>
+ <target dev='vdd' bus='virtio'/>
+ </disk>
+ <disk type='block' device='disk'>
+ <driver name='qemu' type='qcow2'/>
+ <source dev='/dev/HostVG/QEMUGuest11'/>
+ <target dev='vde' bus='virtio'/>
+ </disk>
+ <controller type='usb' index='0'/>
+ <controller type='pci' index='0' model='pci-root'/>
+ <memballoon model='virtio'/>
+ </devices>
+</domain>