Il 19/03/2014 08:58, Stefan Hajnoczi ha scritto:
[Due to a horrible accident, the subject line was chopped off while sending
this series. This is a resend, I have glued the subject line back on so patch
management tools can make sense of the series.]
v4:
* Rebase to resolve merge conflicts
v3:
* Split first commit for easier reviewing [afaerber]
* Turn bool argument into flags bitmask [pbonzini]
* Rename set() callback to check() [pbonzini]
* Rename object_property_default_set_link() to
object_property_allow_set_link()
* Rename qdev_prop_default_set_link() to
qdev_prop_allow_set_link_before_realize()
v2:
* A NULL set() callback should make the property read-only
There are two problems with QOM link properties:
1. There are refcount leaks in many object_property_add_link() callers.
2. There is no way to prevent link properties from being set after a device is
realized.
This patch series fixes these issues by extending the
object_property_add_link() function.
Stefan Hajnoczi (5):
qom: split object_property_set_link()
qom: don't make link NULL on object_property_set_link() failure
qom: make QOM link property unref optional
qom: add check() argument to object_property_add_link()
virtio-rng: avoid default_backend refcount leak
hw/core/qdev-properties.c | 12 ++++
hw/core/qdev.c | 10 +++-
hw/dma/xilinx_axidma.c | 20 +++++--
hw/net/xilinx_axienet.c | 20 +++++--
hw/pcmcia/pxa2xx.c | 4 +-
hw/s390x/s390-virtio-bus.c | 4 +-
hw/s390x/virtio-ccw.c | 4 +-
hw/virtio/virtio-pci.c | 4 +-
hw/virtio/virtio-rng.c | 7 ++-
include/hw/qdev-properties.h | 11 ++++
include/qom/object.h | 29 +++++++++-
qom/object.c | 130 ++++++++++++++++++++++++++++++++-----------
ui/console.c | 5 +-
13 files changed, 211 insertions(+), 49 deletions(-)
Reviewed-by: Paolo Bonzini <pbonz...@redhat.com>