block: Inquire tray state before tray-moved events
commitf1f57066573e832438cd87600310589fa9cee202
authorMax Reitz <mreitz@redhat.com>
Mon, 26 Oct 2015 20:39:14 +0000 (26 21:39 +0100)
committerKevin Wolf <kwolf@redhat.com>
Wed, 11 Nov 2015 15:22:47 +0000 (11 16:22 +0100)
tree92da804455cd80fde600ce3b319315dcb8203cb6
parentde2c6c0536c5c5ebb6e0ce7dcfd8fa9476edab52
block: Inquire tray state before tray-moved events

blk_dev_change_media_cb() is called for all potential tray movements;
however, it is possible to request closing the tray but nothing actually
happening (on a floppy disk drive without a medium).

Thus, the actual tray status should be inquired before sending a
tray-moved event (and an event should be sent whenever the status
changed).

Checking @load is now superfluous; it was necessary because it was
possible to change a medium without having explicitly opened the tray
and closed it again (or it might have been possible, at least). This is
no longer possible, though.

Signed-off-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
block/block-backend.c