This series adds a blockdev-add QMP command and a row of cleanup patches to separate legacy -drive/drive_add behaviour from blockdev_init() to the wrapper function drive_init().
Kevin Wolf (17): qapi-types/visit.py: Pass whole expr dict for structs qapi-types/visit.py: Inheritance for structs blockdev: Introduce DriveInfo.enable_auto_del blockdev: 'blockdev-add' QMP command blockdev: Separate ID generation from DriveInfo creation blockdev: Pass QDict to blockdev_init() blockdev: Move parsing of 'media' option to drive_init blockdev: Move parsing of 'if' option to drive_init blockdev: Moving parsing of geometry options to drive_init blockdev: Move parsing of 'boot' option to drive_init blockdev: Move bus/unit/index processing to drive_init blockdev: Move virtio-blk device creation to drive_init blockdev: Remove IF_* check for read-only blockdev_init qemu-iotests: Check autodel behaviour for device_del blockdev: Remove 'media' parameter from blockdev_init() blockdev: Don't disable COR automatically with blockdev-add blockdev: blockdev_init() error conversion block.c | 9 +- blockdev.c | 664 +++++++++++++++++++++++---------------- docs/qapi-code-gen.txt | 17 + hw/block/m25p80.c | 5 + hw/block/xen_disk.c | 6 + hw/sd/milkymist-memcard.c | 4 + hw/sd/omap_mmc.c | 8 + hw/sd/pl181.c | 4 + hw/sd/pxa2xx_mmci.c | 4 + hw/sd/sd.c | 5 + hw/sd/sdhci.c | 4 + hw/sd/ssi-sd.c | 3 + include/qemu/option.h | 1 + include/sysemu/blockdev.h | 1 + qapi-schema.json | 270 ++++++++++++++++ qmp-commands.hx | 59 ++++ scripts/qapi-types.py | 15 +- scripts/qapi-visit.py | 26 +- tests/qemu-iotests/051.out | 5 +- tests/qemu-iotests/064 | 133 ++++++++ tests/qemu-iotests/064.out | 80 +++++ tests/qemu-iotests/common.filter | 8 + tests/qemu-iotests/group | 1 + util/qemu-option.c | 6 + 24 files changed, 1050 insertions(+), 288 deletions(-) create mode 100755 tests/qemu-iotests/064 create mode 100644 tests/qemu-iotests/064.out -- 1.8.1.4