I'm working on cleanly separating block device host and guest parts. I'd like to route all this work through Kevin's block tree. This is still just preliminaries.
There will be at least one more round of cleanup & fixes before blockdev_add proper. I intend to start with a minimal QMP-only version, then add features. v3: cover close of snapshot device, not just delete clean up bdrv_snapshots() v2: plug leaks pointed out by Kevin Wolf fix qdev_prop_set_drive() to set the property only when attach succeeded (free_drive() will die without this) Markus Armbruster (13): scsi: scsi_bus_legacy_handle_cmdline() can fail, fix callers ide: Make it explicit that ide_create_drive() can't fail blockdev: Remove drive_get_serial() blockdev: New drive_get_by_blockdev() blockdev: Clean up automatic drive deletion qdev: Decouple qdev_prop_drive from DriveInfo blockdev: drive_get_by_id() is no longer used, remove block: Catch attempt to attach multiple devices to a blockdev savevm: Survive hot-unplug of snapshot device block: Clean up bdrv_snapshots() block: Fix virtual media change for if=none ide: Make PIIX and ISA IDE init functions return the qdev pc: Fix CMOS info for drives defined with -device block.c | 55 +++++++++++++++++++++++++++++ block.h | 5 +++ block_int.h | 8 ++-- blockdev.c | 45 +++++++++++++++--------- blockdev.h | 7 +++- hw/esp.c | 3 +- hw/fdc.c | 32 +++++++++------- hw/ide.h | 13 ++++--- hw/ide/core.c | 18 +++++---- hw/ide/internal.h | 2 +- hw/ide/isa.c | 8 ++-- hw/ide/piix.c | 6 ++- hw/ide/qdev.c | 22 ++++++++--- hw/lsi53c895a.c | 2 +- hw/pc.c | 94 +++++++++++++++++++++++++++++++------------------ hw/pc.h | 3 +- hw/pc_piix.c | 16 ++++++--- hw/pci-hotplug.c | 11 +++++- hw/qdev-properties.c | 47 +++++++++++++++++++++---- hw/qdev.h | 7 ++-- hw/s390-virtio.c | 2 +- hw/scsi-bus.c | 20 +++++++---- hw/scsi-disk.c | 21 ++++++----- hw/scsi-generic.c | 7 ++-- hw/scsi.h | 4 +- hw/usb-msd.c | 30 +++++++++++++--- hw/virtio-blk.c | 3 +- hw/virtio-pci.c | 4 +- savevm.c | 31 ++-------------- 29 files changed, 348 insertions(+), 178 deletions(-)