The aio_disable_external() API is a solution for stopping I/O during critical sections. The newer BlockDevOps->drained_begin/end/poll() callbacks offer a cleaner solution that supports the upcoming multi-queue block layer. This series removes aio_disable_external() from the virtio-scsi emulation code.
Patch 1 is a fix for something I noticed when reading the code. Patch 2 replaces aio_disable_external() with functionality for safe hot unplug that's mostly already present in the SCSI emulation code. Stefan Hajnoczi (2): virtio-scsi: avoid race between unplug and transport event virtio-scsi: stop using aio_disable_external() during unplug hw/scsi/scsi-bus.c | 3 ++- hw/scsi/scsi-disk.c | 1 + hw/scsi/virtio-scsi.c | 21 +++++++++------------ 3 files changed, 12 insertions(+), 13 deletions(-) -- 2.39.2