Rename qemuDomainObjPrivateXMLFormatBlockjobFormatChain to qemuDomainObjPrivateXMLFormatBlockjobFormatSource and add a 'chain' parameter which allows controlling whether the backing chain is formatted. Signed-off-by: Peter Krempa <pkrempa@xxxxxxxxxx> --- src/qemu/qemu_domain.c | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 0555caa6ab..e1da0661e6 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -2315,10 +2315,11 @@ typedef struct qemuDomainPrivateBlockJobFormatData { static int -qemuDomainObjPrivateXMLFormatBlockjobFormatChain(virBufferPtr buf, - const char *chainname, - virStorageSourcePtr src, - virDomainXMLOptionPtr xmlopt) +qemuDomainObjPrivateXMLFormatBlockjobFormatSource(virBufferPtr buf, + const char *element, + virStorageSourcePtr src, + virDomainXMLOptionPtr xmlopt, + bool chain) { VIR_AUTOCLEAN(virBuffer) attrBuf = VIR_BUFFER_INITIALIZER; VIR_AUTOCLEAN(virBuffer) childBuf = VIR_BUFFER_INITIALIZER; @@ -2333,10 +2334,11 @@ qemuDomainObjPrivateXMLFormatBlockjobFormatChain(virBufferPtr buf, if (virDomainDiskSourceFormat(&childBuf, src, "source", 0, true, xmlflags, xmlopt) < 0) return -1; - if (virDomainDiskBackingStoreFormat(&childBuf, src, xmlopt, xmlflags) < 0) + if (chain && + virDomainDiskBackingStoreFormat(&childBuf, src, xmlopt, xmlflags) < 0) return -1; - if (virXMLFormatElement(buf, chainname, &attrBuf, &childBuf) < 0) + if (virXMLFormatElement(buf, element, &attrBuf, &childBuf) < 0) return -1; return 0; @@ -2375,17 +2377,19 @@ qemuDomainObjPrivateXMLFormatBlockjobIterator(void *payload, virBufferAddLit(&childBuf, "/>\n"); } else { if (job->chain && - qemuDomainObjPrivateXMLFormatBlockjobFormatChain(&chainsBuf, - "disk", - job->chain, - data->xmlopt) < 0) + qemuDomainObjPrivateXMLFormatBlockjobFormatSource(&chainsBuf, + "disk", + job->chain, + data->xmlopt, + true) < 0) return -1; if (job->mirrorChain && - qemuDomainObjPrivateXMLFormatBlockjobFormatChain(&chainsBuf, - "mirror", - job->mirrorChain, - data->xmlopt) < 0) + qemuDomainObjPrivateXMLFormatBlockjobFormatSource(&chainsBuf, + "mirror", + job->mirrorChain, + data->xmlopt, + true) < 0) return -1; if (virXMLFormatElement(&childBuf, "chains", NULL, &chainsBuf) < 0) -- 2.21.0 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list