Andreas Färber <afaer...@suse.de> writes:

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

Thanks for pointing it out, yes, I believe that my RFC had this case
covered. (For historical accuracy) Can we please include a link to the
RFC in the commit message ?

Thanks,
Bandan

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

Reply via email to