[PATCH v3 05/15] qemuBlockStorageSourceGetFormatRawProps: format 'offset' and 'size' for slice

Peter Krempa pkrempa at redhat.com
Wed Feb 12 18:03:16 UTC 2020


If we have a 'format' type slice for a raw driver we can directly format
the values.

Signed-off-by: Peter Krempa <pkrempa at redhat.com>
---
 src/qemu/qemu_block.c | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/src/qemu/qemu_block.c b/src/qemu/qemu_block.c
index 710ddfd2cf..6ac1d34281 100644
--- a/src/qemu/qemu_block.c
+++ b/src/qemu/qemu_block.c
@@ -1194,16 +1194,21 @@ qemuBlockStorageSourceGetFormatRawProps(virStorageSourcePtr src,
         secretalias = srcPriv->encinfo->s.aes.alias;
     }

-    /* currently unhandled properties for the 'raw' driver:
-     * 'offset'
-     * 'size'
-     */
-
     if (virJSONValueObjectAdd(props,
                               "s:driver", driver,
                               "S:key-secret", secretalias, NULL) < 0)
         return -1;

+    /* Currently only storage slices are supported. We'll have to calculate
+     * the union of the slices here if we don't want to be adding needless
+     * 'raw' nodes. */
+    if (src->sliceStorage &&
+        virJSONValueObjectAdd(props,
+                              "p:offset", src->sliceStorage->offset,
+                              "p:size", src->sliceStorage->size,
+                              NULL) < 0)
+        return -1;
+
     return 0;
 }

-- 
2.24.1




More information about the libvir-list mailing list