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@suse.com>
---
src/qemu/qemu_driver.c | 20 ++++++++++++++++----
1 file changed, 16 insertions(+), 4 deletions(-)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 76b808b98f..6db7a30658 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -2806,11 +2806,13 @@ qemuDomainSaveParams(virDomainPtr dom,
unsigned int flags)
{
virQEMUDriver *driver = dom->conn->privateData;
- g_autoptr(virQEMUDriverConfig) cfg = NULL;
+ g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver);
virDomainObj *vm = NULL;
g_autoptr(virCommand) compressor = NULL;
const char *to = NULL;
const char *dxml = NULL;
+ const char *formatstr = NULL;
+ int format = cfg->saveImageFormat;
int ret = -1;
virCheckFlags(VIR_DOMAIN_SAVE_BYPASS_CACHE |
@@ -2822,6 +2824,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;
@@ -2831,6 +2835,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;
@@ -2843,14 +2850,19 @@ qemuDomainSaveParams(virDomainPtr dom,
return qemuDomainManagedSaveHelper(driver, vm, dxml, flags);
}
- cfg = virQEMUDriverGetConfig(driver);
- if (qemuSaveImageGetCompressionProgram(cfg->saveImageFormat, &compressor, "save") < 0)
+ if (formatstr && (format = qemuSaveFormatTypeFromString(formatstr)) < 0) {
+ virReportError(VIR_ERR_OPERATION_FAILED,
+ _("Invalid image_format '%1$s'"), formatstr);
+ goto cleanup;
+ }
+
+ if (qemuSaveImageGetCompressionProgram(format, &compressor, "save") < 0)
goto cleanup;
if (virDomainObjCheckActive(vm) < 0)
goto cleanup;
- ret = qemuDomainSaveInternal(driver, vm, to, cfg->saveImageFormat,
+ ret = qemuDomainSaveInternal(driver, vm, to, format,
compressor, dxml, flags);
cleanup:
--
2.43.0
On Thu, Feb 20, 2025 at 05:23:54PM -0700, Jim Fehlig via Devel wrote: > 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@suse.com> > --- > src/qemu/qemu_driver.c | 20 ++++++++++++++++---- > 1 file changed, 16 insertions(+), 4 deletions(-) Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> With regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
On 2/25/25 07:43, Daniel P. Berrangé wrote: > On Thu, Feb 20, 2025 at 05:23:54PM -0700, Jim Fehlig via Devel wrote: >> 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@suse.com> >> --- >> src/qemu/qemu_driver.c | 20 ++++++++++++++++---- >> 1 file changed, 16 insertions(+), 4 deletions(-) > > Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Hi Daniel, Thanks for reviewing this and the related series! I suppose it's too late to push these for 11.1.0? If so, I'll change the 'Since:' to 11.2.0 in patch1 and push after the release. Regards, Jim
On Tue, Feb 25, 2025 at 11:34:24AM -0700, Jim Fehlig wrote: > On 2/25/25 07:43, Daniel P. Berrangé wrote: > > On Thu, Feb 20, 2025 at 05:23:54PM -0700, Jim Fehlig via Devel wrote: > > > 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@suse.com> > > > --- > > > src/qemu/qemu_driver.c | 20 ++++++++++++++++---- > > > 1 file changed, 16 insertions(+), 4 deletions(-) > > > > Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> > > Hi Daniel, > > Thanks for reviewing this and the related series! I suppose it's too late to > push these for 11.1.0? If so, I'll change the 'Since:' to 11.2.0 in patch1 > and push after the release. I could kinda argue for the other series being a bugfix, but since its motivation is mostly to assist this series, we might as well merge both together after the release. With regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
© 2016 - 2025 Red Hat, Inc.