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

Re: [Xen-devel] [PATCH v2] libxl: Spice image compression setting support for upstream qemu



On Thu, Jan 08, 2015 at 04:26:30PM +0100, Fabio Fantoni wrote:
> Usage:
> spice_image_compression=[auto_glz|auto_lz|quic|glz|lz|off]
> 
> Specifies what image compression is to be used by spice (if given),
> otherwise the qemu default will be used.
> 
> Signed-off-by: Fabio Fantoni <fabio.fantoni@xxxxxxx>
> 
> ---
> 
> Changes in v2:
> - refresh
> ---
>  docs/man/xl.cfg.pod.5       |  5 +++++
>  tools/libxl/libxl.h         | 11 +++++++++++
>  tools/libxl/libxl_dm.c      |  3 +++
>  tools/libxl/libxl_types.idl |  1 +
>  tools/libxl/xl_cmdimpl.c    |  2 ++
>  5 files changed, 22 insertions(+)
> 
> diff --git a/docs/man/xl.cfg.pod.5 b/docs/man/xl.cfg.pod.5
> index 622ea53..07797b1 100644
> --- a/docs/man/xl.cfg.pod.5
> +++ b/docs/man/xl.cfg.pod.5
> @@ -1421,6 +1421,11 @@ for redirection of up to 4 usb devices from spice 
> client to domU's qemu.
>  It requires an usb controller and if not defined it will automatically adds
>  an usb2 controller. The default is disabled (0).
>  
> +=item B<spice_image_compression=[auto_glz|auto_lz|quic|glz|lz|off]>
> +
> +Specifies what image compression is to be used by spice (if given), otherwise
> +the qemu default will be used.
> +

I don't think you should be so explicit here. Potentially QEMU can add
other compression algorithms or remove some algorithms. The doc should
ask user to consult output of the QEMU they use.

>  =back
>  
>  =head3 Miscellaneous Emulated Hardware
> diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
> index 0a123f1..b8e0b67 100644
> --- a/tools/libxl/libxl.h
> +++ b/tools/libxl/libxl.h
> @@ -528,6 +528,17 @@ typedef struct libxl__ctx libxl_ctx;
>  #define LIBXL_HAVE_SPICE_USBREDIREDIRECTION 1
>  
>  /*
> + * LIBXL_HAVE_SPICE_IMAGECOMPRESSION
> + *
> + * If defined, then the libxl_spice_info structure will contain a string type
> + * field: image_compression. This value defines what Spice image compression
> + * is used.
> + *
> + * If this is not defined, the Spice image compression setting support is 
> ignored.
> + */
> +#define LIBXL_HAVE_SPICE_IMAGECOMPRESSION 1
> +
> +/*
>   * LIBXL_HAVE_DOMAIN_CREATE_RESTORE_PARAMS 1
>   *
>   * If this is defined, libxl_domain_create_restore()'s API has changed to
> diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
> index c2b0487..e1188f4 100644
> --- a/tools/libxl/libxl_dm.c
> +++ b/tools/libxl/libxl_dm.c
> @@ -398,6 +398,9 @@ static char *dm_spice_options(libxl__gc *gc,
>      if (!libxl_defbool_val(spice->clipboard_sharing))
>          opt = libxl__sprintf(gc, "%s,disable-copy-paste", opt);
>  
> +    if (spice->image_compression)
> +        opt = libxl__sprintf(gc, "%s,image-compression=%s", opt, 
> spice->image_compression);

Line too long.

> +
>      return opt;
>  }
>  
> diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl
> index f7fc695..1dc4233 100644
> --- a/tools/libxl/libxl_types.idl
> +++ b/tools/libxl/libxl_types.idl
> @@ -240,6 +240,7 @@ libxl_spice_info = Struct("spice_info", [
>      ("vdagent",     libxl_defbool),
>      ("clipboard_sharing", libxl_defbool),
>      ("usbredirection", integer),
> +    ("image_compression", string),
>      ])
>  
>  libxl_sdl_info = Struct("sdl_info", [
> diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
> index ed0d478..8afac5a 100644
> --- a/tools/libxl/xl_cmdimpl.c
> +++ b/tools/libxl/xl_cmdimpl.c
> @@ -1938,6 +1938,8 @@ skip_vfb:
>                              &b_info->u.hvm.spice.clipboard_sharing, 0);
>          if (!xlu_cfg_get_long (config, "spiceusbredirection", &l, 0))
>              b_info->u.hvm.spice.usbredirection = l;
> +        xlu_cfg_replace_string (config, "spice_image_compression",
> +                                &b_info->u.hvm.spice.image_compression, 0);
>          xlu_cfg_get_defbool(config, "nographic", &b_info->u.hvm.nographic, 
> 0);
>          xlu_cfg_get_defbool(config, "gfx_passthru",
>                              &b_info->u.hvm.gfx_passthru, 0);
> -- 
> 1.9.1

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.