On Tue, 30 Sep 2014 14:10:26 +0800 <[email protected]> wrote: > From: Gonglei <[email protected]> > > virtio-$device-{pci, s390, ccw} all duplicate the > qdev properties of their virtio 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 > VirtIORNG child. This way no duplication is necessary.
VirtIO$devtype? > > For their child, object_initialize() leaves the object with a refcount of 1. > object_property_add_child() adds its own reference which is dropped > again when the property is deleted. > > The upshot of this is that we always have a refcount >= 1. Upon hot > unplug the virtio-$device child is not finalized! > > Drop our reference after the child property has been added to the > parent. > > Changs since v1: > - add the same handling for virtio-9p-pci device in PATCH 10 and PATCH 11. > - add a wrapper function for better code sharing > in PATCH 12 (Cornelia/Michael/Paolo) This patchset, applied on current master, survives some light testing for s390-virtio and virtio-ccw (booting Linux, device_add/device_del for the various device types).
