mirror of
https://github.com/mii443/qemu.git
synced 2025-12-16 17:18:49 +00:00
qapi: Implement deprecated-output=hide for QMP command results
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>
Message-Id: <20210318155519.1224118-4-armbru@redhat.com>
This commit is contained in:
@@ -19,6 +19,7 @@
|
||||
#include "qapi/qmp/dispatch.h"
|
||||
#include "qapi/qmp/qdict.h"
|
||||
#include "qapi/qmp/qjson.h"
|
||||
#include "qapi/qobject-output-visitor.h"
|
||||
#include "sysemu/runstate.h"
|
||||
#include "qapi/qmp/qbool.h"
|
||||
#include "qemu/coroutine.h"
|
||||
@@ -26,6 +27,14 @@
|
||||
|
||||
CompatPolicy compat_policy;
|
||||
|
||||
Visitor *qobject_output_visitor_new_qmp(QObject **result)
|
||||
{
|
||||
Visitor *v = qobject_output_visitor_new(result);
|
||||
|
||||
qobject_output_visitor_set_policy(v, compat_policy.deprecated_output);
|
||||
return v;
|
||||
}
|
||||
|
||||
static QDict *qmp_dispatch_check_obj(QDict *dict, bool allow_oob,
|
||||
Error **errp)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user