The virtio-scsi command virtqueues run during hotplug. This creates the possibility of race conditions since the guest can submit commands while the monitor is performing hotplug.
See Patch 2 for a fix for the ->reset() vs event race condition that Zhengui Li encountered. Zhengui Li: Sorry it took me so long to look into this. Please let me know if this fixes the issue you are seeing. Thanks! Stefan Hajnoczi (2): qdev: add HotplugHandler->post_plug() callback virtio-scsi: fix hotplug ->reset() vs event race include/hw/hotplug.h | 12 ++++++++++++ hw/core/hotplug.c | 11 +++++++++++ hw/core/qdev.c | 7 +++++++ hw/scsi/virtio-scsi.c | 11 ++++++++++- 4 files changed, 40 insertions(+), 1 deletion(-) -- 2.17.1