Add switch which will allow formating full chain. Signed-off-by: Peter Krempa <pkrempa@xxxxxxxxxx> --- src/conf/domain_conf.c | 11 ++++++++++- src/conf/domain_conf.h | 1 + src/qemu/qemu_domain.c | 2 +- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index b67f9bbd2c..fb98629c77 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -23910,6 +23910,7 @@ virDomainDiskBackingStoreFormat(virBufferPtr buf, * @src: storage source to format * @elemname: name of the top level element to use * @status: output status-XML style private data + * @backingStore: output full backing chain of @src * @xmlopt: formatter callback data structure * * Formats @src into a XML element called @elemname. The element has both 'type' @@ -23920,6 +23921,7 @@ virDomainStorageSourceFormatFull(virBufferPtr buf, virStorageSourcePtr src, const char *elemname, bool status, + bool backingStore, virDomainXMLOptionPtr xmlopt) { VIR_AUTOCLEAN(virBuffer) attrBuf = VIR_BUFFER_INITIALIZER; @@ -23939,7 +23941,14 @@ virDomainStorageSourceFormatFull(virBufferPtr buf, true, true, 0, xmlopt) < 0) return -1; - return virXMLFormatElement(buf, elemname, &attrBuf, &childBuf); + if (virXMLFormatElement(buf, elemname, &attrBuf, &childBuf) < 0) + return -1; + + if (backingStore && src->backingStore && + virDomainDiskBackingStoreFormat(buf, src->backingStore, xmlopt, flags) < 0) + return -1; + + return 0; } diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index b373dbf939..0bdd6c0f55 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -3465,6 +3465,7 @@ virDomainStorageSourceFormatFull(virBufferPtr buf, virStorageSourcePtr src, const char *elemname, bool status, + bool backingStore, virDomainXMLOptionPtr xmlopt) ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3); diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 78287b4d3e..ea70979f8b 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -2364,7 +2364,7 @@ qemuDomainObjPrivateXMLFormatNBDMigration(virBufferPtr buf, if (diskPriv->migrSource && virDomainStorageSourceFormatFull(&childBuf, diskPriv->migrSource, - "migrationSource", true, + "migrationSource", true, false, priv->driver->xmlopt) < 0) goto cleanup; -- 2.20.1 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list