All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eric Blake <eblake@redhat.com>
To: "Daniel P. Berrange" <berrange@redhat.com>
Cc: qemu-devel@nongnu.org, armbru@redhat.com,
	"Michael Roth" <mdroth@linux.vnet.ibm.com>,
	"Andreas Färber" <afaerber@suse.de>
Subject: Re: [Qemu-devel] [PATCH v9 16/17] qapi: Tweak QmpInputVisitor to optionally do string conversion
Date: Thu, 14 Jul 2016 08:25:20 -0600	[thread overview]
Message-ID: <5787A0D0.7090004@redhat.com> (raw)
In-Reply-To: <20160714141657.GH18778@redhat.com>

[-- Attachment #1: Type: text/plain, Size: 1391 bytes --]

On 07/14/2016 08:16 AM, Daniel P. Berrange wrote:
> On Thu, Jul 14, 2016 at 08:04:29AM -0600, Eric Blake wrote:
>> On 07/14/2016 07:03 AM, Daniel P. Berrange wrote:
>>

>> 3 is a superset of 2, and your command-line conversion is the only case
>> where we can achieve 2.  That is, code dealing with QMP can only choose
>> between 1 and 3, based on whether the QAPI .json file used
>> 'autocast':true for back-compat reasons (the only candidates are
>> 'netdev_add' and 'device_add').  And code dealing with command line
>> parsing can only choose 2 (QemuOpts is string-only), but parsing
>> string-only via 2 is no different than the result achieved from parsing
>> strongly-typed with string fallback via 3.
>>
>> I still don't buy the fact that we need a string-only parser at the
>> moment, but it would not be hard to change the 'bool autocast' into a
>> tri-state enum, and then make the implementation specifically honor 1,
>> 2, or 3 based on the enum value.
> 
> FYI, I just copied you on a patch that enables us to easily support
> all 3 options.

Yours achieves that by having three separate constructors, instead of
one constructor with a tri-state enum parameter.  Either approach works;
Markus, do you have any opinions on which looks nicer?

-- 
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: 604 bytes --]

  reply	other threads:[~2016-07-14 14:25 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-14  3:50 [Qemu-devel] [PATCH for-2.7 v9 00/17] qapi netdev_add introspection (post-introspection cleanups subset F) Eric Blake
2016-07-14  3:50 ` [Qemu-devel] [PATCH v9 01/17] net: use Netdev instead of NetClientOptions in client init Eric Blake
2016-07-14  3:50 ` [Qemu-devel] [PATCH v9 02/17] qapi: Require all branches of flat union enum to be covered Eric Blake
2016-07-14  3:50 ` [Qemu-devel] [PATCH v9 03/17] qapi: Special case c_name() for empty type Eric Blake
2016-07-14  3:50 ` [Qemu-devel] [PATCH v9 04/17] qapi: Hide tag_name data member of variants Eric Blake
2016-07-14  3:50 ` [Qemu-devel] [PATCH v9 05/17] qapi: Add type.is_empty() helper Eric Blake
2016-07-14  3:50 ` [Qemu-devel] [PATCH v9 06/17] qapi: Drop useless gen_err_check() Eric Blake
2016-07-14  3:50 ` [Qemu-devel] [PATCH v9 07/17] qapi-event: Simplify visit of non-implicit data Eric Blake
2016-07-14  3:50 ` [Qemu-devel] [PATCH v9 08/17] qapi: Plumb in 'boxed' to qapi generator lower levels Eric Blake
2016-07-14 14:17   ` Markus Armbruster
2016-07-14  3:50 ` [Qemu-devel] [PATCH v9 09/17] qapi: Implement boxed types for commands/events Eric Blake
2016-07-14 14:26   ` Markus Armbruster
2016-07-14 16:23     ` Eric Blake
2016-07-14  3:50 ` [Qemu-devel] [PATCH v9 10/17] block: Simplify block_set_io_throttle Eric Blake
2016-07-14  3:50 ` [Qemu-devel] [PATCH v9 11/17] block: Simplify drive-mirror Eric Blake
2016-07-14 22:28   ` Eric Blake
2016-07-14 22:37     ` [Qemu-devel] [PATCH v9.5 " Eric Blake
2016-07-14  3:50 ` [Qemu-arm] [PATCH v9 12/17] qapi: Change Netdev into a flat union Eric Blake
2016-07-14  3:50   ` Eric Blake
2016-07-14  3:50   ` [Qemu-devel] " Eric Blake
2016-07-14  3:50 ` [Qemu-devel] [PATCH v9 13/17] net: Use correct type for bool flag Eric Blake
2016-07-14  3:50 ` [Qemu-devel] [PATCH v9 14/17] net: Complete qapi-fication of netdev_add Eric Blake
2016-07-14  3:50 ` [Qemu-devel] [PATCH v9 15/17] option: make parse_option_bool/number non-static Eric Blake
2016-07-14  3:50 ` [Qemu-devel] [PATCH v9 16/17] qapi: Tweak QmpInputVisitor to optionally do string conversion Eric Blake
2016-07-14  8:04   ` Daniel P. Berrange
2016-07-14 12:43     ` Eric Blake
2016-07-14 13:03       ` Daniel P. Berrange
2016-07-14 14:04         ` Eric Blake
2016-07-14 14:16           ` Daniel P. Berrange
2016-07-14 14:25             ` Eric Blake [this message]
2016-07-14  3:50 ` [Qemu-devel] [PATCH v9 17/17] qapi: Restore autocast behavior in 'netdev_add' Eric Blake
2016-07-14 16:42 ` [Qemu-devel] [PATCH for-2.7 v9 00/17] qapi netdev_add introspection (post-introspection cleanups subset F) Markus Armbruster
2016-07-15  7:13   ` Markus Armbruster

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=5787A0D0.7090004@redhat.com \
    --to=eblake@redhat.com \
    --cc=afaerber@suse.de \
    --cc=armbru@redhat.com \
    --cc=berrange@redhat.com \
    --cc=mdroth@linux.vnet.ibm.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.