[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: |
Andreas Färber |
Subject: |
Re: [Qemu-devel] [PATCH for 2.1] qdev: correctly send DEVICE_DELETED for recursively-deleted devices |
Date: |
Fri, 27 Jun 2014 10:35:51 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 |
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.
Andreas
>> Reported-by: Markus Armbruster <address@hidden>
>> Signed-off-by: Paolo Bonzini <address@hidden>
> Reviewed-by: Markus Armbruster <address@hidden>
--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg