[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 4/7] virtio-blk: use aliases instead of duplicat
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-devel] [PATCH 4/7] virtio-blk: use aliases instead of duplicate qdev properties |
Date: |
Thu, 22 May 2014 12:24:20 +0200 |
On Thu, May 22, 2014 at 12:18 PM, Andreas Färber <address@hidden> wrote:
> Am 22.05.2014 00:04, schrieb Paolo Bonzini:
>> Il 21/05/2014 22:22, Stefan Hajnoczi ha scritto:
>>> virtio-blk-pci, virtio-blk-s390, and virtio-blk-ccw all duplicate the
>>> qdev properties of their VirtIOBlock child. This approach does not work
>>> well with string or pointer properties since we must be careful about
>>> leaking or double-freeing them.
>>>
>>> Use the QOM alias property to forward property accesses to the
>>> VirtIOBlock child. This way no duplication is necessary.
>>>
>>> Remember to stop calling virtio_blk_set_conf() so that we don't clobber
>>> the values already set on the VirtIOBlock instance.
>>
>> Which properties are _not_ being added? This is probably needed for all
>> other virtio devices so a generic solution would be nice.
>
> "type", "realized" and the child<> property for VirtIODevice come to
> mind, possibly one or two more.
>
> If we follow a generic scheme, we could add an .instance_post_init hook
> for VirtIOPCIProxy iterating over all properties and blacklisting some.
I think the trick is to alias all the qdev properties, not the QOM
ones. That way we get all the explicitly declared properties and none
of the implicit ones.
Stefan
- Re: [Qemu-devel] [PATCH 1/7] qom: add object_property_add_alias(), (continued)
Re: [Qemu-devel] [PATCH 1/7] qom: add object_property_add_alias(), Igor Mammedov, 2014/05/22
[Qemu-devel] [PATCH 3/7] virtio-blk: move x-data-plane qdev property to virtio-blk.h, Stefan Hajnoczi, 2014/05/21
[Qemu-devel] [PATCH 4/7] virtio-blk: use aliases instead of duplicate qdev properties, Stefan Hajnoczi, 2014/05/21
[Qemu-devel] [PATCH 6/7] virtio: fix virtio-blk child refcount in transports, Stefan Hajnoczi, 2014/05/21
[Qemu-devel] [PATCH 5/7] virtio-blk: drop virtio_blk_set_conf(), Stefan Hajnoczi, 2014/05/21
[Qemu-devel] [PATCH 7/7] virtio-blk: move qdev properties into virtio-blk.c, Stefan Hajnoczi, 2014/05/21