On Mon, 03 Mar 2014 16:56:19 +0100 Andreas Färber <afaer...@suse.de> wrote:
> Am 03.03.2014 14:34, schrieb Igor Mammedov: > > On Mon, 3 Mar 2014 15:57:55 +0800 > > Amos Kong <ak...@redhat.com> wrote: > > > > s/subj/qdev: set properties after device's parent is assigned/ > > > >> Test steps: > >> (qemu) device_add e1000,addr=adsf > >> Property 'e1000.addr' doesn't take value 'adsf' > >> (qemu) info qtree > >> Then qemu crashed. > >> > >> Currently we set a link to the new device for qdev parent bus, but the > >> device hasn't been added to QOM tree. When it fails to set properties, > >> object_unparent() can't cleanup the device. > >> > >> This patch moves the code adding the device output realize, when it fails > >> to set properties, the device can be cleaned successfully. > > Suggest rephrase as: > > Delay device property setting until device's parent is assigned. This way > > when property setting fails, object_unparent() can cleanup failed device > > properly. > > > > with above correction: > > Reviewed-By: Igor Mammedov <imamm...@redhat.com> > > > >> > >> Signed-off-by: Amos Kong <ak...@redhat.com> > >> --- > >> V2: fix bz by adjust the initialization order (Paolo) > >> V3: fix bug without making it differs with legacy devices > >> creation (Andreas) > > Perfect, I've tweaked the commit message along the lines of Igor's > suggestion - please take a look if you want it changed differently: > https://github.com/afaerber/qemu-cpu/commits/qom-next I'm ok with it. Thanks! > > Thanks, > Andreas >