On 10 November 2015 at 14:09, Kevin Wolf <kw...@redhat.com> wrote: > From: Max Reitz <mre...@redhat.com> > > Implement 'change' on block devices by calling blockdev-open-tray, > blockdev-remove-medium, blockdev-insert-medium (a variation of that > which does not need a node-name) and blockdev-close-tray. > > Signed-off-by: Max Reitz <mre...@redhat.com> > Signed-off-by: Kevin Wolf <kw...@redhat.com>
I think this commit broke the monitor 'change' command for sd card devices. In 2.4, for a Zaurus ('spitz') machine: change sd0 /home/petmay01/test-images/RaspberryPi/pifi-4g.img causes the guest to print mmc0: new SDHC card at address 4567 mmcblk0: mmc0:4567 QEMU! 4.00 GiB mmcblk0: p1 p2 p3 p4 ie it detects we have just provided a new SD card. In 2.5 trying this gives an error in the monitor: Tray of device 'sd0' is not open This seems to be because with this commit we now try to do a qmp_blockdev_open_tray() on the device. This fails for SD cards (which don't have any kind of tray in real life), because we don't implement the is_tray_open hook and so get the default "tray always closed" behaviour. But in the old code you could perfectly well change the backing medium even on a device without a tray... Was this breakage intentional? thanks -- PMM