qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Eric Blake <eblake@redhat.com>
To: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>,
	qemu-devel@nongnu.org
Cc: Xiao Guangrong <guangrong.xiao@linux.intel.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Markus Armbruster <armbru@redhat.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Igor Mammedov <imammedo@redhat.com>,
	"Denis V. Lunev" <den@openvz.org>
Subject: Re: [Qemu-devel] [PATCH 2/3] pcdimm: add 'type' field to PCDIMMDeviceInfo
Date: Wed, 3 Feb 2016 08:14:34 -0700	[thread overview]
Message-ID: <56B2195A.4040503@redhat.com> (raw)
In-Reply-To: <56B1EBCA.30201@virtuozzo.com>

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

On 02/03/2016 05:00 AM, Vladimir Sementsov-Ogievskiy wrote:

>>> +# @type: device type: 'pc-dimm' or 'nvdimm' (since 2.6)
>>> +#
>>>   # Since: 2.1
>>>   ##
>>>   { 'struct': 'PCDIMMDeviceInfo',
>>> @@ -3934,7 +3936,8 @@
>>>               'node': 'int',
>>>               'memdev': 'str',
>>>               'hotplugged': 'bool',
>>> -            'hotpluggable': 'bool'
>>> +            'hotpluggable': 'bool',
>>> +            'type': 'str'
>> No. Since it is a finite set of values (just two possible), you should
>> be using an enum here rather than open-coded 'str'. Something like:
>>
>> { 'enum': 'DIMMType', 'data': [ 'pc-dimm', 'nvdimm' ] }
>>
> 
> Are you sure? This is only output Info, so user will never "set" this
> field. Also, qemu type system (as I understand) is based on string
> names. object_dynamic_cast and other functions uses "const char
> *typename". This enum will be out of qemu type system and we will have
> to sync it.. Is there already some practice of translating string
> typenames to enum values?

Yes, exposing a finite set of strings as an enum is ideal for the user
interface, even if we carry string values instead of enum values in
other places in the code.  QAPI already includes convenience methods for
translating between strings and enum values (EnumName_lookup[] to go
from int to string, and qapi_enum_parse() to reverse from string back to
enum).

-- 
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-02-03 15:14 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-28  6:51 [Qemu-devel] [PATCH v4 0/3] don't use NVDIMM for balooning Vladimir Sementsov-Ogievskiy
2016-01-28  6:51 ` [Qemu-devel] [PATCH 1/3] move get_current_ram_size to virtio-balloon.c Vladimir Sementsov-Ogievskiy
2016-01-28  6:51 ` [Qemu-devel] [PATCH 2/3] pcdimm: add 'type' field to PCDIMMDeviceInfo Vladimir Sementsov-Ogievskiy
2016-02-02 15:26   ` Markus Armbruster
2016-02-02 22:12   ` Eric Blake
2016-02-03 12:00     ` Vladimir Sementsov-Ogievskiy
2016-02-03 15:14       ` Eric Blake [this message]
2016-02-03 15:42         ` Markus Armbruster
2016-01-28  6:51 ` [Qemu-devel] [PATCH 3/3] balloon: don't use NVDIMM for ballooning Vladimir Sementsov-Ogievskiy
2016-02-02 15:30   ` Markus Armbruster
2016-02-03 12:01     ` Vladimir Sementsov-Ogievskiy
2016-02-02 22:13   ` Eric Blake
2016-02-03 15:42     ` Markus Armbruster
2016-02-03 16:23       ` Igor Mammedov
2016-02-03 17:21       ` Vladimir Sementsov-Ogievskiy
2016-02-04  6:20         ` Markus Armbruster
2016-02-04 10:21           ` Vladimir Sementsov-Ogievskiy
2016-02-05  9:53             ` Markus Armbruster
2016-02-05 12:00               ` Vladimir Sementsov-Ogievskiy
2016-02-02  9:49 ` [Qemu-devel] [PATCH v4 0/3] don't use NVDIMM for balooning Denis V. Lunev

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=56B2195A.4040503@redhat.com \
    --to=eblake@redhat.com \
    --cc=armbru@redhat.com \
    --cc=den@openvz.org \
    --cc=guangrong.xiao@linux.intel.com \
    --cc=imammedo@redhat.com \
    --cc=mst@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.com \
    --cc=vsementsov@virtuozzo.com \
    /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).