qemuStorageSourcePrivateDataParse(xmlXPathContextPtr ctxt,
virStorageSourcePtr src)
{
+ src->nodestorage = virXPathString("string(./nodenames/nodename[@type='storage']/@name)", ctxt);
+ src->nodeformat = virXPathString("string(./nodenames/nodename[@type='format']/@name)", ctxt);
+
if (virStorageSourcePrivateDataParseRelPath(ctxt, src) < 0)
return -1;
qemuStorageSourcePrivateDataFormat(virStorageSourcePtr src,
virBufferPtr buf)
{
+ if (src->nodestorage || src->nodeformat) {
+ virBufferAddLit(buf, "<nodenames>\n");
+ virBufferAdjustIndent(buf, 2);
+ virBufferEscapeString(buf, "<nodename type='storage' name='%s'/>\n", src->nodestorage);
+ virBufferEscapeString(buf, "<nodename type='format' name='%s'/>\n", src->nodeformat);
+ virBufferAdjustIndent(buf, -2);
+ virBufferAddLit(buf, "</nodenames>\n");
+ }
+
if (virStorageSourcePrivateDataFormatRelPath(src, buf) < 0)
return -1;
<format type='qcow2'/>
<source file='/var/lib/libvirt/images/base.qcow2'>
<privateData>
+ <nodenames>
+ <nodename type='storage' name='test-storage'/>
+ <nodename type='format' name='test-format'/>
+ </nodenames>
<relPath>base.qcow2</relPath>
</privateData>
</source>