qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH 02/14] spice: add QemuSpiceOps, move migrate_info


From: Dr. David Alan Gilbert
Subject: Re: [PATCH 02/14] spice: add QemuSpiceOps, move migrate_info
Date: Mon, 19 Oct 2020 11:17:07 +0100
User-agent: Mutt/1.14.6 (2020-07-11)

* Gerd Hoffmann (kraxel@redhat.com) wrote:
> Add QemuSpiceOps struct.  This struct holds function pointers to the
> spice functions.  It will be initialized with pointers to the stub
> functions.  When spice gets initialized the function pointers will
> be re-written to the real functions.
> 
> The spice stubs will move from qemu-spice.h to spice-module.c for that,
> because they will be needed for both "CONFIG_SPICE=n" and "CONFIG_SPICE=y
> but spice module not loaded" cases.
> 
> This patch adds the infrastructure and starts with moving
> qemu_spice_migrate_info() to QemuSpiceOps.
> 
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> ---
>  include/ui/qemu-spice-module.h |  5 +++++
>  include/ui/qemu-spice.h        |  5 -----
>  monitor/misc.c                 |  2 +-
>  ui/spice-core.c                |  5 +++++
>  ui/spice-module.c              | 10 ++++++++++
>  5 files changed, 21 insertions(+), 6 deletions(-)
> 
> diff --git a/include/ui/qemu-spice-module.h b/include/ui/qemu-spice-module.h
> index 1af0e659a109..7a9963dd5810 100644
> --- a/include/ui/qemu-spice-module.h
> +++ b/include/ui/qemu-spice-module.h
> @@ -18,6 +18,11 @@
>  #ifndef QEMU_SPICE_MODULE_H
>  #define QEMU_SPICE_MODULE_H
>  
> +struct QemuSpiceOps {
> +    int (*migrate_info)(const char *h, int p, int t, const char *s);
> +};
> +

I realise that's mostly a move, but if you need to repost, can you
expand those 4 single character parameter names?

Dave

>  extern int using_spice;
> +extern struct QemuSpiceOps qemu_spice;
>  
>  #endif
> diff --git a/include/ui/qemu-spice.h b/include/ui/qemu-spice.h
> index ab523788b9a9..3157016c2bb4 100644
> --- a/include/ui/qemu-spice.h
> +++ b/include/ui/qemu-spice.h
> @@ -60,11 +60,6 @@ static inline int qemu_spice_set_pw_expire(time_t expires)
>  {
>      return -1;
>  }
> -static inline int qemu_spice_migrate_info(const char *h, int p, int t,
> -                                          const char *s)
> -{
> -    return -1;
> -}
>  
>  static inline int qemu_spice_display_add_client(int csock, int skipauth,
>                                                  int tls)
> diff --git a/monitor/misc.c b/monitor/misc.c
> index 4a859fb24a21..32e6a8c13d07 100644
> --- a/monitor/misc.c
> +++ b/monitor/misc.c
> @@ -437,7 +437,7 @@ void qmp_client_migrate_info(const char *protocol, const 
> char *hostname,
>              return;
>          }
>  
> -        if (qemu_spice_migrate_info(hostname,
> +        if (qemu_spice.migrate_info(hostname,
>                                      has_port ? port : -1,
>                                      has_tls_port ? tls_port : -1,
>                                      cert_subject)) {
> diff --git a/ui/spice-core.c b/ui/spice-core.c
> index a7fa5743585f..b03d743cf9b9 100644
> --- a/ui/spice-core.c
> +++ b/ui/spice-core.c
> @@ -993,8 +993,13 @@ int qemu_spice_display_is_running(SimpleSpiceDisplay 
> *ssd)
>      return spice_display_is_running;
>  }
>  
> +static struct QemuSpiceOps real_spice_ops = {
> +    .migrate_info = qemu_spice_migrate_info,
> +};
> +
>  static void spice_register_config(void)
>  {
> +    qemu_spice = real_spice_ops;
>      qemu_add_opts(&qemu_spice_opts);
>  }
>  opts_init(spice_register_config);
> diff --git a/ui/spice-module.c b/ui/spice-module.c
> index f86b0ac517dc..f1939545a684 100644
> --- a/ui/spice-module.c
> +++ b/ui/spice-module.c
> @@ -21,3 +21,13 @@
>  #include "ui/qemu-spice-module.h"
>  
>  int using_spice;
> +
> +static int qemu_spice_migrate_info_stub(const char *h, int p, int t,
> +                                        const char *s)
> +{
> +    return -1;
> +}
> +
> +struct QemuSpiceOps qemu_spice = {
> +    .migrate_info = qemu_spice_migrate_info_stub,
> +};
> -- 
> 2.27.0
> 
-- 
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK




reply via email to

[Prev in Thread] Current Thread [Next in Thread]