All of lore.kernel.org
 help / color / mirror / Atom feed
From: Markus Armbruster <armbru@redhat.com>
To: BALATON Zoltan <balaton@eik.bme.hu>
Cc: "Akihiko Odaki" <akihiko.odaki@daynix.com>,
	"Jason Wang" <jasowang@redhat.com>,
	"Dmitry Fleytman" <dmitry.fleytman@gmail.com>,
	"Sriram Yagnaraman" <sriram.yagnaraman@ericsson.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	"Luigi Rizzo" <rizzo@iet.unipi.it>,
	"Giuseppe Lettieri" <g.lettieri@iet.unipi.it>,
	"Vincenzo Maffione" <v.maffione@gmail.com>,
	"Andrew Melnychenko" <andrew@daynix.com>,
	"Yuri Benditovich" <yuri.benditovich@daynix.com>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Daniel P. Berrangé" <berrange@redhat.com>,
	"Eduardo Habkost" <eduardo@habkost.net>,
	"Michael Roth" <michael.roth@amd.com>,
	"Marcel Apfelbaum" <marcel.apfelbaum@gmail.com>,
	"Philippe Mathieu-Daudé" <philmd@linaro.org>,
	"Yanan Wang" <wangyanan55@huawei.com>,
	"Zhao Liu" <zhao1.liu@intel.com>, "Lei Yang" <leiyang@redhat.com>,
	qemu-devel@nongnu.org
Subject: Re: [PATCH v4 2/4] qdev-properties: Accept bool for OnOffAuto
Date: Fri, 07 Feb 2025 13:15:02 +0100	[thread overview]
Message-ID: <87o6zehry1.fsf@pond.sub.org> (raw)
In-Reply-To: <4363863f-3ba3-95b3-61ec-6fade162218f@eik.bme.hu> (BALATON Zoltan's message of "Thu, 6 Feb 2025 14:23:39 +0100 (CET)")

BALATON Zoltan <balaton@eik.bme.hu> writes:

> On Thu, 6 Feb 2025, Akihiko Odaki wrote:
>> On 2025/02/06 18:48, Markus Armbruster wrote:
>>>>                                              This problem can be solved
>>>> using an existing mechanism, OnOffAuto, which differentiates the "auto"
>>>> state and explicit the "on" state.
>>>
>>> I guess you're proposing something like this:
>>>
>>> * auto: on if possible, else off
>>>
>>> * on: on if possible, else error
>>>
>>> * off: off (always possible)
>>>
>>> Which one is the default?
>>
>> I converted on to auto and off to false in a following patch.
>>
>>>> However, converting bool to OnOffAuto surfaces another problem: they
>>>> disagree how "on" and "off" should be written. Please note that the
>>>> disagreement already exists and so it is nice to solve anyway.
>>> 
>>> Yes, converting bool to OnOffAuto is an incompatible change.
>>
>> Not just about conversion, but this inconsistency require users to know whether a property is bool or OnOffAuto and change how the values are written in JSON accordingly. This somewhat hurts usability.
>
> Worse than that, the help text is also confusing.
> Excerpt from -device virtio-gpu,help
>
>   blob=<bool>            - on/off (default: false)
>   busnr=<busnr>
>   disable-legacy=<OnOffAuto> - on/off/auto (default: "auto")
>   disable-modern=<bool>  -  (default: false)
>   edid=<bool>            - on/off (default: true)
>   event_idx=<bool>       - on/off (default: true)
>
> For bools it says on/off yet expects true/false. Wasn't originally true/on/1 and false/off/0 accepted for bools? Where that got lost? I think getting back that behaviour would be easiest for users. Users don't care if OnOffAuto is an enum internally and can't (or don't want to) remember if bools are written on/off or true/false so accepting these as synonyms would help users.

The help text printed by -device is about usage of -device, not about
QMP.

There, the preferred syntax for bool values is on/off, but
yes/true/y/no/false/n are also accepted.  I think that's a disgusting
mess, but it's here to stay, so let's not argue this any further.

Instead of "(default: true)" we should have "(default: on)".

All of this is a digression from the topic at hand, which is QMP.



  parent reply	other threads:[~2025-02-07 12:16 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-01-08  6:17 [PATCH v4 0/4] virtio: Convert feature properties to OnOffAuto Akihiko Odaki
2025-01-08  6:17 ` [PATCH v4 1/4] qapi: Do not consume a value if failed Akihiko Odaki
2025-01-08  6:17 ` [PATCH v4 2/4] qdev-properties: Accept bool for OnOffAuto Akihiko Odaki
2025-01-10 11:09   ` Daniel P. Berrangé
2025-01-10 11:31     ` Akihiko Odaki
2025-01-10 12:16       ` Daniel P. Berrangé
2025-01-10 12:32         ` Akihiko Odaki
2025-02-06  9:43     ` Markus Armbruster
2025-02-05 15:29   ` Markus Armbruster
2025-02-06  6:01     ` Akihiko Odaki
2025-02-06  9:48       ` Markus Armbruster
2025-02-06 10:16         ` Akihiko Odaki
2025-02-06 13:23           ` BALATON Zoltan
2025-02-07  5:59             ` Akihiko Odaki
2025-02-07 12:31               ` Markus Armbruster
2025-02-07 12:46                 ` Daniel P. Berrangé
2025-05-05  6:42                   ` Akihiko Odaki
2025-02-07 12:15             ` Markus Armbruster [this message]
2025-05-06 15:37           ` Markus Armbruster
2025-05-06 16:25             ` BALATON Zoltan
2025-05-08  7:09             ` Akihiko Odaki
2025-01-08  6:17 ` [PATCH v4 3/4] qdev-properties: Add DEFINE_PROP_ON_OFF_AUTO_BIT64() Akihiko Odaki
2025-01-08  6:17 ` [PATCH v4 4/4] virtio: Convert feature properties to OnOffAuto Akihiko Odaki
2025-01-09 10:06   ` Lei Yang
2025-01-09 10:56   ` Philippe Mathieu-Daudé
2025-01-09 11:08     ` Akihiko Odaki
2025-01-09 11:13       ` Philippe Mathieu-Daudé
2025-01-10 11:23   ` Daniel P. Berrangé
2025-01-10 11:39     ` Akihiko Odaki
2025-01-09 12:53 ` [PATCH v4 0/4] " Markus Armbruster
2025-01-10  4:42   ` Akihiko Odaki

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=87o6zehry1.fsf@pond.sub.org \
    --to=armbru@redhat.com \
    --cc=akihiko.odaki@daynix.com \
    --cc=andrew@daynix.com \
    --cc=balaton@eik.bme.hu \
    --cc=berrange@redhat.com \
    --cc=dmitry.fleytman@gmail.com \
    --cc=eduardo@habkost.net \
    --cc=g.lettieri@iet.unipi.it \
    --cc=jasowang@redhat.com \
    --cc=leiyang@redhat.com \
    --cc=marcel.apfelbaum@gmail.com \
    --cc=michael.roth@amd.com \
    --cc=mst@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=philmd@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=rizzo@iet.unipi.it \
    --cc=sriram.yagnaraman@ericsson.com \
    --cc=v.maffione@gmail.com \
    --cc=wangyanan55@huawei.com \
    --cc=yuri.benditovich@daynix.com \
    --cc=zhao1.liu@intel.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 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.