Il 04/03/2014 22:45, Stefan Hajnoczi ha scritto:
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.
Thanks for looking into this! Just two (mostly) cosmetic comments:
1) in patch 2 we could use a flags argument instead of a "bool". This
is more easily extensible and self-documenting.
2) in patch 3 what you're adding is not exactly a setter; it is more
like a check. I think we should either switch to a get/set model (more
consistent with other properties, but more boilerplate too), or rename
it to something else than "check".
Paolo
Stefan Hajnoczi (4):
qom: split object_property_set_link()
qom: make QOM link property unref optional
qom: add set() argument to object_property_add_link()
virtio-rng: avoid default_backend refcount leak
hw/core/qdev-properties.c | 12 ++++
hw/core/qdev.c | 9 ++-
hw/dma/xilinx_axidma.c | 16 ++++--
hw/net/xilinx_axienet.c | 16 ++++--
hw/pcmcia/pxa2xx.c | 5 +-
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 | 19 ++++++-
qom/object.c | 128 ++++++++++++++++++++++++++++++++-----------
ui/console.c | 4 +-
13 files changed, 190 insertions(+), 49 deletions(-)