Add support for the 'image_format' typed parameter in virDomainSaveParams.
The parameter overrides the 'save_image_format' setting in qemu.conf.

Signed-off-by: Jim Fehlig <jfeh...@suse.com>
---
 src/qemu/qemu_driver.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index a868cca72c..41f547de19 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -2821,6 +2821,7 @@ qemuDomainSaveParams(virDomainPtr dom,
     g_autoptr(virCommand) compressor = NULL;
     const char *to = NULL;
     const char *dxml = NULL;
+    const char *formatstr = NULL;
     int format = QEMU_SAVE_FORMAT_RAW;
     int ret = -1;
 
@@ -2833,6 +2834,8 @@ qemuDomainSaveParams(virDomainPtr dom,
                                VIR_TYPED_PARAM_STRING,
                                VIR_DOMAIN_SAVE_PARAM_DXML,
                                VIR_TYPED_PARAM_STRING,
+                               VIR_DOMAIN_SAVE_PARAM_IMAGE_FORMAT,
+                               VIR_TYPED_PARAM_STRING,
                                NULL) < 0)
         return -1;
 
@@ -2842,6 +2845,9 @@ qemuDomainSaveParams(virDomainPtr dom,
     if (virTypedParamsGetString(params, nparams,
                                 VIR_DOMAIN_SAVE_PARAM_DXML, &dxml) < 0)
         return -1;
+    if (virTypedParamsGetString(params, nparams,
+                                VIR_DOMAIN_SAVE_PARAM_IMAGE_FORMAT, 
&formatstr) < 0)
+        return -1;
 
     if (!(vm = qemuDomainObjFromDomain(dom)))
         goto cleanup;
@@ -2855,8 +2861,10 @@ qemuDomainSaveParams(virDomainPtr dom,
     }
 
     cfg = virQEMUDriverGetConfig(driver);
-    if (cfg->saveImageFormat &&
-        (format = qemuSaveFormatTypeFromString(cfg->saveImageFormat)) < 0)
+    if (formatstr == NULL)
+        formatstr = cfg->saveImageFormat;
+
+    if (formatstr && (format = qemuSaveFormatTypeFromString(formatstr)) < 0)
         goto cleanup;
 
     if (qemuSaveImageGetCompressionProgram(format, &compressor, "save") < 0)
-- 
2.43.0

Reply via email to