On Fri, Apr 17, 2015 at 01:31:09PM +0200, Erik Skultety wrote:
According to docs, using 'lun' as a value for device
attribute is only valid
with disk types 'block' and 'network'. However current RNG schema also
allows
a combination type='file' device='lun' which results in a successfull
xml validation, but fails at qemuBuildCommandLine.
Besides fixing the RNG schema, this patch also adds a qemuxml2argvtest
for this case.
https://bugzilla.redhat.com/show_bug.cgi?id=1210669
---
docs/schemas/domaincommon.rng | 42 ++++++++++++++--------
.../qemuxml2argv-disk-device-lun-type-invalid.xml | 28 +++++++++++++++
tests/qemuxml2argvtest.c | 2 ++
3 files changed, 58 insertions(+), 14 deletions(-)
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-device-lun-type-invalid.xml
ACK if you split out the sgIO reference.
diff --git a/docs/schemas/domaincommon.rng
b/docs/schemas/domaincommon.rng
index 03fd541..ee32b73 100644
--- a/docs/schemas/domaincommon.rng
+++ b/docs/schemas/domaincommon.rng
@@ -1316,37 +1316,43 @@
...
- <attribute name="sgio">
- <choice>
- <value>filtered</value>
- <value>unfiltered</value>
- </choice>
- </attribute>
+ <ref name="sgIO"/>
This hunk...
</optional>
+ <interleave>
+ <choice>
+ <ref name="diskSourceNetwork"/>
+ <ref name="diskSourceBlock"/>
+ </choice>
+ <ref name="diskSpecsExtra"/>
+ </interleave>
</group>
</choice>
<optional>
<ref name="snapshot"/>
</optional>
- <interleave>
- <ref name="diskSource"/>
- <ref name="storageSourceExtra"/>
- <ref name="diskBackingChain"/>
- </interleave>
</element>
</define>
+ <define name="diskSpecsExtra">
+ <interleave>
+ <ref name="storageSourceExtra"/>
+ <ref name="diskBackingChain"/>
+ </interleave>
+ </define>
+
<define name="diskBackingChain">
<choice>
<ref name="diskBackingStore"/>
@@ -5315,4 +5321,12 @@
<ref name="virYesNo"/>
</attribute>
</define>
+ <define name="sgIO">
+ <attribute name="sgio">
+ <choice>
+ <value>filtered</value>
+ <value>unfiltered</value>
+ </choice>
+ </attribute>
+ </define>
... and this hunk are not required to fix the bug and should be pushed
separately.
</grammar>
</review>
Jan