Kevin found a bug in my recent "[PATCH 3+5/5] -drive/drive_add fixes". This is a rework of those two patches, plus the odd bonus fix found on the way.
Markus Armbruster (10): scsi hotplug: Set DriveInfo member bus correctly blockdev: New drive_get_next(), replacing qdev_init_bdrv() blockdev: Move BlockInterfaceType from qemu-common.h to blockdev.h blockdev: Put BlockInterfaceType names and max_devs in tables blockdev: Make drive_add() take explicit type, index parameters blockdev: Replace drive_add()'s fmt, ... by optstr parameter blockdev: Factor drive_index_to_{bus,unit}_id out of drive_init() blockdev: New drive_get_by_index() blockdev: Reject multiple definitions for the same drive blockdev: Fix drive_add for drives without media blockdev.c | 127 +++++++++++++++++++++++++++++--------------------- blockdev.h | 15 +++++- hw/device-hotplug.c | 5 +- hw/pci-hotplug.c | 1 + hw/pl181.c | 7 ++- hw/qdev.c | 14 ------ hw/qdev.h | 2 - hw/ssi-sd.c | 7 ++- hw/usb-msd.c | 3 +- qemu-common.h | 6 -- vl.c | 94 ++++++++++++++++++++++---------------- 11 files changed, 153 insertions(+), 128 deletions(-) -- 1.7.2.3