Allow <source> for type=block to have no dev

Currently the XML parser already allows the following syntax:
  <disk type='block' device='cdrom'>
    <source startupPolicy='optional'/>
    <target dev='hda' bus='ide'/>
    <address type='drive' controller='0' bus='0' target='0' unit='0'/>
  </disk>

But it if the dev value is NULL then it would not have the leading
"<source ", resulting in invalid XML.
This commit is contained in:
Doug Goldstein 2013-09-08 21:08:06 -05:00
parent caf6589233
commit 4b5652d0dc
2 changed files with 7 additions and 5 deletions

View File

@ -1140,9 +1140,11 @@
<interleave> <interleave>
<optional> <optional>
<element name="source"> <element name="source">
<optional>
<attribute name="dev"> <attribute name="dev">
<ref name="absFilePath"/> <ref name="absFilePath"/>
</attribute> </attribute>
</optional>
<optional> <optional>
<ref name="startupPolicy"/> <ref name="startupPolicy"/>
</optional> </optional>

View File

@ -14207,8 +14207,8 @@ virDomainDiskSourceDefFormat(virBufferPtr buf,
} }
break; break;
case VIR_DOMAIN_DISK_TYPE_BLOCK: case VIR_DOMAIN_DISK_TYPE_BLOCK:
virBufferEscapeString(buf, " <source dev='%s'", virBufferAddLit(buf, " <source");
def->src); virBufferEscapeString(buf, " dev='%s'", def->src);
if (def->startupPolicy) if (def->startupPolicy)
virBufferEscapeString(buf, " startupPolicy='%s'", virBufferEscapeString(buf, " startupPolicy='%s'",
startupPolicy); startupPolicy);