On 3/12/21 9:32 AM, Markus Armbruster wrote: > QMP commands return their response as a generated QAPI type, which the > monitor core converts to JSON via QObject. > > query-qmp-schema's response is the generated introspection data. This > is a QLitObject since commit 7d0f982bfb "qapi: generate a literal > qobject for introspection", v2.12). Before, it was a string. Instead > of converting QLitObject / string -> QObject -> QAPI type > SchemaInfoList -> QObject -> JSON, we take a shortcut: the command is > 'gen': false, so it can return the QObject instead of the QAPI type. > Slightly simpler and more efficient. > > The next commit will filter the response for output policy, and this > is easier in the SchemaInfoList representation. Drop the shortcut. > > This replaces the manual command registration by a generated one. The > manual registration makes the commnd available before the machine is
command > built by passing flag QCO_ALLOW_PRECONFIG. To keep it available > there, we need need to add 'allow-preconfig': true to its definition > in the schema. > > Signed-off-by: Markus Armbruster <[email protected]> > Reviewed-by: Eric Blake <[email protected]> > --- > qapi/introspect.json | 2 +- > monitor/monitor-internal.h | 3 --- > monitor/misc.c | 2 -- > monitor/qmp-cmds-control.c | 29 ++++++++++++++++------------ > storage-daemon/qemu-storage-daemon.c | 2 -- > 5 files changed, 18 insertions(+), 20 deletions(-) > R-b still stands. -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3226 Virtualization: qemu.org | libvirt.org
