From: Eric Blake <eblake@redhat.com>
To: Luiz Capitulino <lcapitulino@redhat.com>
Cc: Kevin Wolf <kwolf@redhat.com>,
Paolo Bonzini <pbonzini@redhat.com>,
qemu-devel <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] [PATCH for-1.5] qmp: add query-drive-mirror-capabilities
Date: Wed, 24 Apr 2013 15:59:15 -0600 [thread overview]
Message-ID: <517855B3.6060604@redhat.com> (raw)
In-Reply-To: <20130424172911.753616ea@redhat.com>
[-- Attachment #1: Type: text/plain, Size: 2195 bytes --]
On 04/24/2013 03:29 PM, Luiz Capitulino wrote:
>> -> { "execute": "query-command-capabilities" }
>> <- { [ { "type": "drive-mirror",
>> "data": [ "granularity", "buf-size" ] },
>> { "type", ... }
>> ] }
>>
>> And whether a '*command' argument should be optional for filtered
>> output, vs. always unconditionally dumping all information on all
>> commands with capabilities, vs. mandatory (can only get capabilities for
>> one command at a time), all goes back to the larger question of whether
>> query-* commands should allow filtering.
>
> Not discussing filtering for now, but your proposal would superseded by
> full introspection, wouldn't it?
Yeah, the two do seem rather similar, in that they are both providing a
form of introspection. As I see it, it boils down to WHAT is being
introspected:
With query-command-capabilities, we are asking about capabilities, which
can always be represented as pure enum values (either the capability is
present or it is not). For DriveMirrorCapabilities we happened to map
two enum values to the name of two optional drive-mirror parameters; but
where we could introduce other capabilities that are unrelated to an
optional parameter; also, we aren't polluting the output with parameters
that don't really reflect capability additions, so even if we don't
provide filtering, the output of a query-command-capabilities will be
relatively small compared to the number of total QMP commands.
With full-blown command introspection, we would want to be asking for a
JSON representation more details about each parameter, in a struct that
looks something like { 'name':'str', 'type':'<enumOfTypes>',
'optional':'boolean', '*default':'<typesafe way of representing the
default of any boolean option>', '*documentation':'str' }. If we don't
provide filtering, then this JSON output might be quite large, because
it covers all QMP commands,
>
> Anyways, I also agree it's a good idea to defer this to 1.6 so we can
> revisit this topic later.
That relieves some pressure :)
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 621 bytes --]
next prev parent reply other threads:[~2013-04-24 21:59 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-24 20:36 [Qemu-devel] [PATCH for-1.5] qmp: add query-drive-mirror-capabilities Luiz Capitulino
2013-04-24 21:05 ` Eric Blake
2013-04-24 21:29 ` Luiz Capitulino
2013-04-24 21:59 ` Eric Blake [this message]
2013-04-24 22:06 ` Eric Blake
2013-04-25 12:26 ` Luiz Capitulino
2013-04-26 8:13 ` Paolo Bonzini
2013-04-26 13:40 ` Markus Armbruster
2013-04-26 13:54 ` Luiz Capitulino
2013-04-26 15:25 ` Markus Armbruster
2013-04-24 21:24 ` Paolo Bonzini
2013-04-24 21:30 ` Luiz Capitulino
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=517855B3.6060604@redhat.com \
--to=eblake@redhat.com \
--cc=kwolf@redhat.com \
--cc=lcapitulino@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).