On Fri, Feb 14, 2025 at 08:03:10PM -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@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; THis will need a little change based on my other patch comments. Although it is less code to just call qemuSaveFormatTypeFromString here, instead of qemu_conf.c, I still think we should call it in qemu_conf.c for the the config file parameters. That'll mean this code needs a little change to only use qemuSaveFormatTypeFromString when the typed parameters are providing a custom format override. > > if (qemuSaveImageGetCompressionProgram(format, &compressor, "save") < 0) > -- > 2.43.0 > 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 :|