diff mbox

[v3,11/15] qmp: update qmp_query_spice fallback

Message ID 20160808141439.16908-12-marcandre.lureau@redhat.com
State New
Headers show

Commit Message

Marc-André Lureau Aug. 8, 2016, 2:14 p.m. UTC
From: Marc-André Lureau <marcandre.lureau@redhat.com>

The following "use qmp_dispatch()" commit will use the generated
dispatch command table that is unaware of compile time conditionals.

There are a few commands that are under #ifdef conditions in
qmp-commands.hx. Move the qmp_query_spice fallback in the same location
as the other fallbacks, return an error instead of abort() and update
the comment.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 monitor.c | 14 ++++++++++++++
 qmp.c     | 16 ----------------
 2 files changed, 14 insertions(+), 16 deletions(-)

Comments

Markus Armbruster Aug. 9, 2016, 12:38 p.m. UTC | #1
marcandre.lureau@redhat.com writes:

> From: Marc-André Lureau <marcandre.lureau@redhat.com>
>
> The following "use qmp_dispatch()" commit will use the generated
> dispatch command table that is unaware of compile time conditionals.
>
> There are a few commands that are under #ifdef conditions in
> qmp-commands.hx. Move the qmp_query_spice fallback in the same location
> as the other fallbacks, return an error instead of abort() and update
> the comment.
>
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
>  monitor.c | 14 ++++++++++++++
>  qmp.c     | 16 ----------------
>  2 files changed, 14 insertions(+), 16 deletions(-)
>
> diff --git a/monitor.c b/monitor.c
> index e7549b1..5e7ae21 100644
> --- a/monitor.c
> +++ b/monitor.c
> @@ -4303,6 +4303,20 @@ QemuOptsList qemu_mon_opts = {
>      },
>  };
>  
> +/*
> + * the QAPI schema is blissfully unaware #ifdef FOO commands, and the
> + * QAPI code generator happily generates a qmp_marshal_foo_cmd() that
> + * calls qmp_foo_cmd().  Provide it one, or else linking fails.  FIXME
> + * Educate the QAPI schema on #ifdef commands.

Let's keep the FIXME on the same line as its text.  Can touch up on commit.

> + */
> +#ifndef CONFIG_SPICE
> +SpiceInfo *qmp_query_spice(Error **errp)
> +{
> +    error_setg(errp, QERR_FEATURE_DISABLED, "spice");
> +    return NULL;
> +};
> +#endif
> +
>  #ifndef TARGET_I386
>  void qmp_rtc_reset_reinjection(Error **errp)
>  {
> diff --git a/qmp.c b/qmp.c
> index b6d531e..884d1ab 100644
> --- a/qmp.c
> +++ b/qmp.c
> @@ -161,22 +161,6 @@ VncInfo2List *qmp_query_vnc_servers(Error **errp)
>  };
>  #endif
>  
> -#ifndef CONFIG_SPICE
> -/*
> - * qmp-commands.hx ensures that QMP command query-spice exists only
> - * #ifdef CONFIG_SPICE.  Necessary for an accurate query-commands
> - * result.  However, the QAPI schema is blissfully unaware of that,
> - * and the QAPI code generator happily generates a dead
> - * qmp_marshal_query_spice() that calls qmp_query_spice().  Provide it
> - * one, or else linking fails.  FIXME Educate the QAPI schema on
> - * CONFIG_SPICE.
> - */
> -SpiceInfo *qmp_query_spice(Error **errp)
> -{
> -    abort();
> -};
> -#endif
> -
>  void qmp_cont(Error **errp)
>  {
>      Error *local_err = NULL;
diff mbox

Patch

diff --git a/monitor.c b/monitor.c
index e7549b1..5e7ae21 100644
--- a/monitor.c
+++ b/monitor.c
@@ -4303,6 +4303,20 @@  QemuOptsList qemu_mon_opts = {
     },
 };
 
+/*
+ * the QAPI schema is blissfully unaware #ifdef FOO commands, and the
+ * QAPI code generator happily generates a qmp_marshal_foo_cmd() that
+ * calls qmp_foo_cmd().  Provide it one, or else linking fails.  FIXME
+ * Educate the QAPI schema on #ifdef commands.
+ */
+#ifndef CONFIG_SPICE
+SpiceInfo *qmp_query_spice(Error **errp)
+{
+    error_setg(errp, QERR_FEATURE_DISABLED, "spice");
+    return NULL;
+};
+#endif
+
 #ifndef TARGET_I386
 void qmp_rtc_reset_reinjection(Error **errp)
 {
diff --git a/qmp.c b/qmp.c
index b6d531e..884d1ab 100644
--- a/qmp.c
+++ b/qmp.c
@@ -161,22 +161,6 @@  VncInfo2List *qmp_query_vnc_servers(Error **errp)
 };
 #endif
 
-#ifndef CONFIG_SPICE
-/*
- * qmp-commands.hx ensures that QMP command query-spice exists only
- * #ifdef CONFIG_SPICE.  Necessary for an accurate query-commands
- * result.  However, the QAPI schema is blissfully unaware of that,
- * and the QAPI code generator happily generates a dead
- * qmp_marshal_query_spice() that calls qmp_query_spice().  Provide it
- * one, or else linking fails.  FIXME Educate the QAPI schema on
- * CONFIG_SPICE.
- */
-SpiceInfo *qmp_query_spice(Error **errp)
-{
-    abort();
-};
-#endif
-
 void qmp_cont(Error **errp)
 {
     Error *local_err = NULL;