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 <jfehlig@xxxxxxxx> --- 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