Changing CD ROM medium sometimes fails with 'Tray of device is not open' Description of problem: QEMU reports that a CD ROM tray is not open when exchanging media: `unable to execute QEMU command 'blockdev-remove-medium': Tray of device 'ide0-1-0' is not open` We see the issue in upstream libvirt integration tests. However, this issue is a race and the reproducibility rate is <15%. Steps to reproduce: On the high level this is what we do: 1. eject medium that the machine was started with 2. insert a different medium into the CD ROM Translating the above to QEMU QMP commands this is what the test exercises: 1. blockdev-open-tray 2. blockdev-remove-medium 3. blockdev-del 4. blockdev-close-tray 5. blockdev-open-tray 6. blockdev-remove-medium 7. blockdev-add 8. blockdev-insert-medium <<< This is where the test fails 9. blockdev-close-tray Additional information: I bisected the code (3 times just to be sure since it's a race) and the following commit fell out of it: 55adb3c45620c31f29978f209e2a44a08d34e2da I'm attaching QEMU trace events and a bunch of libvirt test logs (good and bad for comparison). If you think of anything else I should provide in order to help with the issue analysis, please let me know what other option should be turned on.[qemu_traces.tar.gz](/uploads/32e48c92efce3484e552df063795af4d/qemu_traces.tar.gz)