There's been one non-rfc patch and one or two rfc ones. This is v2 of the non-rfc one.
I think this version does what Kevin and Markus were asking: the event is emitted whenever the tray moves, be it the guest or HMP/QMP commands. In a previous email I said that I'd be reviving an old series that breaks the eject and change commands into multiple tray commands (tray-open/close, medium-insert/remove etc), but that's not so trivial anymore as the tray state moved to device models (still possible of course, but requires a bit more work). So I decided to do it the way patch 4/4 does it. QMP/qmp-events.txt | 17 ++++++++++ block.c | 84 +++++++++++++++++++++++++++++++++------------------ block.h | 8 ++-- block/raw-posix.c | 6 ++-- block/raw.c | 4 +- block_int.h | 2 +- hw/ide/atapi.c | 2 +- hw/ide/core.c | 8 ++-- hw/scsi-disk.c | 8 ++-- hw/virtio-blk.c | 6 ++-- monitor.c | 3 ++ monitor.h | 1 + 12 files changed, 97 insertions(+), 52 deletions(-)