[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH for 2.1] qdev: correctly send DEVICE_DELETED for
From: |
Bandan Das |
Subject: |
Re: [Qemu-devel] [PATCH for 2.1] qdev: correctly send DEVICE_DELETED for recursively-deleted devices |
Date: |
Sat, 28 Jun 2014 16:22:19 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) |
Andreas Färber <address@hidden> writes:
> Am 27.06.2014 09:16, schrieb Markus Armbruster:
>> Paolo Bonzini <address@hidden> 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 <address@hidden>
>>> Signed-off-by: Paolo Bonzini <address@hidden>
>> Reviewed-by: Markus Armbruster <address@hidden>