Am 27.06.2014 09:16, schrieb Markus Armbruster:
> Paolo Bonzini <pbonz...@redhat.com> writes:
> 
>> When a device is unparented (i.e. made completely hidden from management)
>> we want to send a DEVICE_DELETED event only if the device actually was
>> realized.  This avoids raising DEVICE_DELETED events when device_add
>> fails.
>>
>> However, this does not work right for recursively-deleted
>> devices: the whole tree is _first_ unrealized, _then_ unparented.
>> Then device_unparent sees realized==false and fails to trigger
>> the event.  The solution is simply to move have_realized into
>> the DeviceState struct.  If device_add fails, we never set the
>> new field to true and DEVICE_DELETED is not sent.
>>
>> Fixes qemu-iotests testcase 067.
> 
> Suggest to add "Broken in commit 5942a19" here, to make it clear that
> it's a recent regression.

I vaguely recall that something like this was in Bandan's RFC (that I
assume the above commit forward-ported, the subject would be handy to
mention too), but once again without any explanation why, so I saw no
need to apply that during hardfreeze.

Andreas

>> Reported-by: Markus Armbruster <arm...@redhat.com>
>> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>
> Reviewed-by: Markus Armbruster <arm...@redhat.com>

-- 
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