[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 4/7] qmp: enable query-[chardev|version|name|
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH v3 4/7] qmp: enable query-[chardev|version|name|uuid|iothreads|memdev] commands in preconfig state |
Date: |
Tue, 12 Jun 2018 09:05:11 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) |
"Dr. David Alan Gilbert" <address@hidden> writes:
> * Markus Armbruster (address@hidden) wrote:
>> "Dr. David Alan Gilbert (git)" <address@hidden> writes:
>>
>> > From: Igor Mammedov <address@hidden>
>> >
>> > subj commands, are informational and do not depend on machine being
>> > initialized. Make them available early in preconfig runstate to make
>> > the later a little bit more useful.
>> >
>> > Signed-off-by: Igor Mammedov <address@hidden>
>>
>> Excessively long subject line. Suggested fix:
>>
>> qmp: Enable a few query- commands in preconfig state
>>
>> Commands query-chardev, query-version, query-name, query-uuid,
>> query-iothreads, query-memdev are informational and do not depend on
>> the machine being initialized. Make them available in preconfig
>> runstate to make the latter a little bit more useful.
>>
>> > ---
>> > qapi/char.json | 3 ++-
>> > qapi/misc.json | 12 +++++++-----
>> > 2 files changed, 9 insertions(+), 6 deletions(-)
>> >
>> > diff --git a/qapi/char.json b/qapi/char.json
>> > index ae19dcd1ed..60f31d83fc 100644
>> > --- a/qapi/char.json
>> > +++ b/qapi/char.json
>> > @@ -62,7 +62,8 @@
>> > # }
>> > #
>> > ##
>> > -{ 'command': 'query-chardev', 'returns': ['ChardevInfo'] }
>> > +{ 'command': 'query-chardev', 'returns': ['ChardevInfo'],
>> > + 'allow-preconfig': true }
>>
>> Okay because
>>
>> if (qemu_opts_foreach(qemu_find_opts("chardev"),
>> chardev_init_func, NULL, NULL)) {
>> exit(1);
>> }
>>
>> runs before -preconfig's main_loop().
>>
>> >
>> > ##
>> > # @ChardevBackendInfo:
>> > diff --git a/qapi/misc.json b/qapi/misc.json
>> > index f83a63a0ab..1be1728c0e 100644
>> > --- a/qapi/misc.json
>> > +++ b/qapi/misc.json
>> > @@ -117,7 +117,8 @@
>> > # }
>> > #
>> > ##
>> > -{ 'command': 'query-version', 'returns': 'VersionInfo' }
>> > +{ 'command': 'query-version', 'returns': 'VersionInfo',
>> > + 'allow-preconfig': true }
>>
>> Returns data fixed at compile time. Okay.
>>
>> >
>> > ##
>> > # @CommandInfo:
>> > @@ -241,7 +242,7 @@
>> > # <- { "return": { "name": "qemu-name" } }
>> > #
>> > ##
>> > -{ 'command': 'query-name', 'returns': 'NameInfo' }
>> > +{ 'command': 'query-name', 'returns': 'NameInfo', 'allow-preconfig': true
>> > }
>>
>> Okay because parse_name() runs before -preconfig's main_loop().
>>
>> > ##
>> > # @KvmInfo:
>> > @@ -301,7 +302,7 @@
>> > # <- { "return": { "UUID": "550e8400-e29b-41d4-a716-446655440000" } }
>> > #
>> > ##
>> > -{ 'command': 'query-uuid', 'returns': 'UuidInfo' }
>> > +{ 'command': 'query-uuid', 'returns': 'UuidInfo', 'allow-preconfig': true
>> > }
>>
>> Okay because qemu_uuid(optarg, &qemu_uuid) runs before -preconfig's
>> main_loop().
>>
>> >
>> > ##
>> > # @EventInfo:
>> > @@ -710,7 +711,8 @@
>> > # }
>> > #
>> > ##
>> > -{ 'command': 'query-iothreads', 'returns': ['IOThreadInfo'] }
>> > +{ 'command': 'query-iothreads', 'returns': ['IOThreadInfo'],
>> > + 'allow-preconfig': true }
>>
>> Feeling lazy... why is this one okay?
>
> Because it's a walk of the entire object tree; with
> object_get_objects_root() - assuming the object tree exists we're safe.
>
>> >
>> > ##
>> > # @BalloonInfo:
>> > @@ -2902,7 +2904,7 @@
>> > # }
>> > #
>> > ##
>> > -{ 'command': 'query-memdev', 'returns': ['Memdev'] }
>> > +{ 'command': 'query-memdev', 'returns': ['Memdev'], 'allow-preconfig':
>> > true }
>> >
>> > ##
>> > # @PCDIMMDeviceInfo:
>>
>> And this one?
>
> Same trick as query-iothreads.
Thanks.
- Re: [Qemu-devel] [PATCH v3 5/7] hmp: Add info commands for preconfig, (continued)
[Qemu-devel] [PATCH v3 1/7] hmp: Add flag for preconfig commands, Dr. David Alan Gilbert (git), 2018/06/08
[Qemu-devel] [PATCH v3 4/7] qmp: enable query-[chardev|version|name|uuid|iothreads|memdev] commands in preconfig state, Dr. David Alan Gilbert (git), 2018/06/08
[Qemu-devel] [PATCH v3 6/7] hmp: add exit_preconfig, Dr. David Alan Gilbert (git), 2018/06/08
[Qemu-devel] [PATCH v3 2/7] hmp: Allow help on preconfig commands, Dr. David Alan Gilbert (git), 2018/06/08
[Qemu-devel] [PATCH v3 3/7] hmp: Restrict auto-complete in preconfig, Dr. David Alan Gilbert (git), 2018/06/08