[PATCH 06/14] qemuBlockGetBackingStoreString: Add 'pretty' argument

Peter Krempa pkrempa at redhat.com
Mon Mar 23 18:11:56 UTC 2020


Add support for pretty-printing of the JSON variant of the output for
consumption in tests. All current callers pass 'false'.

Signed-off-by: Peter Krempa <pkrempa at redhat.com>
---
 src/qemu/qemu_block.c  | 8 +++++---
 src/qemu/qemu_block.h  | 3 ++-
 src/qemu/qemu_driver.c | 4 ++--
 3 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/src/qemu/qemu_block.c b/src/qemu/qemu_block.c
index 22ea2fe018..d6cc999a43 100644
--- a/src/qemu/qemu_block.c
+++ b/src/qemu/qemu_block.c
@@ -2027,13 +2027,15 @@ qemuBlockStorageGetCopyOnReadProps(virDomainDiskDefPtr disk)
 /**
  * qemuBlockGetBackingStoreString:
  * @src: storage source to get the string for
+ * @pretty: pretty-print the JSON (if applicable, used by tests)
  *
  * Formats a string used in the backing store field of a disk image which
  * supports backing store. Non-local storage may result in use of the json:
  * pseudo protocol for any complex configuration.
  */
 char *
-qemuBlockGetBackingStoreString(virStorageSourcePtr src)
+qemuBlockGetBackingStoreString(virStorageSourcePtr src,
+                               bool pretty)
 {
     int actualType = virStorageSourceGetActualType(src);
     g_autoptr(virJSONValue) backingProps = NULL;
@@ -2100,7 +2102,7 @@ qemuBlockGetBackingStoreString(virStorageSourcePtr src)
         props = sliceProps;
     }

-    if (!(backingJSON = virJSONValueToString(props, false)))
+    if (!(backingJSON = virJSONValueToString(props, pretty)))
         return NULL;

     ret = g_strdup_printf("json:%s", backingJSON);
@@ -2128,7 +2130,7 @@ qemuBlockStorageSourceCreateAddBacking(virStorageSourcePtr backing,
             backingFormatStr = virStorageFileFormatTypeToString(backing->format);
     }

-    if (!(backingFileStr = qemuBlockGetBackingStoreString(backing)))
+    if (!(backingFileStr = qemuBlockGetBackingStoreString(backing, false)))
         return -1;

     if (virJSONValueObjectAdd(props,
diff --git a/src/qemu/qemu_block.h b/src/qemu/qemu_block.h
index 28475b25c1..9bffe20bfb 100644
--- a/src/qemu/qemu_block.h
+++ b/src/qemu/qemu_block.h
@@ -178,7 +178,8 @@ qemuBlockSnapshotAddBlockdev(virJSONValuePtr actions,
                              virStorageSourcePtr newsrc);

 char *
-qemuBlockGetBackingStoreString(virStorageSourcePtr src)
+qemuBlockGetBackingStoreString(virStorageSourcePtr src,
+                               bool pretty)
     ATTRIBUTE_NONNULL(1);

 int
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 8a2cd35fa7..209f8279bd 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -17499,7 +17499,7 @@ qemuDomainBlockPullCommon(virDomainObjPtr vm,
         if (baseSource) {
             nodebase = baseSource->nodeformat;
             if (!backingPath &&
-                !(backingPath = qemuBlockGetBackingStoreString(baseSource)))
+                !(backingPath = qemuBlockGetBackingStoreString(baseSource, false)))
                 goto endjob;
         }
         device = disk->src->nodeformat;
@@ -18667,7 +18667,7 @@ qemuDomainBlockCommit(virDomainPtr dom,
         nodebase = baseSource->nodeformat;
         device = qemuDomainDiskGetTopNodename(disk);
         if (!backingPath && top_parent &&
-            !(backingPath = qemuBlockGetBackingStoreString(baseSource)))
+            !(backingPath = qemuBlockGetBackingStoreString(baseSource, false)))
             goto endjob;

         if (bitmapDisableActions) {
-- 
2.24.1




More information about the libvir-list mailing list