qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH v6 02/10] qapi: Implement deprecated-output=hide for QMP comm


From: Markus Armbruster
Subject: Re: [PATCH v6 02/10] qapi: Implement deprecated-output=hide for QMP command results
Date: Thu, 18 Mar 2021 14:36:43 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)

Markus Armbruster <armbru@redhat.com> writes:

> This policy suppresses deprecated bits in output, and thus permits
> "testing the future".  Implement it for QMP command results.  Example:
> when QEMU is run with -compat deprecated-output=hide, then
>
>     {"execute": "query-cpus-fast"}
>
> yields
>
>     {"return": [{"thread-id": 9805, "props": {"core-id": 0, "thread-id": 0, 
> "socket-id": 0}, "qom-path": "/machine/unattached/device[0]", "cpu-index": 0, 
> "target": "x86_64"}]}
>
> instead of
>
>     {"return": [{"arch": "x86", "thread-id": 22436, "props": {"core-id": 0, 
> "thread-id": 0, "socket-id": 0}, "qom-path": "/machine/unattached/device[0]", 
> "cpu-index": 0, "target": "x86_64"}]}
>
> Note the suppression of deprecated member "arch".
>
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> Reviewed-by: Eric Blake <eblake@redhat.com>
> ---
[...]
> diff --git a/qapi/qobject-output-visitor.c b/qapi/qobject-output-visitor.c
> index ba6f6ac8a7..5c4aa0f64d 100644
> --- a/qapi/qobject-output-visitor.c
> +++ b/qapi/qobject-output-visitor.c
[...]
> @@ -264,3 +275,11 @@ Visitor *qobject_output_visitor_new(QObject **result)
>  
>      return &v->visitor;
>  }
> +
> +Visitor *qobject_output_visitor_new_qmp(QObject **result)
> +{
> +    QObjectOutputVisitor *v = to_qov(qobject_output_visitor_new(result));
> +
> +    v->deprecated_policy = compat_policy.deprecated_output;
> +    return &v->visitor;
> +}

Linking fail when we link qapi/qobject-output-visitor.o (which uses
@compat_policy), but not qapi/qmp-dispatch.o (which defines it).

Fails for me when I configure --disable-system --disable-tools.

Minimally invasive fix: move the function to qmp-dispatch.c.

Same for qobject_input_visitor_new_qmp() in PATCH 09.

[...]




reply via email to

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