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

Thanks,
Andreas

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg

Reply via email to