All of lore.kernel.org
 help / color / mirror / Atom feed
From: Anthony Liguori <aliguori@us.ibm.com>
To: Paolo Bonzini <pbonzini@redhat.com>, qemu-devel@nongnu.org
Cc: afaerber@suse.de
Subject: Re: [Qemu-devel] [PATCH 07/11] qdev: add reference for the bus while it is referred to by the DeviceState
Date: Mon, 07 Jan 2013 14:29:18 -0600	[thread overview]
Message-ID: <87ehhwg2jk.fsf@codemonkey.ws> (raw)
In-Reply-To: <1354740282-20679-8-git-send-email-pbonzini@redhat.com>

Paolo Bonzini <pbonzini@redhat.com> writes:

> Now that the unparent callbacks are complete, we can correctly account
> more missing references.
>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>  hw/qdev.c | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/hw/qdev.c b/hw/qdev.c
> index d7f1545..62b6c14 100644
> --- a/hw/qdev.c
> +++ b/hw/qdev.c
> @@ -101,6 +101,7 @@ static void bus_add_child(BusState *bus, DeviceState *child)
>  void qdev_set_parent_bus(DeviceState *dev, BusState *bus)
>  {
>      dev->parent_bus = bus;
> +    object_ref(OBJECT(bus));
>      bus_add_child(bus, dev);

If we make parent_bus a link property, we'll get the reference counting
for free.

Regards,

Anthony Liguori

>  }
>  
> @@ -734,6 +735,8 @@ static void qdev_remove_from_bus(Object *obj)
>      }
>      if (dev->parent_bus) {
>          bus_remove_child(dev->parent_bus, dev);
> +        object_unref(OBJECT(dev->parent_bus));
> +        dev->parent_bus = NULL;
>      }
>  }
>  
> -- 
> 1.8.0.1

  reply	other threads:[~2013-01-07 20:40 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-12-05 20:44 [Qemu-devel] [PATCH 00/11] qdev: correct reference counting Paolo Bonzini
2012-12-05 20:44 ` [Qemu-devel] [PATCH 01/11] qdev: export and use qbus_init Paolo Bonzini
2012-12-18 21:18   ` Andreas Färber
2012-12-05 20:44 ` [Qemu-devel] [PATCH 02/11] qdev: use object_new, not g_malloc to create buses Paolo Bonzini
2012-12-05 20:44 ` [Qemu-devel] [PATCH 03/11] qom: preserve object while unparenting it Paolo Bonzini
2012-12-18 20:43   ` Andreas Färber
2012-12-05 20:44 ` [Qemu-devel] [PATCH 04/11] qdev: add reference count to a device for the BusChild Paolo Bonzini
2013-01-07 20:26   ` Anthony Liguori
2013-01-09 13:23     ` Paolo Bonzini
2012-12-05 20:44 ` [Qemu-devel] [PATCH 05/11] qdev: move deletion of children from finalize to unparent Paolo Bonzini
2012-12-05 20:44 ` [Qemu-devel] [PATCH 06/11] qdev: move unrealization of devices " Paolo Bonzini
2012-12-05 20:44 ` [Qemu-devel] [PATCH 07/11] qdev: add reference for the bus while it is referred to by the DeviceState Paolo Bonzini
2013-01-07 20:29   ` Anthony Liguori [this message]
2013-01-09 13:25     ` Paolo Bonzini
2012-12-05 20:44 ` [Qemu-devel] [PATCH 08/11] qdev: inline object_delete into qbus_free/qdev_free Paolo Bonzini
2012-12-05 20:44 ` [Qemu-devel] [PATCH 09/11] qdev: drop extra references at creation time Paolo Bonzini
2012-12-05 20:44 ` [Qemu-devel] [PATCH 10/11] cpu: do not use object_delete Paolo Bonzini
2012-12-18 21:07   ` Andreas Färber
2012-12-18 21:19     ` Paolo Bonzini
2012-12-05 20:44 ` [Qemu-devel] [PATCH 11/11] qom: remove object_delete Paolo Bonzini
2012-12-17 13:07 ` [Qemu-devel] [PATCH 00/11] qdev: correct reference counting Paolo Bonzini
2013-01-07 20:31 ` Anthony Liguori

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=87ehhwg2jk.fsf@codemonkey.ws \
    --to=aliguori@us.ibm.com \
    --cc=afaerber@suse.de \
    --cc=pbonzini@redhat.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.