We are going to add support for specifying offset and size attributes
which will allow controling where the image and where the guest data
itself starts in the source of the disk. This will be represented by
a <slices> element filled with either a <slice type='storage'> for
the
offset of the image format itself. <slice type='format'> then controls
where the guest data starts in the image.
Add the XML documentation and RNG schema.
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
docs/formatdomain.html.in | 13 +++++++++++++
docs/schemas/domaincommon.rng | 19 +++++++++++++++++++
2 files changed, 32 insertions(+)
diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in
index 200a9cb79a..717cbd026f 100644
--- a/docs/formatdomain.html.in
+++ b/docs/formatdomain.html.in
@@ -2878,6 +2878,9 @@
<disk type='block' device='lun'>
<driver name='qemu' type='raw'/>
<source dev='/dev/sda'>
+ <slices>
+ <slice type='format' offset='12345'
size='123'/>
+ </slices>
<reservations managed='no'>
<source type='unix' path='/path/to/qemu-pr-helper'
mode='client'/>
</reservations>
@@ -3360,6 +3363,16 @@
controller.
<span class="since">Since 6.0.0</span>
</dd>
+ <dt><code>slices</code></dt>
+ <dd>The <code>slices</code> element using its
<code>slice</code>
+ sub-elements allows configuring offset and size of either the
+ location of the image format (<code>slice
type='storage'</code>)
+ inside the storage source or the guest data inside the image format
+ container (future expansion).
+
+ The <code>offset</code> and <code>size</code> values
are in bytes.
+ <span class="since">Since 6.1.0</span>
+ </dd>
</dl>
<p>
diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng
index 9577d26c2a..093e9f2aaf 100644
--- a/docs/schemas/domaincommon.rng
+++ b/docs/schemas/domaincommon.rng
@@ -1595,12 +1595,31 @@
</optional>
</define>
+ <define name="diskSourceSlice">
+ <attribute name='offset'>
+ <ref name="positiveInteger"/>
+ </attribute>
+ <attribute name='size'>
+ <ref name="positiveInteger"/>
+ </attribute>
+ </define>
+
<define name="diskSourceCommon">
<optional>
<attribute name="index">
<ref name="positiveInteger"/>
</attribute>
</optional>
+ <optional>
+ <element name='slices'>
+ <element name='slice'>
+ <attribute name='type'>
+ <value>storage</value>
+ </attribute>
+ <ref name="diskSourceSlice"/>
+ </element>
+ </element>
+ </optional>
</define>
<define name="diskSource">
--
2.24.1