All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Daniel P. Berrange" <berrange@redhat.com>
To: Halil Pasic <pasic@linux.vnet.ibm.com>
Cc: "Eduardo Habkost" <ehabkost@redhat.com>,
	"Igor Mammedov" <imammedo@redhat.com>,
	qemu-devel@nongnu.org, "Andreas Färber" <afaerber@suse.de>,
	"Markus Armbruster" <armbru@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v4 7/8] qmp: Support abstract classes on device-list-properties
Date: Mon, 7 Nov 2016 15:01:53 +0000	[thread overview]
Message-ID: <20161107150153.GB15102@redhat.com> (raw)
In-Reply-To: <9ad4d662-df82-06d0-52a2-ec92b34b9733@linux.vnet.ibm.com>

On Mon, Nov 07, 2016 at 03:48:49PM +0100, Halil Pasic wrote:
> 
> 
> On 11/07/2016 02:05 PM, Eduardo Habkost wrote:
> > If you want some subclasses to not have the property, then I
> > recommend not registering it as a class property on the base
> > class in the first place. I don't expect to see a mechanism to
> > allow subclasses to remove or override class properties from
> > parent classes.
> > 
> 
> Thank you very much for your reply.
> 
> I understand, yet I see potential problems. The example with ioeventfd
> and vhost in virtio-pci is a good one also because  the first there was
> the ioeventfd property with commit 653ced07 and then the vhost case came
> along with commit 50787628ee3 (ok ioeventfd is not there for some non
> vhost virtio-pci devices for reasons I do not understand).
> 
> To rephrase this in generic context a specialization for which a
> property does not make sense might come along after the property at the
> base class was established.
> 
> Now AFAIU properties are external API, so having to make a compatibility
> breaking change there might not be fun. Does this mean one should be
> very careful to put only use class level properties on abstract classes
> where its certain that the property always makes sense including it's
> access control?

This could be an argument for *NOT* allowing introspectiing of properties
against abstract parent classes. If you only ever allow introspecting against
leaf node non-abstract classes, then QEMU retains the freedom to move props
from a base class down to an leaf class without risk of breaking mgmt apps.

Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://entangle-photo.org       -o-    http://search.cpan.org/~danberr/ :|

  reply	other threads:[~2016-11-07 15:02 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-29  1:47 [Qemu-devel] [PATCH v4 0/8] qdev class properties + abstract class support on device-list-properties Eduardo Habkost
2016-10-29  1:48 ` [Qemu-devel] [PATCH v4 1/8] tests: check-qom-proplist: Remove duplicate "bv" property Eduardo Habkost
2016-11-04 11:22   ` Markus Armbruster
2016-11-04 15:10     ` Markus Armbruster
2016-11-04 15:56   ` Andreas Färber
2016-11-04 16:07     ` Eduardo Habkost
2016-11-04 16:11       ` Andreas Färber
2016-10-29  1:48 ` [Qemu-devel] [PATCH v4 2/8] tests: check-qom-proplist: Use &error_abort to catch errors Eduardo Habkost
2016-10-31 10:14   ` Igor Mammedov
2016-10-29  1:48 ` [Qemu-devel] [PATCH v4 3/8] qdev: device_class_set_props() function Eduardo Habkost
2016-11-01 15:02   ` Igor Mammedov
2016-10-29  1:48 ` [Qemu-devel] [PATCH v4 4/8] qdev: Extract property-default code to qdev_property_set_to_default() Eduardo Habkost
2016-10-29  1:48 ` [Qemu-devel] [PATCH v4 5/8] qdev: Register static properties as class properties Eduardo Habkost
2016-10-31 12:06   ` Igor Mammedov
2016-11-04 15:22   ` Markus Armbruster
2016-11-04 16:00     ` Eduardo Habkost
2016-10-29  1:48 ` [Qemu-devel] [PATCH v4 6/8] qom: object_class_property_iter_init() function Eduardo Habkost
2016-10-31 13:45   ` Igor Mammedov
2016-11-04 15:31   ` Markus Armbruster
2016-10-29  1:48 ` [Qemu-devel] [PATCH v4 7/8] qmp: Support abstract classes on device-list-properties Eduardo Habkost
2016-10-31 14:07   ` Igor Mammedov
2016-10-31 14:36     ` Eduardo Habkost
2016-11-04 15:45       ` Markus Armbruster
2016-11-04 16:04         ` Eduardo Habkost
2016-11-07  8:09           ` Markus Armbruster
2016-11-07 12:38             ` Eduardo Habkost
2016-11-07 14:40               ` Markus Armbruster
2016-11-07 17:11                 ` Eduardo Habkost
2016-11-08  7:29                   ` Markus Armbruster
2016-11-11 12:17                     ` Jiri Denemark
2016-11-11 12:34                       ` Eduardo Habkost
2016-11-11 14:29                       ` Markus Armbruster
2016-11-07 12:45   ` Halil Pasic
2016-11-07 13:05     ` Eduardo Habkost
2016-11-07 14:48       ` Halil Pasic
2016-11-07 15:01         ` Daniel P. Berrange [this message]
2016-11-07 15:51           ` Markus Armbruster
2016-11-07 17:27             ` Eduardo Habkost
2016-11-07 17:41               ` Daniel P. Berrange
2016-11-07 18:03                 ` Eduardo Habkost
2016-11-07 18:08                   ` Daniel P. Berrange
2016-11-07 18:28                     ` Eduardo Habkost
2016-11-08  7:37                       ` Markus Armbruster
2016-11-08 10:09                         ` Daniel P. Berrange
2016-11-08 14:35                           ` Markus Armbruster
2016-11-08 16:16                             ` Eduardo Habkost
2016-11-08 10:11                         ` Halil Pasic
2016-10-29  1:48 ` [Qemu-arm] [PATCH v4 8/8] qdev: Warning about using qdev_property_add_static() in new code Eduardo Habkost
2016-10-29  1:48   ` [Qemu-devel] " Eduardo Habkost
2016-10-31 14:05   ` [Qemu-arm] " Igor Mammedov
2016-10-31 14:05     ` [Qemu-devel] " Igor Mammedov
2016-11-04 15:52 ` [Qemu-devel] [PATCH v4 0/8] qdev class properties + abstract class support on device-list-properties 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=20161107150153.GB15102@redhat.com \
    --to=berrange@redhat.com \
    --cc=afaerber@suse.de \
    --cc=armbru@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=imammedo@redhat.com \
    --cc=pasic@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.