Re: [PATCH 2/2] qemu: Add support for 'image_format' typed parameter

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 :|



[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux