block: Invoke change media CB before NULLing drv
commitb4d02820d95e025e57d82144f7b2ccd677ac2418
authorMax Reitz <mreitz@redhat.com>
Mon, 19 Oct 2015 15:53:15 +0000 (19 17:53 +0200)
committerKevin Wolf <kwolf@redhat.com>
Fri, 23 Oct 2015 16:18:23 +0000 (23 18:18 +0200)
treef3fdbd48d3333518264c8eca44663842a304f3f5
parent1354c473789a91ba603d40bdf2521e3221c0a69f
block: Invoke change media CB before NULLing drv

In order to handle host device passthrough, some guest device models
may call blk_is_inserted() to check whether the medium is inserted on
the host, when checking the guest tray status.

This tray status is inquired by blk_dev_change_media_cb(); because
bdrv_is_inserted() (invoked by blk_is_inserted()) always returns false
for BDS with drv set to NULL, blk_dev_change_media_cb() should therefore
be called before drv is set to NULL.

Signed-off-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Alberto Garcia <berto@igalia.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
block.c