From 23fcd1d6a87e0fcbffc8d4ddfa9cf2b7a226cdd5 Mon Sep 17 00:00:00 2001 Message-Id: <23fcd1d6a87e0fcbffc8d4ddfa9cf2b7a226cdd5@dist-git> From: Peter Krempa Date: Wed, 19 Feb 2020 15:10:16 +0100 Subject: [PATCH] qemuBlockStorageSourceGetFormatRawProps: format 'offset' and 'size' for slice MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit If we have a 'format' type slice for a raw driver we can directly format the values. Signed-off-by: Peter Krempa Reviewed-by: Ján Tomko (cherry picked from commit c4818812831967b8f882b2c33780aab129e245a2) https://bugzilla.redhat.com/show_bug.cgi?id=1791788 Message-Id: Reviewed-by: Ján Tomko --- 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..b408d4c81f 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, + "U:offset", src->sliceStorage->offset, + "U:size", src->sliceStorage->size, + NULL) < 0) + return -1; + return 0; } -- 2.25.0