From: Paolo Bonzini <pbonzini@redhat.com>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: "Huangweidong (C)" <weidong.huang@huawei.com>,
"stefanha@redhat.com" <stefanha@redhat.com>,
"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
"agraf@suse.de" <agraf@suse.de>,
"Gonglei (Arei)" <arei.gonglei@huawei.com>,
"aliguori@amazon.com" <aliguori@amazon.com>,
"Huangpeng (Peter)" <peter.huangpeng@huawei.com>,
"lcapitulino@redhat.com" <lcapitulino@redhat.com>
Subject: Re: [Qemu-devel] [PATCH 0/3] Fix confused output for alias properties
Date: Mon, 22 Sep 2014 14:55:17 +0200 [thread overview]
Message-ID: <54201C35.1090502@redhat.com> (raw)
In-Reply-To: <20140922123419.GA7992@redhat.com>
Il 22/09/2014 14:34, Michael S. Tsirkin ha scritto:
> On Mon, Sep 22, 2014 at 02:06:38PM +0200, Paolo Bonzini wrote:
>> Il 22/09/2014 13:22, Gonglei (Arei) ha scritto:
>>>> This doesn't change the fact that ObjectProperty is a generic struct,
>>>> and adding alias-specific fields there is wrong.
>>>
>>> OK, Maybe I should find other ways to attach this purpose and
>>> avoid layering violation. Thanks!
>>
>> Unfortunately I cannot think of any.
>>
>> We could add a description field to ObjectProperty, and replace
>> legacy_name with a description. The output then would be
>>
>> virtio-blk.drive=str (drive)
>> That's a bit hackish, but perhaps it would be good enough for mst and
>> Markus?
>
> I would just drop "str" and replace it with drive.
In the above example, the format would be
CLASS.PROPERTY=TYPE (DESCRIPTION)
where I just put "drive" as the description to resemble the old output.
You cannot just have
foo.drive=drive
because the type is *not* "drive", it's "str" (if anything, we could
make it link<BlockBackend> which does not really show the connection
between BlockBackend and -drive).
The problem is that "drive" as the type (the legacy_name) is simply not
available for the virtio-blk-pci.drive property. It's hidden beneath an
opaque pointer. Gonglei's patches were adding fields to ObjectProperty
just to avoid visiting that opaque pointer, which I consider a layering
violation.
> I seems to convey zero information.
> Description should be something more informative, e.g.
> (ID of a drive to use as a backend)
That would of course be fine too. The problem is then that we have 644
properties (DEFINE_PROP_* macro invocations) that someone must add a
description to.
> Help for -device could add "Must match ID of a -drive option".
> Help for device HMP command could add "Must match ID of a drive command."
You are turning a bug that nobody noticed until now, and that really
doesn't break anything, into a month or more worth of work.
Paolo
next prev parent reply other threads:[~2014-09-22 12:55 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-15 14:44 [Qemu-devel] [PATCH 0/3] Fix confused output for alias properties arei.gonglei
2014-09-15 14:44 ` [Qemu-devel] [PATCH 1/3] qom: add error handler for object alias property arei.gonglei
2014-09-15 15:56 ` Paolo Bonzini
2014-09-15 14:44 ` [Qemu-devel] [PATCH 2/3] qom: add target object poniter for alias property in ObjectProperty arei.gonglei
2014-09-15 14:44 ` [Qemu-devel] [PATCH 3/3] qmp: print real legacy_name for alias property arei.gonglei
2014-09-15 17:46 ` Michael S. Tsirkin
2014-09-15 15:57 ` [Qemu-devel] [PATCH 0/3] Fix confused output for alias properties Paolo Bonzini
2014-09-15 17:38 ` Eric Blake
2014-09-15 17:45 ` Michael S. Tsirkin
2014-09-16 7:21 ` Markus Armbruster
2014-09-16 7:53 ` Gonglei (Arei)
2014-09-16 8:36 ` Paolo Bonzini
2014-09-16 9:16 ` Markus Armbruster
2014-09-16 9:34 ` Paolo Bonzini
2014-09-16 10:37 ` Michael S. Tsirkin
2014-09-16 10:45 ` Paolo Bonzini
2014-09-16 13:31 ` Gonglei (Arei)
2014-09-16 16:26 ` Michael S. Tsirkin
2014-09-16 16:27 ` Paolo Bonzini
2014-09-16 16:56 ` Michael S. Tsirkin
2014-09-16 18:31 ` Paolo Bonzini
2014-09-16 19:01 ` Michael S. Tsirkin
2014-09-16 19:01 ` Michael S. Tsirkin
2014-09-17 6:02 ` Markus Armbruster
2014-09-16 20:00 ` Eric Blake
2014-09-17 5:54 ` Markus Armbruster
2014-09-17 12:58 ` Eric Blake
2014-09-16 14:32 ` Markus Armbruster
2014-09-16 14:36 ` Paolo Bonzini
2014-09-17 2:31 ` Gonglei (Arei)
2014-09-22 8:26 ` Gonglei (Arei)
2014-09-15 17:48 ` Michael S. Tsirkin
2014-09-15 17:49 ` Michael S. Tsirkin
2014-09-16 0:42 ` Gonglei (Arei)
2014-09-16 8:38 ` Paolo Bonzini
2014-09-22 8:34 ` Michael S. Tsirkin
2014-09-22 8:49 ` Gonglei (Arei)
2014-09-22 9:14 ` Paolo Bonzini
2014-09-22 9:33 ` Gonglei (Arei)
2014-09-22 10:03 ` Paolo Bonzini
2014-09-22 11:22 ` Gonglei (Arei)
2014-09-22 12:06 ` Paolo Bonzini
2014-09-22 12:34 ` Michael S. Tsirkin
2014-09-22 12:55 ` Paolo Bonzini [this message]
2014-09-23 3:09 ` Gonglei (Arei)
2014-09-23 8:39 ` Paolo Bonzini
2014-09-23 9:13 ` Markus Armbruster
2014-09-23 9:18 ` Gonglei (Arei)
2014-09-23 9:06 ` Markus Armbruster
2014-09-23 9:16 ` Michael S. Tsirkin
2014-09-23 9:17 ` Gonglei (Arei)
2014-09-22 12:48 ` Markus Armbruster
2014-09-22 13:13 ` Gonglei (Arei)
2014-09-22 13:24 ` Paolo Bonzini
2014-09-22 13:36 ` Gonglei (Arei)
2014-09-22 13:40 ` Paolo Bonzini
2014-09-22 13:45 ` Gonglei (Arei)
2014-09-22 13:19 ` Gonglei (Arei)
2014-09-22 11:43 ` Markus Armbruster
2014-09-22 13:08 ` Paolo Bonzini
2014-09-23 4:46 ` Michael S. Tsirkin
2014-09-23 11:39 ` Markus Armbruster
2014-09-22 9:29 ` 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=54201C35.1090502@redhat.com \
--to=pbonzini@redhat.com \
--cc=agraf@suse.de \
--cc=aliguori@amazon.com \
--cc=arei.gonglei@huawei.com \
--cc=lcapitulino@redhat.com \
--cc=mst@redhat.com \
--cc=peter.huangpeng@huawei.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
--cc=weidong.huang@huawei.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.