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 | 11 +++++++++++
docs/schemas/domaincommon.rng | 33 +++++++++++++++++++++++++++++++++
2 files changed, 44 insertions(+)
diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in
index acb604e9c7..2143e57b11 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,14 @@
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>) or
+ the guest data in the image container (<code>slice
type='format'</code>).
+
+ The <code>offset</code> and <code>size</code> values
are in bytes.
+ </dd>
</dl>
<p>
diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng
index ea237a05e5..720e4e3da7 100644
--- a/docs/schemas/domaincommon.rng
+++ b/docs/schemas/domaincommon.rng
@@ -1595,12 +1595,45 @@
</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'>
+ <oneOrMore>
+ <choice>
+ <group>
+ <element name='slice'>
+ <attribute name='type'>
+ <value>storage</value>
+ </attribute>
+ <ref name="diskSourceSlice"/>
+ </element>
+ </group>
+ <group>
+ <element name='slice'>
+ <attribute name='type'>
+ <value>format</value>
+ </attribute>
+ <ref name="diskSourceSlice"/>
+ </element>
+ </group>
+ </choice>
+ </oneOrMore>
+ </element>
+ </optional>
</define>
<define name="diskSource">
--
2.24.1