* Re: [Qemu-devel] [PATCH qom v1 1/1] qom: object: remove parent pointer when unparenting [not found] <97a5753d0e2e5d8ce43730fb0d8595ceb69261a9.1401151094.git.peter.crosthwaite@xilinx.com> @ 2014-06-02 0:35 ` Peter Crosthwaite 2014-06-04 8:21 ` Stefan Hajnoczi 2014-06-11 8:13 ` Andreas Färber 1 sibling, 1 reply; 7+ messages in thread From: Peter Crosthwaite @ 2014-06-02 0:35 UTC (permalink / raw) To: qemu-devel@nongnu.org Developers; +Cc: Andreas Färber Ping! On Tue, May 27, 2014 at 10:39 AM, Peter Crosthwaite <peter.crosthwaite@xilinx.com> wrote: > Certain parts of the QOM framework test this pointer to determine if > an object is parented. Nuke it when the object is unparented to allow > for reuse of an object after unparenting. > > Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> > --- > > qom/object.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/qom/object.c b/qom/object.c > index e42b254..8319e89 100644 > --- a/qom/object.c > +++ b/qom/object.c > @@ -402,6 +402,7 @@ void object_unparent(Object *obj) > if (obj->parent) { > object_property_del_child(obj->parent, obj, NULL); > } > + obj->parent = NULL; > object_unref(obj); > } > > -- > 1.9.3.1.ga73a6ad > ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH qom v1 1/1] qom: object: remove parent pointer when unparenting 2014-06-02 0:35 ` [Qemu-devel] [PATCH qom v1 1/1] qom: object: remove parent pointer when unparenting Peter Crosthwaite @ 2014-06-04 8:21 ` Stefan Hajnoczi 0 siblings, 0 replies; 7+ messages in thread From: Stefan Hajnoczi @ 2014-06-04 8:21 UTC (permalink / raw) To: Peter Crosthwaite; +Cc: qemu-devel@nongnu.org Developers, Andreas Färber On Mon, Jun 02, 2014 at 10:35:30AM +1000, Peter Crosthwaite wrote: > Ping! Andreas seems to be offline (vacation?). I'm sure he'll see this when he gets back. Stefan ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH qom v1 1/1] qom: object: remove parent pointer when unparenting [not found] <97a5753d0e2e5d8ce43730fb0d8595ceb69261a9.1401151094.git.peter.crosthwaite@xilinx.com> 2014-06-02 0:35 ` [Qemu-devel] [PATCH qom v1 1/1] qom: object: remove parent pointer when unparenting Peter Crosthwaite @ 2014-06-11 8:13 ` Andreas Färber 2014-06-11 10:19 ` Peter Crosthwaite 1 sibling, 1 reply; 7+ messages in thread From: Andreas Färber @ 2014-06-11 8:13 UTC (permalink / raw) To: Peter Crosthwaite, qemu-devel; +Cc: Kevin Wolf, Stefan Hajnoczi Am 27.05.2014 02:39, schrieb Peter Crosthwaite: > Certain parts of the QOM framework test this pointer to determine if > an object is parented. Nuke it when the object is unparented to allow > for reuse of an object after unparenting. > > Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> > --- > > qom/object.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/qom/object.c b/qom/object.c > index e42b254..8319e89 100644 > --- a/qom/object.c > +++ b/qom/object.c > @@ -402,6 +402,7 @@ void object_unparent(Object *obj) > if (obj->parent) { > object_property_del_child(obj->parent, obj, NULL); > } > + obj->parent = NULL; > object_unref(obj); > } > This looks okay to me, and it might also help the segfault on hot-unplug Stefan and Kevin reported before I went on travels. Any objection to moving this one line up into the if? Regards, Andreas -- SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH qom v1 1/1] qom: object: remove parent pointer when unparenting 2014-06-11 8:13 ` Andreas Färber @ 2014-06-11 10:19 ` Peter Crosthwaite 2014-06-11 11:28 ` Andreas Färber 0 siblings, 1 reply; 7+ messages in thread From: Peter Crosthwaite @ 2014-06-11 10:19 UTC (permalink / raw) To: Andreas Färber Cc: Kevin Wolf, qemu-devel@nongnu.org Developers, Stefan Hajnoczi On Wed, Jun 11, 2014 at 6:13 PM, Andreas Färber <afaerber@suse.de> wrote: > Am 27.05.2014 02:39, schrieb Peter Crosthwaite: >> Certain parts of the QOM framework test this pointer to determine if >> an object is parented. Nuke it when the object is unparented to allow >> for reuse of an object after unparenting. >> >> Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> >> --- >> >> qom/object.c | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/qom/object.c b/qom/object.c >> index e42b254..8319e89 100644 >> --- a/qom/object.c >> +++ b/qom/object.c >> @@ -402,6 +402,7 @@ void object_unparent(Object *obj) >> if (obj->parent) { >> object_property_del_child(obj->parent, obj, NULL); >> } >> + obj->parent = NULL; >> object_unref(obj); >> } >> > > This looks okay to me, and it might also help the segfault on hot-unplug > Stefan and Kevin reported before I went on travels. > Welcome back. > Any objection to moving this one line up into the if? > No problem. Will respin. Regards, Peter > Regards, > Andreas > > -- > SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany > GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg > ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH qom v1 1/1] qom: object: remove parent pointer when unparenting 2014-06-11 10:19 ` Peter Crosthwaite @ 2014-06-11 11:28 ` Andreas Färber 2014-06-11 11:33 ` Paolo Bonzini 2014-06-11 11:52 ` Peter Crosthwaite 0 siblings, 2 replies; 7+ messages in thread From: Andreas Färber @ 2014-06-11 11:28 UTC (permalink / raw) To: Peter Crosthwaite Cc: Kevin Wolf, Paolo Bonzini, qemu-devel@nongnu.org Developers, Stefan Hajnoczi Am 11.06.2014 12:19, schrieb Peter Crosthwaite: > On Wed, Jun 11, 2014 at 6:13 PM, Andreas Färber <afaerber@suse.de> wrote: >> Am 27.05.2014 02:39, schrieb Peter Crosthwaite: >>> Certain parts of the QOM framework test this pointer to determine if >>> an object is parented. Nuke it when the object is unparented to allow >>> for reuse of an object after unparenting. >>> >>> Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> >>> --- >>> >>> qom/object.c | 1 + >>> 1 file changed, 1 insertion(+) >>> >>> diff --git a/qom/object.c b/qom/object.c >>> index e42b254..8319e89 100644 >>> --- a/qom/object.c >>> +++ b/qom/object.c >>> @@ -402,6 +402,7 @@ void object_unparent(Object *obj) >>> if (obj->parent) { >>> object_property_del_child(obj->parent, obj, NULL); >>> } >>> + obj->parent = NULL; >>> object_unref(obj); >>> } >>> >> >> This looks okay to me, and it might also help the segfault on hot-unplug >> Stefan and Kevin reported before I went on travels. >> > > Welcome back. > >> Any objection to moving this one line up into the if? >> > > No problem. Will respin. I've done so myself, but now I wonder why we are checking obj->parent at all there after we already return if !obj->parent? Is this to guard against ObjectClass::unparent() changing Object::parent? Either way, the two variants you posted and I suggested should be fine. Regards, Andreas -- SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH qom v1 1/1] qom: object: remove parent pointer when unparenting 2014-06-11 11:28 ` Andreas Färber @ 2014-06-11 11:33 ` Paolo Bonzini 2014-06-11 11:52 ` Peter Crosthwaite 1 sibling, 0 replies; 7+ messages in thread From: Paolo Bonzini @ 2014-06-11 11:33 UTC (permalink / raw) To: Andreas Färber, Peter Crosthwaite Cc: Kevin Wolf, qemu-devel@nongnu.org Developers, Stefan Hajnoczi Il 11/06/2014 13:28, Andreas Färber ha scritto: > Am 11.06.2014 12:19, schrieb Peter Crosthwaite: >> On Wed, Jun 11, 2014 at 6:13 PM, Andreas Färber <afaerber@suse.de> wrote: >>> Am 27.05.2014 02:39, schrieb Peter Crosthwaite: >>>> Certain parts of the QOM framework test this pointer to determine if >>>> an object is parented. Nuke it when the object is unparented to allow >>>> for reuse of an object after unparenting. >>>> >>>> Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> >>>> --- >>>> >>>> qom/object.c | 1 + >>>> 1 file changed, 1 insertion(+) >>>> >>>> diff --git a/qom/object.c b/qom/object.c >>>> index e42b254..8319e89 100644 >>>> --- a/qom/object.c >>>> +++ b/qom/object.c >>>> @@ -402,6 +402,7 @@ void object_unparent(Object *obj) >>>> if (obj->parent) { >>>> object_property_del_child(obj->parent, obj, NULL); >>>> } >>>> + obj->parent = NULL; >>>> object_unref(obj); >>>> } >>>> >>> >>> This looks okay to me, and it might also help the segfault on hot-unplug >>> Stefan and Kevin reported before I went on travels. >>> >> >> Welcome back. >> >>> Any objection to moving this one line up into the if? >>> >> >> No problem. Will respin. > > I've done so myself, but now I wonder why we are checking obj->parent at > all there after we already return if !obj->parent? Is this to guard > against ObjectClass::unparent() changing Object::parent? Either way, the > two variants you posted and I suggested should be fine. Yes, in case unparent might already end up removing the property. I have a patch that moves the unparent call to object_finalize_child_property and only removes the property here. The patch would apply anyway, so I'm okay with it. Paolo ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH qom v1 1/1] qom: object: remove parent pointer when unparenting 2014-06-11 11:28 ` Andreas Färber 2014-06-11 11:33 ` Paolo Bonzini @ 2014-06-11 11:52 ` Peter Crosthwaite 1 sibling, 0 replies; 7+ messages in thread From: Peter Crosthwaite @ 2014-06-11 11:52 UTC (permalink / raw) To: Andreas Färber Cc: Kevin Wolf, Paolo Bonzini, qemu-devel@nongnu.org Developers, Stefan Hajnoczi On Wed, Jun 11, 2014 at 9:28 PM, Andreas Färber <afaerber@suse.de> wrote: > Am 11.06.2014 12:19, schrieb Peter Crosthwaite: >> On Wed, Jun 11, 2014 at 6:13 PM, Andreas Färber <afaerber@suse.de> wrote: >>> Am 27.05.2014 02:39, schrieb Peter Crosthwaite: >>>> Certain parts of the QOM framework test this pointer to determine if >>>> an object is parented. Nuke it when the object is unparented to allow >>>> for reuse of an object after unparenting. >>>> >>>> Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> >>>> --- >>>> >>>> qom/object.c | 1 + >>>> 1 file changed, 1 insertion(+) >>>> >>>> diff --git a/qom/object.c b/qom/object.c >>>> index e42b254..8319e89 100644 >>>> --- a/qom/object.c >>>> +++ b/qom/object.c >>>> @@ -402,6 +402,7 @@ void object_unparent(Object *obj) >>>> if (obj->parent) { >>>> object_property_del_child(obj->parent, obj, NULL); >>>> } >>>> + obj->parent = NULL; >>>> object_unref(obj); >>>> } >>>> >>> >>> This looks okay to me, and it might also help the segfault on hot-unplug >>> Stefan and Kevin reported before I went on travels. >>> >> >> Welcome back. >> >>> Any objection to moving this one line up into the if? >>> >> >> No problem. Will respin. > > I've done so myself, but now I wonder why we are checking obj->parent at > all there after we already return if !obj->parent? Is this to guard > against ObjectClass::unparent() changing Object::parent? Either way, the > two variants you posted and I suggested should be fine. > Ok will leave it with you. Thanks. Regards, Peter > Regards, > Andreas > > -- > SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany > GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg > ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2014-06-11 11:52 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <97a5753d0e2e5d8ce43730fb0d8595ceb69261a9.1401151094.git.peter.crosthwaite@xilinx.com> 2014-06-02 0:35 ` [Qemu-devel] [PATCH qom v1 1/1] qom: object: remove parent pointer when unparenting Peter Crosthwaite 2014-06-04 8:21 ` Stefan Hajnoczi 2014-06-11 8:13 ` Andreas Färber 2014-06-11 10:19 ` Peter Crosthwaite 2014-06-11 11:28 ` Andreas Färber 2014-06-11 11:33 ` Paolo Bonzini 2014-06-11 11:52 ` Peter Crosthwaite
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).