On 11/07/2016 03:13 PM, John Snow wrote:
> blk_eject is only used by scsi-disk and atapi, and in both cases we
> only attempt to invoke blk_eject if we have a bona-fide change in
> tray state.
> 
> The "issue" here is that the tray state does not generate a QMP event
> unless there is a medium/BDS attached to the device, so if libvirt et al
> are waiting for a tray event to occur from an empty-but-closed drive,
> software opening that drive will not emit an event and libvirt will
> wait forever.
> 
> Change this by modifying blk_eject to always emit an event, instead of
> conditionally on a "real" backend eject.
> 
> Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1373264
> 
> Reported-by: Peter Krempa <pkre...@redhat.com>
> Signed-off-by: John Snow <js...@redhat.com>
> ---
>  block/block-backend.c | 13 +++++++------
>  1 file changed, 7 insertions(+), 6 deletions(-)

Reviewed-by: Eric Blake <ebl...@redhat.com>

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to