[PATCH 14/80] tests: Force QEMU_CAPS_BLOCKDEV(_HOSTDEV_SCSI) in fake caps tests

Peter Krempa pkrempa at redhat.com
Tue Jul 26 14:36:52 UTC 2022


Until we finish removing the capabilities we need to force them in the
tests so that it's obvious that the code changes have no impact.

Signed-off-by: Peter Krempa <pkrempa at redhat.com>
---
 .../aarch64-aavmf-virtio-mmio.args            |   5 +-
 .../aarch64-cpu-passthrough.args              |   5 +-
 .../aarch64-kvm-32-on-64.args                 |   5 +-
 .../aarch64-virt-2.6-virtio-pci-default.args  |   5 +-
 .../qemuxml2argvdata/aarch64-virt-virtio.args |   5 +-
 .../aarch64-virtio-pci-default.args           |   5 +-
 .../aarch64-virtio-pci-manual-addresses.args  |   5 +-
 .../arm-vexpressa9-virtio.args                |   5 +-
 tests/qemuxml2argvdata/arm-virt-virtio.args   |   5 +-
 tests/qemuxml2argvdata/audio-default-sdl.args |   5 +-
 .../qemuxml2argvdata/audio-default-spice.args |   5 +-
 tests/qemuxml2argvdata/audio-default-vnc.args |   5 +-
 tests/qemuxml2argvdata/autoindex.args         |   5 +-
 .../qemuxml2argvdata/balloon-device-auto.args |   5 +-
 .../balloon-device-deflate-off.args           |   5 +-
 .../balloon-device-deflate.args               |   5 +-
 .../balloon-device-period.args                |   5 +-
 tests/qemuxml2argvdata/balloon-device.args    |   5 +-
 tests/qemuxml2argvdata/blkiotune-device.args  |   5 +-
 tests/qemuxml2argvdata/blkiotune.args         |   5 +-
 tests/qemuxml2argvdata/boot-cdrom.args        |   5 +-
 tests/qemuxml2argvdata/boot-complex.args      |  35 +-
 tests/qemuxml2argvdata/boot-floppy-q35.args   |   6 +-
 tests/qemuxml2argvdata/boot-floppy.args       |  10 +-
 .../boot-menu-disable-drive.args              |   5 +-
 tests/qemuxml2argvdata/boot-menu-disable.args |   5 +-
 .../boot-menu-enable-with-timeout.args        |   5 +-
 tests/qemuxml2argvdata/boot-menu-enable.args  |   5 +-
 tests/qemuxml2argvdata/boot-multi.args        |   5 +-
 tests/qemuxml2argvdata/boot-network.args      |   5 +-
 tests/qemuxml2argvdata/boot-order.args        |  20 +-
 tests/qemuxml2argvdata/channel-guestfwd.args  |   5 +-
 tests/qemuxml2argvdata/channel-spicevmc.args  |   5 +-
 .../qemuxml2argvdata/channel-virtio-auto.args |   5 +-
 .../channel-virtio-autoadd.args               |   5 +-
 .../channel-virtio-autoassign.args            |   5 +-
 .../channel-virtio-default.args               |   5 +-
 .../channel-virtio-state.args                 |   5 +-
 .../qemuxml2argvdata/channel-virtio-unix.args |   5 +-
 tests/qemuxml2argvdata/channel-virtio.args    |   5 +-
 tests/qemuxml2argvdata/clock-catchup.args     |   5 +-
 tests/qemuxml2argvdata/clock-france.args      |   5 +-
 tests/qemuxml2argvdata/clock-hpet-off.args    |   5 +-
 .../clock-localtime-basis-localtime.args      |   5 +-
 tests/qemuxml2argvdata/clock-localtime.args   |   5 +-
 tests/qemuxml2argvdata/clock-realtime.args    |   5 +-
 tests/qemuxml2argvdata/clock-utc.args         |   5 +-
 tests/qemuxml2argvdata/clock-variable.args    |   5 +-
 .../qemuxml2argvdata/console-compat-auto.args |   5 +-
 .../console-compat-chardev.args               |   5 +-
 tests/qemuxml2argvdata/console-compat.args    |   5 +-
 .../qemuxml2argvdata/console-virtio-ccw.args  |   5 +-
 .../qemuxml2argvdata/console-virtio-many.args |   5 +-
 tests/qemuxml2argvdata/console-virtio.args    |   5 +-
 tests/qemuxml2argvdata/controller-order.args  |  10 +-
 .../cpu-host-passthrough-features.args        |   5 +-
 .../qemuxml2argvdata/cputune-zero-shares.args |   5 +-
 tests/qemuxml2argvdata/cputune.args           |   5 +-
 .../firmware-manual-efi-acpi-aarch64.args     |   8 +-
 .../firmware-manual-efi-acpi-q35.args         |   8 +-
 .../firmware-manual-efi-noacpi-aarch64.args   |   8 +-
 .../firmware-manual-efi-secure.args           |   8 +-
 .../qemuxml2argvdata/firmware-manual-efi.args |   8 +-
 .../qemuxml2argvdata/graphics-dbus-audio.args |   5 +-
 .../graphics-egl-headless.args                |   5 +-
 .../graphics-sdl-fullscreen.args              |   5 +-
 tests/qemuxml2argvdata/graphics-sdl.args      |   5 +-
 .../hostdev-scsi-vhost-scsi-ccw.args          |   5 +-
 .../hostdev-scsi-vhost-scsi-pci.args          |   5 +-
 .../hostdev-vfio-multidomain.args             |   5 +-
 tests/qemuxml2argvdata/hostdev-vfio.args      |   5 +-
 .../qemuxml2argvdata/hugepages-memaccess.args |   5 +-
 .../hugepages-memaccess2.args                 |   5 +-
 tests/qemuxml2argvdata/hugepages-shared.args  |   5 +-
 .../hvf-aarch64-virt-headless.args            |  13 +-
 .../hvf-x86_64-q35-headless.args              |   5 +-
 .../qemuxml2argvdata/input-usbmouse-addr.args |   5 +-
 tests/qemuxml2argvdata/input-usbmouse.args    |   5 +-
 tests/qemuxml2argvdata/input-usbtablet.args   |   5 +-
 tests/qemuxml2argvdata/input-virtio-ccw.args  |   5 +-
 .../iothreads-disk-virtio-ccw.args            |  10 +-
 tests/qemuxml2argvdata/iothreads-disk.args    |  15 +-
 .../iothreads-ids-partial.args                |   5 +-
 tests/qemuxml2argvdata/iothreads-ids.args     |   5 +-
 tests/qemuxml2argvdata/iothreads.args         |   5 +-
 tests/qemuxml2argvdata/kvm-pit-delay.args     |   5 +-
 tests/qemuxml2argvdata/kvm-pit-discard.args   |   5 +-
 .../machine-aeskeywrap-off-cap.args           |   5 +-
 .../machine-aeskeywrap-off-caps.args          |   5 +-
 .../machine-aeskeywrap-on-cap.args            |   5 +-
 .../machine-aeskeywrap-on-caps.args           |   5 +-
 tests/qemuxml2argvdata/machine-aliases1.args  |   5 +-
 tests/qemuxml2argvdata/machine-aliases2.args  |   5 +-
 tests/qemuxml2argvdata/machine-core-off.args  |   5 +-
 tests/qemuxml2argvdata/machine-core-on.args   |   5 +-
 .../machine-deakeywrap-off-cap.args           |   5 +-
 .../machine-deakeywrap-off-caps.args          |   5 +-
 .../machine-deakeywrap-on-cap.args            |   5 +-
 .../machine-deakeywrap-on-caps.args           |   5 +-
 .../machine-keywrap-none-caps.args            |   5 +-
 .../machine-keywrap-none.args                 |   5 +-
 ...ine-loadparm-multiple-disks-nets-s390.args |  10 +-
 .../machine-loadparm-s390.args                |   5 +-
 .../qemuxml2argvdata/machine-vmport-opt.args  |   5 +-
 tests/qemuxml2argvdata/master-key.args        |   5 +-
 .../memory-hotplug-dimm-addr.args             |   5 +-
 .../qemuxml2argvdata/memory-hotplug-dimm.args |   5 +-
 tests/qemuxml2argvdata/memory-hotplug.args    |   5 +-
 tests/qemuxml2argvdata/memtune-unlimited.args |   5 +-
 tests/qemuxml2argvdata/memtune.args           |   5 +-
 tests/qemuxml2argvdata/migrate.args           |   5 +-
 tests/qemuxml2argvdata/minimal.args           |   5 +-
 tests/qemuxml2argvdata/misc-acpi.args         |   5 +-
 tests/qemuxml2argvdata/misc-disable-s3.args   |   5 +-
 .../misc-disable-suspends.args                |   5 +-
 tests/qemuxml2argvdata/misc-enable-s4.args    |   5 +-
 tests/qemuxml2argvdata/misc-uuid.args         |   5 +-
 tests/qemuxml2argvdata/monitor-json.args      |   5 +-
 .../multifunction-pci-device.args             |   5 +-
 tests/qemuxml2argvdata/net-client.args        |   5 +-
 tests/qemuxml2argvdata/net-eth-hostip.args    |   5 +-
 tests/qemuxml2argvdata/net-eth-ifname.args    |   5 +-
 tests/qemuxml2argvdata/net-eth-names.args     |   5 +-
 .../net-eth-unmanaged-tap.args                |   5 +-
 tests/qemuxml2argvdata/net-eth.args           |   5 +-
 .../net-hostdev-bootorder.args                |   5 +-
 .../net-hostdev-multidomain.args              |   5 +-
 .../net-hostdev-vfio-multidomain.args         |   5 +-
 tests/qemuxml2argvdata/net-hostdev-vfio.args  |   5 +-
 tests/qemuxml2argvdata/net-hostdev.args       |   5 +-
 tests/qemuxml2argvdata/net-mcast.args         |   5 +-
 tests/qemuxml2argvdata/net-server.args        |   5 +-
 tests/qemuxml2argvdata/net-udp.args           |   5 +-
 tests/qemuxml2argvdata/net-user-addr.args     |   5 +-
 tests/qemuxml2argvdata/net-user.args          |   5 +-
 .../net-vhostuser-multiq.args                 |   5 +-
 tests/qemuxml2argvdata/net-virtio-device.args |   5 +-
 .../net-virtio-disable-offloads.args          |   5 +-
 tests/qemuxml2argvdata/net-virtio-netdev.args |   5 +-
 .../net-virtio-rxtxqueuesize.args             |   5 +-
 .../net-virtio-teaming-hostdev.args           |   5 +-
 .../qemuxml2argvdata/net-virtio-teaming.args  |   5 +-
 tests/qemuxml2argvdata/net-virtio.args        |   5 +-
 tests/qemuxml2argvdata/nosharepages.args      |   5 +-
 .../numad-auto-memory-vcpu-cpuset.args        |   5 +-
 ...o-memory-vcpu-no-cpuset-and-placement.args |   5 +-
 .../numad-auto-vcpu-static-numatune.args      |   5 +-
 .../numad-static-memory-auto-vcpu.args        |   5 +-
 tests/qemuxml2argvdata/numad.args             |   5 +-
 .../numatune-auto-nodeset-invalid.args        |   5 +-
 tests/qemuxml2argvdata/numatune-memory.args   |   5 +-
 .../parallel-parport-chardev.args             |   5 +-
 .../parallel-tcp-chardev.args                 |   5 +-
 tests/qemuxml2argvdata/pci-autoadd-addr.args  |   5 +-
 tests/qemuxml2argvdata/pci-autoadd-idx.args   |   5 +-
 tests/qemuxml2argvdata/pci-autofill-addr.args |   5 +-
 .../pci-bridge-many-disks.args                | 525 +++++++++++-------
 tests/qemuxml2argvdata/pci-bridge.args        |   5 +-
 tests/qemuxml2argvdata/pci-many.args          | 145 +++--
 tests/qemuxml2argvdata/pci-rom.args           |   5 +-
 .../pci-serial-dev-chardev.args               |   5 +-
 tests/qemuxml2argvdata/pcie-expander-bus.args |   5 +-
 tests/qemuxml2argvdata/pcie-root-port.args    |   5 +-
 .../pcie-switch-downstream-port.args          |   5 +-
 .../pcie-switch-upstream-port.args            |   5 +-
 tests/qemuxml2argvdata/pcihole64-q35.args     |   5 +-
 .../pseries-vio-user-assigned.args            |   5 +-
 tests/qemuxml2argvdata/pseries-vio.args       |   5 +-
 tests/qemuxml2argvdata/q35-pcie-autoadd.args  |   5 +-
 tests/qemuxml2argvdata/q35-pcie.args          |   5 +-
 tests/qemuxml2argvdata/q35-usb2-multi.args    |   5 +-
 tests/qemuxml2argvdata/q35-usb2-reorder.args  |   5 +-
 tests/qemuxml2argvdata/q35-usb2.args          |   5 +-
 .../q35-virt-manager-basic.args               |   5 +-
 tests/qemuxml2argvdata/q35-virtio-pci.args    |   5 +-
 tests/qemuxml2argvdata/q35.args               |   5 +-
 tests/qemuxml2argvdata/qemu-ns-alt.args       |   5 +-
 .../qemu-ns-commandline-ns0.args              |   5 +-
 .../qemu-ns-commandline-ns1.args              |   5 +-
 .../qemuxml2argvdata/qemu-ns-commandline.args |   5 +-
 .../qemu-ns-domain-commandline-ns0.args       |   5 +-
 .../qemu-ns-domain-commandline.args           |   5 +-
 .../qemuxml2argvdata/qemu-ns-domain-ns0.args  |   5 +-
 tests/qemuxml2argvdata/qemu-ns-no-env.args    |   5 +-
 tests/qemuxml2argvdata/restore-v2-fd.args     |   5 +-
 tests/qemuxml2argvdata/restore-v2.args        |   5 +-
 tests/qemuxml2argvdata/riscv64-virt-pci.args  |   5 +-
 tests/qemuxml2argvdata/riscv64-virt.args      |   5 +-
 tests/qemuxml2argvdata/seclabel-dac-none.args |   5 +-
 .../seclabel-dynamic-baselabel.args           |   5 +-
 .../seclabel-dynamic-labelskip.args           |   5 +-
 .../seclabel-dynamic-override.args            |  10 +-
 .../seclabel-dynamic-relabel.args             |   5 +-
 tests/qemuxml2argvdata/seclabel-dynamic.args  |   5 +-
 tests/qemuxml2argvdata/seclabel-none.args     |   5 +-
 .../seclabel-static-labelskip.args            |   5 +-
 .../seclabel-static-relabel.args              |   5 +-
 tests/qemuxml2argvdata/seclabel-static.args   |   5 +-
 .../serial-dev-chardev-iobase.args            |   5 +-
 .../qemuxml2argvdata/serial-dev-chardev.args  |   5 +-
 .../qemuxml2argvdata/serial-file-chardev.args |   5 +-
 tests/qemuxml2argvdata/serial-file-log.args   |   5 +-
 .../qemuxml2argvdata/serial-many-chardev.args |   5 +-
 .../qemuxml2argvdata/serial-pty-chardev.args  |   5 +-
 tests/qemuxml2argvdata/serial-spiceport.args  |   5 +-
 .../qemuxml2argvdata/serial-tcp-chardev.args  |   5 +-
 .../serial-tcp-telnet-chardev.args            |   5 +-
 .../serial-tcp-tlsx509-chardev-notls.args     |   5 +-
 .../serial-tcp-tlsx509-chardev-verify.args    |   5 +-
 .../serial-tcp-tlsx509-chardev.args           |   5 +-
 .../serial-tcp-tlsx509-secret-chardev.args    |   5 +-
 .../qemuxml2argvdata/serial-udp-chardev.args  |   5 +-
 tests/qemuxml2argvdata/serial-vc-chardev.args |   5 +-
 tests/qemuxml2argvdata/smbios-type-fwcfg.args |   5 +-
 tests/qemuxml2argvdata/smbios.args            |   5 +-
 tests/qemuxml2argvdata/smp-dies.args          |   5 +-
 tests/qemuxml2argvdata/smp.args               |   5 +-
 tests/qemuxml2argvdata/sound-device.args      |   5 +-
 tests/qemuxml2argvdata/sound.args             |   5 +-
 tests/qemuxml2argvdata/sparc-minimal.args     |  10 +-
 .../video-device-pciaddr-default.args         |   5 +-
 tests/qemuxml2argvdata/video-none-device.args |   5 +-
 .../video-qxl-device-vgamem.args              |   5 +-
 tests/qemuxml2argvdata/video-qxl-device.args  |   5 +-
 tests/qemuxml2argvdata/video-qxl-heads.args   |   5 +-
 tests/qemuxml2argvdata/video-qxl-noheads.args |   5 +-
 .../video-qxl-resolution.args                 |   5 +-
 .../video-qxl-sec-device-vgamem.args          |   5 +-
 .../video-qxl-sec-device.args                 |   5 +-
 .../video-vga-device-vgamem.args              |   5 +-
 tests/qemuxml2argvdata/video-vga-device.args  |   5 +-
 .../qemuxml2argvdata/video-vga-qxl-heads.args |   5 +-
 .../video-virtio-gpu-ccw.args                 |   5 +-
 .../video-virtio-gpu-device.args              |   5 +-
 .../video-virtio-gpu-sdl-gl.args              |   5 +-
 .../video-virtio-gpu-spice-gl.args            |   5 +-
 .../video-virtio-gpu-virgl.args               |   5 +-
 tests/qemuxml2argvdata/video-virtio-vga.args  |   5 +-
 tests/qemuxml2argvdata/virtio-rng-ccw.args    |   5 +-
 tests/qemuxml2argvdata/vmcoreinfo.args        |   5 +-
 tests/testutilsqemu.c                         |   4 +
 241 files changed, 1187 insertions(+), 786 deletions(-)

diff --git a/tests/qemuxml2argvdata/aarch64-aavmf-virtio-mmio.args b/tests/qemuxml2argvdata/aarch64-aavmf-virtio-mmio.args
index 23edbd4edb..9955ca3dbc 100644
--- a/tests/qemuxml2argvdata/aarch64-aavmf-virtio-mmio.args
+++ b/tests/qemuxml2argvdata/aarch64-aavmf-virtio-mmio.args
@@ -31,8 +31,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-aarch64test/.config \
 -append 'earlyprintk console=ttyAMA0,115200n8 rw root=/dev/vda rootwait' \
 -dtb /aarch64.dtb \
 -device virtio-serial-device,id=virtio-serial0 \
--drive file=/aarch64.raw,format=raw,if=none,id=drive-virtio-disk0 \
--device virtio-blk-device,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 \
+-blockdev '{"driver":"file","filename":"/aarch64.raw","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device virtio-blk-device,drive=libvirt-1-format,id=virtio-disk0,bootindex=1 \
 -netdev user,id=hostnet0 \
 -device virtio-net-device,netdev=hostnet0,id=net0,mac=52:54:00:09:a4:37 \
 -chardev pty,id=charconsole0 \
diff --git a/tests/qemuxml2argvdata/aarch64-cpu-passthrough.args b/tests/qemuxml2argvdata/aarch64-cpu-passthrough.args
index 6a9898193f..447fcedf84 100644
--- a/tests/qemuxml2argvdata/aarch64-cpu-passthrough.args
+++ b/tests/qemuxml2argvdata/aarch64-cpu-passthrough.args
@@ -26,7 +26,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-aarch64test/.config \
 -no-shutdown \
 -no-acpi \
 -boot strict=on \
--drive file=/aarch64.raw,format=raw,if=none,id=drive-virtio-disk0 \
--device virtio-blk-device,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 \
+-blockdev '{"driver":"file","filename":"/aarch64.raw","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device virtio-blk-device,drive=libvirt-1-format,id=virtio-disk0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/aarch64-kvm-32-on-64.args b/tests/qemuxml2argvdata/aarch64-kvm-32-on-64.args
index 6ac50d6f17..0b22efecd2 100644
--- a/tests/qemuxml2argvdata/aarch64-kvm-32-on-64.args
+++ b/tests/qemuxml2argvdata/aarch64-kvm-32-on-64.args
@@ -28,8 +28,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-armtest/.config \
 -kernel /arm.kernel \
 -initrd /arm.initrd \
 -append 'console=ttyAMA0,115200n8 rw root=/dev/vda rootwait physmap.enabled=0' \
--drive file=/arm.raw,format=raw,if=none,id=drive-virtio-disk0 \
--device virtio-blk-device,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 \
+-blockdev '{"driver":"file","filename":"/arm.raw","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device virtio-blk-device,drive=libvirt-1-format,id=virtio-disk0,bootindex=1 \
 -netdev user,id=hostnet0 \
 -device virtio-net-device,netdev=hostnet0,id=net0,mac=52:54:00:09:a4:37 \
 -chardev pty,id=charserial0 \
diff --git a/tests/qemuxml2argvdata/aarch64-virt-2.6-virtio-pci-default.args b/tests/qemuxml2argvdata/aarch64-virt-2.6-virtio-pci-default.args
index 7f8bd9d402..15f8f16975 100644
--- a/tests/qemuxml2argvdata/aarch64-virt-2.6-virtio-pci-default.args
+++ b/tests/qemuxml2argvdata/aarch64-virt-2.6-virtio-pci-default.args
@@ -34,8 +34,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-aarch64test/.config \
 -device pci-bridge,chassis_nr=2,id=pci.2,bus=pci.1,addr=0x0 \
 -device ioh3420,port=16,chassis=3,id=pci.3,bus=pcie.0,addr=0x2 \
 -device virtio-serial-pci,id=virtio-serial0,bus=pci.2,addr=0x2 \
--drive file=/aarch64.raw,format=raw,if=none,id=drive-virtio-disk0 \
--device virtio-blk-pci,bus=pci.2,addr=0x3,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 \
+-blockdev '{"driver":"file","filename":"/aarch64.raw","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device virtio-blk-pci,bus=pci.2,addr=0x3,drive=libvirt-1-format,id=virtio-disk0,bootindex=1 \
 -netdev user,id=hostnet0 \
 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:09:a4:37,bus=pci.2,addr=0x1 \
 -chardev pty,id=charserial0 \
diff --git a/tests/qemuxml2argvdata/aarch64-virt-virtio.args b/tests/qemuxml2argvdata/aarch64-virt-virtio.args
index 4a78ab1038..575727a694 100644
--- a/tests/qemuxml2argvdata/aarch64-virt-virtio.args
+++ b/tests/qemuxml2argvdata/aarch64-virt-virtio.args
@@ -31,8 +31,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-aarch64test/.config \
 -append 'earlyprintk console=ttyAMA0,115200n8 rw root=/dev/vda rootwait' \
 -dtb /aarch64.dtb \
 -device virtio-serial-device,id=virtio-serial0 \
--drive file=/aarch64.raw,format=raw,if=none,id=drive-virtio-disk0 \
--device virtio-blk-device,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 \
+-blockdev '{"driver":"file","filename":"/aarch64.raw","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device virtio-blk-device,drive=libvirt-1-format,id=virtio-disk0,bootindex=1 \
 -netdev user,id=hostnet0 \
 -device virtio-net-device,netdev=hostnet0,id=net0,mac=52:54:00:09:a4:37 \
 -chardev pty,id=charserial0 \
diff --git a/tests/qemuxml2argvdata/aarch64-virtio-pci-default.args b/tests/qemuxml2argvdata/aarch64-virtio-pci-default.args
index 2e2b523b07..aa7c04e9c6 100644
--- a/tests/qemuxml2argvdata/aarch64-virtio-pci-default.args
+++ b/tests/qemuxml2argvdata/aarch64-virtio-pci-default.args
@@ -37,8 +37,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-aarch64test/.config \
 -device ioh3420,port=12,chassis=5,id=pci.5,bus=pcie.0,addr=0x1.0x4 \
 -device ioh3420,port=13,chassis=6,id=pci.6,bus=pcie.0,addr=0x1.0x5 \
 -device virtio-serial-pci,id=virtio-serial0,bus=pci.2,addr=0x0 \
--drive file=/aarch64.raw,format=raw,if=none,id=drive-virtio-disk0 \
--device virtio-blk-pci,bus=pci.3,addr=0x0,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 \
+-blockdev '{"driver":"file","filename":"/aarch64.raw","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device virtio-blk-pci,bus=pci.3,addr=0x0,drive=libvirt-1-format,id=virtio-disk0,bootindex=1 \
 -netdev user,id=hostnet0 \
 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:09:a4:37,bus=pci.1,addr=0x0 \
 -chardev pty,id=charserial0 \
diff --git a/tests/qemuxml2argvdata/aarch64-virtio-pci-manual-addresses.args b/tests/qemuxml2argvdata/aarch64-virtio-pci-manual-addresses.args
index 671854a250..3000fea1a6 100644
--- a/tests/qemuxml2argvdata/aarch64-virtio-pci-manual-addresses.args
+++ b/tests/qemuxml2argvdata/aarch64-virtio-pci-manual-addresses.args
@@ -34,8 +34,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-aarch64test/.config \
 -device pci-bridge,chassis_nr=2,id=pci.2,bus=pci.1,addr=0x0 \
 -device pci-bridge,chassis_nr=3,id=pci.3,bus=pci.1,addr=0x1 \
 -device virtio-scsi-pci,id=scsi0,bus=pci.3,addr=0x1 \
--drive file=/aarch64.raw,format=raw,if=none,id=drive-scsi0-0-0-0 \
--device scsi-hd,bus=scsi0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0-0-0-0,id=scsi0-0-0-0,bootindex=1 \
+-blockdev '{"driver":"file","filename":"/aarch64.raw","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device scsi-hd,bus=scsi0.0,channel=0,scsi-id=0,lun=0,drive=libvirt-1-format,id=scsi0-0-0-0,bootindex=1 \
 -netdev user,id=hostnet0 \
 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:09:a4:37,bus=pci.3,addr=0x2 \
 -netdev user,id=hostnet1 \
diff --git a/tests/qemuxml2argvdata/arm-vexpressa9-virtio.args b/tests/qemuxml2argvdata/arm-vexpressa9-virtio.args
index c8fd7ec981..bb2097bd48 100644
--- a/tests/qemuxml2argvdata/arm-vexpressa9-virtio.args
+++ b/tests/qemuxml2argvdata/arm-vexpressa9-virtio.args
@@ -30,8 +30,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-armtest/.config \
 -dtb /arm.dtb \
 -device virtio-serial-device,id=virtio-serial0 \
 -usb \
--drive file=/arm.raw,format=raw,if=none,id=drive-virtio-disk0 \
--device virtio-blk-device,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 \
+-blockdev '{"driver":"file","filename":"/arm.raw","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device virtio-blk-device,drive=libvirt-1-format,id=virtio-disk0,bootindex=1 \
 -netdev user,id=hostnet0 \
 -device virtio-net-device,netdev=hostnet0,id=net0,mac=52:54:00:09:a4:37 \
 -chardev pty,id=charserial0 \
diff --git a/tests/qemuxml2argvdata/arm-virt-virtio.args b/tests/qemuxml2argvdata/arm-virt-virtio.args
index fb0bf0e374..be24dc0e71 100644
--- a/tests/qemuxml2argvdata/arm-virt-virtio.args
+++ b/tests/qemuxml2argvdata/arm-virt-virtio.args
@@ -29,8 +29,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-armtest/.config \
 -append 'console=ttyAMA0,115200n8 rw root=/dev/vda rootwait physmap.enabled=0' \
 -dtb /arm.dtb \
 -device virtio-serial-device,id=virtio-serial0 \
--drive file=/arm.raw,format=raw,if=none,id=drive-virtio-disk0 \
--device virtio-blk-device,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 \
+-blockdev '{"driver":"file","filename":"/arm.raw","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device virtio-blk-device,drive=libvirt-1-format,id=virtio-disk0,bootindex=1 \
 -netdev user,id=hostnet0 \
 -device virtio-net-device,netdev=hostnet0,id=net0,mac=52:54:00:09:a4:37 \
 -chardev pty,id=charserial0 \
diff --git a/tests/qemuxml2argvdata/audio-default-sdl.args b/tests/qemuxml2argvdata/audio-default-sdl.args
index f64c20ce3c..522a0cedb3 100644
--- a/tests/qemuxml2argvdata/audio-default-sdl.args
+++ b/tests/qemuxml2argvdata/audio-default-sdl.args
@@ -26,8 +26,9 @@ SDL_AUDIODRIVER=esd \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/cdrom,format=raw,if=none,id=drive-ide0-1-0,readonly=on \
--device ide-cd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0,bootindex=1 \
+-blockdev '{"driver":"host_cdrom","filename":"/dev/cdrom","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":true,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-cd,bus=ide.1,unit=0,drive=libvirt-1-format,id=ide0-1-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"sdl"}' \
 -display sdl \
 -device cirrus-vga,id=video0,bus=pci.0,addr=0x2 \
diff --git a/tests/qemuxml2argvdata/audio-default-spice.args b/tests/qemuxml2argvdata/audio-default-spice.args
index 2b6946e99a..fd9a7850e0 100644
--- a/tests/qemuxml2argvdata/audio-default-spice.args
+++ b/tests/qemuxml2argvdata/audio-default-spice.args
@@ -25,8 +25,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/cdrom,format=raw,if=none,id=drive-ide0-1-0,readonly=on \
--device ide-cd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0,bootindex=1 \
+-blockdev '{"driver":"host_cdrom","filename":"/dev/cdrom","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":true,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-cd,bus=ide.1,unit=0,drive=libvirt-1-format,id=ide0-1-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"spice"}' \
 -spice port=0,seamless-migration=on \
 -device cirrus-vga,id=video0,bus=pci.0,addr=0x2 \
diff --git a/tests/qemuxml2argvdata/audio-default-vnc.args b/tests/qemuxml2argvdata/audio-default-vnc.args
index 862bde252f..19b80f8d0f 100644
--- a/tests/qemuxml2argvdata/audio-default-vnc.args
+++ b/tests/qemuxml2argvdata/audio-default-vnc.args
@@ -25,8 +25,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/cdrom,format=raw,if=none,id=drive-ide0-1-0,readonly=on \
--device ide-cd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0,bootindex=1 \
+-blockdev '{"driver":"host_cdrom","filename":"/dev/cdrom","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":true,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-cd,bus=ide.1,unit=0,drive=libvirt-1-format,id=ide0-1-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"alsa"}' \
 -vnc 127.0.0.1:0,audiodev=audio1 \
 -device cirrus-vga,id=video0,bus=pci.0,addr=0x2 \
diff --git a/tests/qemuxml2argvdata/autoindex.args b/tests/qemuxml2argvdata/autoindex.args
index 08a496c9b7..a80f49c461 100644
--- a/tests/qemuxml2argvdata/autoindex.args
+++ b/tests/qemuxml2argvdata/autoindex.args
@@ -54,7 +54,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-q35-test/.config \
 -device ich9-usb-uhci2,masterbus=usb4.0,firstport=2,bus=pci.2,addr=0x2.0x1 \
 -device ich9-usb-uhci3,masterbus=usb4.0,firstport=4,bus=pci.2,addr=0x2.0x2 \
 -device ich9-usb-ehci1,id=usb4,bus=pci.2,addr=0x2.0x7 \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-sata0-0-0 \
--device ide-hd,bus=ide.0,drive=drive-sata0-0-0,id=sata0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,drive=libvirt-1-format,id=sata0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/balloon-device-auto.args b/tests/qemuxml2argvdata/balloon-device-auto.args
index dbcb959334..24193d008b 100644
--- a/tests/qemuxml2argvdata/balloon-device-auto.args
+++ b/tests/qemuxml2argvdata/balloon-device-auto.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/balloon-device-deflate-off.args b/tests/qemuxml2argvdata/balloon-device-deflate-off.args
index de5a740a5c..08122249a1 100644
--- a/tests/qemuxml2argvdata/balloon-device-deflate-off.args
+++ b/tests/qemuxml2argvdata/balloon-device-deflate-off.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,deflate-on-oom=off,bus=pci.0,addr=0x12 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/balloon-device-deflate.args b/tests/qemuxml2argvdata/balloon-device-deflate.args
index 060e1fc617..bac27e20a9 100644
--- a/tests/qemuxml2argvdata/balloon-device-deflate.args
+++ b/tests/qemuxml2argvdata/balloon-device-deflate.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,deflate-on-oom=on,bus=pci.0,addr=0x12 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/balloon-device-period.args b/tests/qemuxml2argvdata/balloon-device-period.args
index 7ca265fd15..925f534ae2 100644
--- a/tests/qemuxml2argvdata/balloon-device-period.args
+++ b/tests/qemuxml2argvdata/balloon-device-period.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x12 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/balloon-device.args b/tests/qemuxml2argvdata/balloon-device.args
index 7ca265fd15..925f534ae2 100644
--- a/tests/qemuxml2argvdata/balloon-device.args
+++ b/tests/qemuxml2argvdata/balloon-device.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x12 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/blkiotune-device.args b/tests/qemuxml2argvdata/blkiotune-device.args
index dbcb959334..24193d008b 100644
--- a/tests/qemuxml2argvdata/blkiotune-device.args
+++ b/tests/qemuxml2argvdata/blkiotune-device.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/blkiotune.args b/tests/qemuxml2argvdata/blkiotune.args
index dbcb959334..24193d008b 100644
--- a/tests/qemuxml2argvdata/blkiotune.args
+++ b/tests/qemuxml2argvdata/blkiotune.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/boot-cdrom.args b/tests/qemuxml2argvdata/boot-cdrom.args
index 59095372f5..cba00fa112 100644
--- a/tests/qemuxml2argvdata/boot-cdrom.args
+++ b/tests/qemuxml2argvdata/boot-cdrom.args
@@ -26,7 +26,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/cdrom,format=raw,if=none,id=drive-ide0-1-0,readonly=on \
--device ide-cd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0,bootindex=1 \
+-blockdev '{"driver":"host_cdrom","filename":"/dev/cdrom","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":true,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-cd,bus=ide.1,unit=0,drive=libvirt-1-format,id=ide0-1-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/boot-complex.args b/tests/qemuxml2argvdata/boot-complex.args
index bf97a62e1b..5eb78e291b 100644
--- a/tests/qemuxml2argvdata/boot-complex.args
+++ b/tests/qemuxml2argvdata/boot-complex.args
@@ -26,21 +26,28 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/tmp/vda.img,format=raw,if=none,id=drive-virtio-disk0 \
--device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=3 \
--drive file=/tmp/vdb.img,format=raw,if=none,id=drive-virtio-disk1 \
--device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x5,drive=drive-virtio-disk1,id=virtio-disk1 \
--drive file=/dev/HostVG/hda,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
--drive file=/dev/HostVG/hdb,format=raw,if=none,id=drive-ide0-0-1 \
--device ide-hd,bus=ide.0,unit=1,drive=drive-ide0-0-1,id=ide0-0-1 \
--drive file=/dev/HostVG/hdc,format=raw,if=none,id=drive-ide0-1-0,readonly=on \
--device ide-cd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0,bootindex=1 \
--drive file=/dev/fd0,format=raw,if=none,id=drive-fdc0-0-0 \
--drive file=/dev/fd1,format=raw,if=none,id=drive-fdc0-0-1 \
--global isa-fdc.driveA=drive-fdc0-0-0 \
 -global isa-fdc.bootindexA=4 \
--global isa-fdc.driveB=drive-fdc0-0-1 \
+-blockdev '{"driver":"file","filename":"/tmp/vda.img","node-name":"libvirt-7-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-7-format","read-only":false,"driver":"raw","file":"libvirt-7-storage"}' \
+-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=libvirt-7-format,id=virtio-disk0,bootindex=3 \
+-blockdev '{"driver":"file","filename":"/tmp/vdb.img","node-name":"libvirt-6-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-6-format","read-only":false,"driver":"raw","file":"libvirt-6-storage"}' \
+-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x5,drive=libvirt-6-format,id=virtio-disk1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/hda","node-name":"libvirt-5-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-5-format","read-only":false,"driver":"raw","file":"libvirt-5-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-5-format,id=ide0-0-0 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/hdb","node-name":"libvirt-4-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-4-format","read-only":false,"driver":"raw","file":"libvirt-4-storage"}' \
+-device ide-hd,bus=ide.0,unit=1,drive=libvirt-4-format,id=ide0-0-1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/hdc","node-name":"libvirt-3-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-3-format","read-only":true,"driver":"raw","file":"libvirt-3-storage"}' \
+-device ide-cd,bus=ide.1,unit=0,drive=libvirt-3-format,id=ide0-1-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/fd0","node-name":"libvirt-2-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-2-format","read-only":false,"driver":"raw","file":"libvirt-2-storage"}' \
+-device floppy,unit=0,drive=libvirt-2-format,id=fdc0-0-0 \
+-blockdev '{"driver":"host_device","filename":"/dev/fd1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device floppy,unit=1,drive=libvirt-1-format,id=fdc0-0-1 \
 -netdev user,id=hostnet0 \
 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=00:11:22:33:44:11,bootindex=2,bus=pci.0,addr=0x2 \
 -netdev user,id=hostnet1 \
diff --git a/tests/qemuxml2argvdata/boot-floppy-q35.args b/tests/qemuxml2argvdata/boot-floppy-q35.args
index 632664c46b..7a4737f925 100644
--- a/tests/qemuxml2argvdata/boot-floppy-q35.args
+++ b/tests/qemuxml2argvdata/boot-floppy-q35.args
@@ -25,7 +25,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-shutdown \
 -no-acpi \
 -boot strict=on \
--drive file=/tmp/firmware.img,format=raw,if=none,id=drive-fdc0-0-0 \
--device isa-fdc,driveA=drive-fdc0-0-0,bootindexA=1 \
+-device isa-fdc,bootindexA=1 \
+-blockdev '{"driver":"file","filename":"/tmp/firmware.img","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device floppy,unit=0,drive=libvirt-1-format,id=fdc0-0-0 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/boot-floppy.args b/tests/qemuxml2argvdata/boot-floppy.args
index b449214b7f..467ca1342b 100644
--- a/tests/qemuxml2argvdata/boot-floppy.args
+++ b/tests/qemuxml2argvdata/boot-floppy.args
@@ -26,10 +26,12 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
--drive file=/tmp/firmware.img,format=raw,if=none,id=drive-fdc0-0-0 \
--global isa-fdc.driveA=drive-fdc0-0-0 \
 -global isa-fdc.bootindexA=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-2-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-2-format","read-only":false,"driver":"raw","file":"libvirt-2-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-2-format,id=ide0-0-0 \
+-blockdev '{"driver":"file","filename":"/tmp/firmware.img","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device floppy,unit=0,drive=libvirt-1-format,id=fdc0-0-0 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/boot-menu-disable-drive.args b/tests/qemuxml2argvdata/boot-menu-disable-drive.args
index 3538921f0e..e307121a6e 100644
--- a/tests/qemuxml2argvdata/boot-menu-disable-drive.args
+++ b/tests/qemuxml2argvdata/boot-menu-disable-drive.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot menu=off,strict=on \
 -usb \
--drive file=/dev/cdrom,format=raw,if=none,id=drive-ide0-1-0,readonly=on \
--device ide-cd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0,bootindex=1 \
+-blockdev '{"driver":"host_cdrom","filename":"/dev/cdrom","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":true,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-cd,bus=ide.1,unit=0,drive=libvirt-1-format,id=ide0-1-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/boot-menu-disable.args b/tests/qemuxml2argvdata/boot-menu-disable.args
index 3538921f0e..e307121a6e 100644
--- a/tests/qemuxml2argvdata/boot-menu-disable.args
+++ b/tests/qemuxml2argvdata/boot-menu-disable.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot menu=off,strict=on \
 -usb \
--drive file=/dev/cdrom,format=raw,if=none,id=drive-ide0-1-0,readonly=on \
--device ide-cd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0,bootindex=1 \
+-blockdev '{"driver":"host_cdrom","filename":"/dev/cdrom","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":true,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-cd,bus=ide.1,unit=0,drive=libvirt-1-format,id=ide0-1-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/boot-menu-enable-with-timeout.args b/tests/qemuxml2argvdata/boot-menu-enable-with-timeout.args
index 4a799dfe10..d77a63ae5e 100644
--- a/tests/qemuxml2argvdata/boot-menu-enable-with-timeout.args
+++ b/tests/qemuxml2argvdata/boot-menu-enable-with-timeout.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot menu=on,splash-time=3000,strict=on \
 -usb \
--drive file=/dev/cdrom,format=raw,if=none,id=drive-ide0-1-0,readonly=on \
--device ide-cd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0,bootindex=1 \
+-blockdev '{"driver":"host_cdrom","filename":"/dev/cdrom","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":true,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-cd,bus=ide.1,unit=0,drive=libvirt-1-format,id=ide0-1-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/boot-menu-enable.args b/tests/qemuxml2argvdata/boot-menu-enable.args
index 5b5cf2c559..777918fa80 100644
--- a/tests/qemuxml2argvdata/boot-menu-enable.args
+++ b/tests/qemuxml2argvdata/boot-menu-enable.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot menu=on,strict=on \
 -usb \
--drive file=/dev/cdrom,format=raw,if=none,id=drive-ide0-1-0,readonly=on \
--device ide-cd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0,bootindex=1 \
+-blockdev '{"driver":"host_cdrom","filename":"/dev/cdrom","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":true,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-cd,bus=ide.1,unit=0,drive=libvirt-1-format,id=ide0-1-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/boot-multi.args b/tests/qemuxml2argvdata/boot-multi.args
index 5b5cf2c559..777918fa80 100644
--- a/tests/qemuxml2argvdata/boot-multi.args
+++ b/tests/qemuxml2argvdata/boot-multi.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot menu=on,strict=on \
 -usb \
--drive file=/dev/cdrom,format=raw,if=none,id=drive-ide0-1-0,readonly=on \
--device ide-cd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0,bootindex=1 \
+-blockdev '{"driver":"host_cdrom","filename":"/dev/cdrom","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":true,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-cd,bus=ide.1,unit=0,drive=libvirt-1-format,id=ide0-1-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/boot-network.args b/tests/qemuxml2argvdata/boot-network.args
index 30369ad55e..451e5ef66a 100644
--- a/tests/qemuxml2argvdata/boot-network.args
+++ b/tests/qemuxml2argvdata/boot-network.args
@@ -26,7 +26,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/boot-order.args b/tests/qemuxml2argvdata/boot-order.args
index 241639546f..6d465ff2a8 100644
--- a/tests/qemuxml2argvdata/boot-order.args
+++ b/tests/qemuxml2argvdata/boot-order.args
@@ -26,15 +26,19 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
--drive file=/root/boot.iso,format=raw,if=none,id=drive-ide0-1-0,readonly=on \
--device ide-cd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0,bootindex=1 \
--drive file=sheepdog:example.org:6000:image,format=raw,if=none,id=drive-virtio-disk0 \
--device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x3,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=3 \
--drive file=/dev/null,format=raw,if=none,id=drive-fdc0-0-1 \
--global isa-fdc.driveB=drive-fdc0-0-1 \
 -global isa-fdc.bootindexB=4 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-4-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-4-format","read-only":false,"driver":"raw","file":"libvirt-4-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-4-format,id=ide0-0-0 \
+-blockdev '{"driver":"file","filename":"/root/boot.iso","node-name":"libvirt-3-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-3-format","read-only":true,"driver":"raw","file":"libvirt-3-storage"}' \
+-device ide-cd,bus=ide.1,unit=0,drive=libvirt-3-format,id=ide0-1-0,bootindex=1 \
+-blockdev '{"driver":"sheepdog","server":{"type":"inet","host":"example.org","port":"6000"},"vdi":"image","node-name":"libvirt-2-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-2-format","read-only":false,"driver":"raw","file":"libvirt-2-storage"}' \
+-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x3,drive=libvirt-2-format,id=virtio-disk0,bootindex=3 \
+-blockdev '{"driver":"file","filename":"/dev/null","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device floppy,unit=1,drive=libvirt-1-format,id=fdc0-0-1 \
 -netdev user,id=hostnet0 \
 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=00:11:22:33:44:55,bootindex=2,bus=pci.0,addr=0x2 \
 -audiodev '{"id":"audio1","driver":"none"}' \
diff --git a/tests/qemuxml2argvdata/channel-guestfwd.args b/tests/qemuxml2argvdata/channel-guestfwd.args
index 52411f9289..78fe3d37c2 100644
--- a/tests/qemuxml2argvdata/channel-guestfwd.args
+++ b/tests/qemuxml2argvdata/channel-guestfwd.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -chardev pipe,id=charchannel0,path=/tmp/guestfwd \
 -netdev user,guestfwd=tcp:10.0.2.1:4600-chardev:charchannel0,id=channel0 \
 -audiodev '{"id":"audio1","driver":"none"}' \
diff --git a/tests/qemuxml2argvdata/channel-spicevmc.args b/tests/qemuxml2argvdata/channel-spicevmc.args
index 0671ae2660..c9a266b9ea 100644
--- a/tests/qemuxml2argvdata/channel-spicevmc.args
+++ b/tests/qemuxml2argvdata/channel-spicevmc.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -boot strict=on \
 -device virtio-serial-pci,id=virtio-serial1,bus=pci.0,addr=0xa \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -chardev spicevmc,id=charchannel0,name=vdagent \
 -device virtserialport,bus=virtio-serial1.0,nr=3,chardev=charchannel0,id=channel0,name=com.redhat.spice.0 \
 -audiodev '{"id":"audio1","driver":"spice"}' \
diff --git a/tests/qemuxml2argvdata/channel-virtio-auto.args b/tests/qemuxml2argvdata/channel-virtio-auto.args
index 311860cc67..5b5072d56e 100644
--- a/tests/qemuxml2argvdata/channel-virtio-auto.args
+++ b/tests/qemuxml2argvdata/channel-virtio-auto.args
@@ -29,8 +29,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -device virtio-serial-pci,id=virtio-serial1,bus=pci.0,addr=0xa \
 -device virtio-serial-pci,id=virtio-serial2,bus=pci.0,addr=0x3 \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -chardev pty,id=charchannel0 \
 -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=org.linux-kvm.port.0 \
 -chardev pty,id=charchannel1 \
diff --git a/tests/qemuxml2argvdata/channel-virtio-autoadd.args b/tests/qemuxml2argvdata/channel-virtio-autoadd.args
index e78c7a758b..7cca11ac76 100644
--- a/tests/qemuxml2argvdata/channel-virtio-autoadd.args
+++ b/tests/qemuxml2argvdata/channel-virtio-autoadd.args
@@ -28,8 +28,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -device virtio-serial-pci,id=virtio-serial0,max_ports=4,vectors=4,bus=pci.0,addr=0x2 \
 -device virtio-serial-pci,id=virtio-serial1,bus=pci.0,addr=0x3 \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -chardev pty,id=charchannel0 \
 -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=org.linux-kvm.port.0 \
 -chardev pty,id=charchannel1 \
diff --git a/tests/qemuxml2argvdata/channel-virtio-autoassign.args b/tests/qemuxml2argvdata/channel-virtio-autoassign.args
index 5974937da3..330d843faa 100644
--- a/tests/qemuxml2argvdata/channel-virtio-autoassign.args
+++ b/tests/qemuxml2argvdata/channel-virtio-autoassign.args
@@ -28,8 +28,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -device virtio-serial-pci,id=virtio-serial0,max_ports=4,vectors=4,bus=pci.0,addr=0x2 \
 -device virtio-serial-pci,id=virtio-serial1,bus=pci.0,addr=0xa \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -chardev pty,id=charchannel0 \
 -device virtserialport,bus=virtio-serial0.0,nr=2,chardev=charchannel0,id=channel0,name=org.linux-kvm.port.0 \
 -chardev pty,id=charchannel1 \
diff --git a/tests/qemuxml2argvdata/channel-virtio-default.args b/tests/qemuxml2argvdata/channel-virtio-default.args
index 278ce4b731..73de60f518 100644
--- a/tests/qemuxml2argvdata/channel-virtio-default.args
+++ b/tests/qemuxml2argvdata/channel-virtio-default.args
@@ -27,8 +27,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -device virtio-serial-pci,id=virtio-serial1,bus=pci.0,addr=0xa \
 -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x3 \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -chardev pty,id=charchannel0 \
 -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0 \
 -chardev spicevmc,id=charchannel1,name=vdagent \
diff --git a/tests/qemuxml2argvdata/channel-virtio-state.args b/tests/qemuxml2argvdata/channel-virtio-state.args
index ea49528e02..7f3754fc2a 100644
--- a/tests/qemuxml2argvdata/channel-virtio-state.args
+++ b/tests/qemuxml2argvdata/channel-virtio-state.args
@@ -27,8 +27,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -boot strict=on \
 -device virtio-serial-pci,id=virtio-serial1,bus=pci.0,addr=0xa \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -chardev pty,id=charchannel0 \
 -device virtserialport,bus=virtio-serial1.0,nr=3,chardev=charchannel0,id=channel0,name=org.linux-kvm.port.foo \
 -chardev pty,id=charchannel1 \
diff --git a/tests/qemuxml2argvdata/channel-virtio-unix.args b/tests/qemuxml2argvdata/channel-virtio-unix.args
index 45a102bbac..baea530a4d 100644
--- a/tests/qemuxml2argvdata/channel-virtio-unix.args
+++ b/tests/qemuxml2argvdata/channel-virtio-unix.args
@@ -28,8 +28,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -device virtio-serial-pci,id=virtio-serial1,bus=pci.0,addr=0xa \
 -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x2 \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -chardev socket,id=charchannel0,fd=1729,server=on,wait=off \
 -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=org.qemu.guest_agent.0 \
 -chardev socket,id=charchannel1,fd=1729,server=on,wait=off \
diff --git a/tests/qemuxml2argvdata/channel-virtio.args b/tests/qemuxml2argvdata/channel-virtio.args
index c96c019b6c..ea2b97654b 100644
--- a/tests/qemuxml2argvdata/channel-virtio.args
+++ b/tests/qemuxml2argvdata/channel-virtio.args
@@ -27,8 +27,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -boot strict=on \
 -device virtio-serial-pci,id=virtio-serial1,bus=pci.0,addr=0xa \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -chardev pty,id=charchannel0 \
 -device virtserialport,bus=virtio-serial1.0,nr=3,chardev=charchannel0,id=channel0,name=org.linux-kvm.port.foo \
 -audiodev '{"id":"audio1","driver":"none"}' \
diff --git a/tests/qemuxml2argvdata/clock-catchup.args b/tests/qemuxml2argvdata/clock-catchup.args
index 0ec9e70f22..c51a40d645 100644
--- a/tests/qemuxml2argvdata/clock-catchup.args
+++ b/tests/qemuxml2argvdata/clock-catchup.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/clock-france.args b/tests/qemuxml2argvdata/clock-france.args
index a5a8f3a088..3d0a24caa6 100644
--- a/tests/qemuxml2argvdata/clock-france.args
+++ b/tests/qemuxml2argvdata/clock-france.args
@@ -27,8 +27,9 @@ TZ=Europe/Paris \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/clock-hpet-off.args b/tests/qemuxml2argvdata/clock-hpet-off.args
index 1979882c36..2ecd29ca29 100644
--- a/tests/qemuxml2argvdata/clock-hpet-off.args
+++ b/tests/qemuxml2argvdata/clock-hpet-off.args
@@ -27,8 +27,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/clock-localtime-basis-localtime.args b/tests/qemuxml2argvdata/clock-localtime-basis-localtime.args
index 3a03f782c0..c6d55dbacf 100644
--- a/tests/qemuxml2argvdata/clock-localtime-basis-localtime.args
+++ b/tests/qemuxml2argvdata/clock-localtime-basis-localtime.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/clock-localtime.args b/tests/qemuxml2argvdata/clock-localtime.args
index 7cd450c9be..177e5738f3 100644
--- a/tests/qemuxml2argvdata/clock-localtime.args
+++ b/tests/qemuxml2argvdata/clock-localtime.args
@@ -26,7 +26,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/clock-realtime.args b/tests/qemuxml2argvdata/clock-realtime.args
index 4b9321552f..2ab04bc929 100644
--- a/tests/qemuxml2argvdata/clock-realtime.args
+++ b/tests/qemuxml2argvdata/clock-realtime.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/clock-utc.args b/tests/qemuxml2argvdata/clock-utc.args
index 39bc2c0a6e..4029e9e1e6 100644
--- a/tests/qemuxml2argvdata/clock-utc.args
+++ b/tests/qemuxml2argvdata/clock-utc.args
@@ -26,7 +26,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/clock-variable.args b/tests/qemuxml2argvdata/clock-variable.args
index 9d03ac30ff..bb176dd511 100644
--- a/tests/qemuxml2argvdata/clock-variable.args
+++ b/tests/qemuxml2argvdata/clock-variable.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/console-compat-auto.args b/tests/qemuxml2argvdata/console-compat-auto.args
index cf08357b27..a495cc9c92 100644
--- a/tests/qemuxml2argvdata/console-compat-auto.args
+++ b/tests/qemuxml2argvdata/console-compat-auto.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -chardev pty,id=charserial0 \
 -device isa-serial,chardev=charserial0,id=serial0,index=0 \
 -audiodev '{"id":"audio1","driver":"none"}' \
diff --git a/tests/qemuxml2argvdata/console-compat-chardev.args b/tests/qemuxml2argvdata/console-compat-chardev.args
index cf08357b27..a495cc9c92 100644
--- a/tests/qemuxml2argvdata/console-compat-chardev.args
+++ b/tests/qemuxml2argvdata/console-compat-chardev.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -chardev pty,id=charserial0 \
 -device isa-serial,chardev=charserial0,id=serial0,index=0 \
 -audiodev '{"id":"audio1","driver":"none"}' \
diff --git a/tests/qemuxml2argvdata/console-compat.args b/tests/qemuxml2argvdata/console-compat.args
index 7013b6b570..f6c7ca9361 100644
--- a/tests/qemuxml2argvdata/console-compat.args
+++ b/tests/qemuxml2argvdata/console-compat.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -chardev pty,id=charserial0 \
 -device isa-serial,chardev=charserial0,id=serial0,index=0 \
 -audiodev '{"id":"audio1","driver":"none"}' \
diff --git a/tests/qemuxml2argvdata/console-virtio-ccw.args b/tests/qemuxml2argvdata/console-virtio-ccw.args
index a663029542..f8e012f4b7 100644
--- a/tests/qemuxml2argvdata/console-virtio-ccw.args
+++ b/tests/qemuxml2argvdata/console-virtio-ccw.args
@@ -25,8 +25,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-shutdown \
 -boot strict=on \
 -device virtio-serial-ccw,id=virtio-serial0,devno=fe.0.0001 \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-virtio-disk0 \
--device virtio-blk-ccw,devno=fe.0.0000,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device virtio-blk-ccw,devno=fe.0.0000,drive=libvirt-1-format,id=virtio-disk0,bootindex=1 \
 -chardev pty,id=charconsole0 \
 -device virtconsole,chardev=charconsole0,id=console0 \
 -audiodev '{"id":"audio1","driver":"none"}' \
diff --git a/tests/qemuxml2argvdata/console-virtio-many.args b/tests/qemuxml2argvdata/console-virtio-many.args
index 534d75fbee..33892634d5 100644
--- a/tests/qemuxml2argvdata/console-virtio-many.args
+++ b/tests/qemuxml2argvdata/console-virtio-many.args
@@ -27,8 +27,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -boot strict=on \
 -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x2 \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -chardev pty,id=charserial0 \
 -device isa-serial,chardev=charserial0,id=serial0,index=0 \
 -chardev pty,id=charconsole1 \
diff --git a/tests/qemuxml2argvdata/console-virtio.args b/tests/qemuxml2argvdata/console-virtio.args
index c11c01ed2f..5e3788fcc1 100644
--- a/tests/qemuxml2argvdata/console-virtio.args
+++ b/tests/qemuxml2argvdata/console-virtio.args
@@ -27,8 +27,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -boot strict=on \
 -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x2 \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -chardev pty,id=charconsole0 \
 -device virtconsole,chardev=charconsole0,id=console0 \
 -audiodev '{"id":"audio1","driver":"none"}' \
diff --git a/tests/qemuxml2argvdata/controller-order.args b/tests/qemuxml2argvdata/controller-order.args
index 9fcc9560f6..fd9eba459a 100644
--- a/tests/qemuxml2argvdata/controller-order.args
+++ b/tests/qemuxml2argvdata/controller-order.args
@@ -27,10 +27,12 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-fdr/.config \
 -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x7 \
 -device usb-hub,id=hub0,bus=usb.0,port=1 \
 -device usb-ccid,id=ccid0,bus=usb.0,port=1.1 \
--drive file=/tmp/fdr.img,format=raw,if=none,id=drive-virtio-disk0,cache=none,aio=native \
--device virtio-blk-pci,bus=pci.0,addr=0x5,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 \
--drive file=/tmp/Fedora-17-x86_64-Live-Desktop.iso,format=raw,if=none,id=drive-ide0-1-0,readonly=on \
--device ide-cd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \
+-blockdev '{"driver":"file","filename":"/tmp/fdr.img","aio":"native","node-name":"libvirt-2-storage","cache":{"direct":true,"no-flush":false},"auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-2-format","read-only":false,"cache":{"direct":true,"no-flush":false},"driver":"raw","file":"libvirt-2-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0x5,drive=libvirt-2-format,id=virtio-disk0,bootindex=1 \
+-blockdev '{"driver":"file","filename":"/tmp/Fedora-17-x86_64-Live-Desktop.iso","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":true,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-cd,bus=ide.1,unit=0,drive=libvirt-1-format,id=ide0-1-0 \
 -netdev user,id=hostnet0 \
 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:4d:4b:19,bootindex=2,bus=pci.0,addr=0x3 \
 -chardev spicevmc,id=charsmartcard0,name=smartcard \
diff --git a/tests/qemuxml2argvdata/cpu-host-passthrough-features.args b/tests/qemuxml2argvdata/cpu-host-passthrough-features.args
index 56597bafdf..4c87e1b5ad 100644
--- a/tests/qemuxml2argvdata/cpu-host-passthrough-features.args
+++ b/tests/qemuxml2argvdata/cpu-host-passthrough-features.args
@@ -27,8 +27,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/cputune-zero-shares.args b/tests/qemuxml2argvdata/cputune-zero-shares.args
index 2a5455dfaf..f30ed2fed6 100644
--- a/tests/qemuxml2argvdata/cputune-zero-shares.args
+++ b/tests/qemuxml2argvdata/cputune-zero-shares.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/cputune.args b/tests/qemuxml2argvdata/cputune.args
index 2a5455dfaf..f30ed2fed6 100644
--- a/tests/qemuxml2argvdata/cputune.args
+++ b/tests/qemuxml2argvdata/cputune.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-acpi-aarch64.args b/tests/qemuxml2argvdata/firmware-manual-efi-acpi-aarch64.args
index 3ff17a498e..8e89eb8e54 100644
--- a/tests/qemuxml2argvdata/firmware-manual-efi-acpi-aarch64.args
+++ b/tests/qemuxml2argvdata/firmware-manual-efi-acpi-aarch64.args
@@ -10,10 +10,12 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-guest/.config \
 -name guest=guest,debug-threads=on \
 -S \
 -object secret,id=masterKey0,format=raw,file=/tmp/lib/domain--1-guest/master-key.aes \
--machine virt,usb=off,dump-guest-core=off,gic-version=2 \
+-blockdev '{"driver":"file","filename":"/usr/share/AAVMF/AAVMF_CODE.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-pflash0-format","read-only":true,"driver":"raw","file":"libvirt-pflash0-storage"}' \
+-blockdev '{"driver":"file","filename":"/some/user/nvram/path/guest_VARS.fd","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \
+-machine virt,usb=off,dump-guest-core=off,gic-version=2,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format \
 -accel tcg \
--drive file=/usr/share/AAVMF/AAVMF_CODE.fd,if=pflash,format=raw,unit=0,readonly=on \
--drive file=/some/user/nvram/path/guest_VARS.fd,if=pflash,format=raw,unit=1 \
 -m 1024 \
 -overcommit mem-lock=off \
 -smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-acpi-q35.args b/tests/qemuxml2argvdata/firmware-manual-efi-acpi-q35.args
index 776f9fb467..08280c18ea 100644
--- a/tests/qemuxml2argvdata/firmware-manual-efi-acpi-q35.args
+++ b/tests/qemuxml2argvdata/firmware-manual-efi-acpi-q35.args
@@ -10,10 +10,12 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-guest/.config \
 -name guest=guest,debug-threads=on \
 -S \
 -object secret,id=masterKey0,format=raw,file=/tmp/lib/domain--1-guest/master-key.aes \
--machine q35,usb=off,dump-guest-core=off \
+-blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-pflash0-format","read-only":true,"driver":"raw","file":"libvirt-pflash0-storage"}' \
+-blockdev '{"driver":"file","filename":"/some/user/nvram/path/guest_VARS.fd","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \
+-machine q35,usb=off,dump-guest-core=off,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format \
 -accel tcg \
--drive file=/usr/share/OVMF/OVMF_CODE.fd,if=pflash,format=raw,unit=0,readonly=on \
--drive file=/some/user/nvram/path/guest_VARS.fd,if=pflash,format=raw,unit=1 \
 -m 1024 \
 -overcommit mem-lock=off \
 -smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-noacpi-aarch64.args b/tests/qemuxml2argvdata/firmware-manual-efi-noacpi-aarch64.args
index a0dcc22db2..b135a30201 100644
--- a/tests/qemuxml2argvdata/firmware-manual-efi-noacpi-aarch64.args
+++ b/tests/qemuxml2argvdata/firmware-manual-efi-noacpi-aarch64.args
@@ -10,10 +10,12 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-guest/.config \
 -name guest=guest,debug-threads=on \
 -S \
 -object secret,id=masterKey0,format=raw,file=/tmp/lib/domain--1-guest/master-key.aes \
--machine virt,usb=off,dump-guest-core=off,gic-version=2 \
+-blockdev '{"driver":"file","filename":"/usr/share/AAVMF/AAVMF_CODE.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-pflash0-format","read-only":true,"driver":"raw","file":"libvirt-pflash0-storage"}' \
+-blockdev '{"driver":"file","filename":"/some/user/nvram/path/guest_VARS.fd","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \
+-machine virt,usb=off,dump-guest-core=off,gic-version=2,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format \
 -accel tcg \
--drive file=/usr/share/AAVMF/AAVMF_CODE.fd,if=pflash,format=raw,unit=0,readonly=on \
--drive file=/some/user/nvram/path/guest_VARS.fd,if=pflash,format=raw,unit=1 \
 -m 1024 \
 -overcommit mem-lock=off \
 -smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/firmware-manual-efi-secure.args b/tests/qemuxml2argvdata/firmware-manual-efi-secure.args
index 94ee0e48c0..996acbb244 100644
--- a/tests/qemuxml2argvdata/firmware-manual-efi-secure.args
+++ b/tests/qemuxml2argvdata/firmware-manual-efi-secure.args
@@ -10,11 +10,13 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-test-bios/.config \
 -name guest=test-bios,debug-threads=on \
 -S \
 -object secret,id=masterKey0,format=raw,file=/tmp/lib/domain--1-test-bios/master-key.aes \
--machine q35,usb=off,smm=on,dump-guest-core=off \
+-blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.secboot.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-pflash0-format","read-only":true,"driver":"raw","file":"libvirt-pflash0-storage"}' \
+-blockdev '{"driver":"file","filename":"/some/user/nvram/path/guest_VARS.fd","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \
+-machine q35,usb=off,smm=on,dump-guest-core=off,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format \
 -accel tcg \
 -global driver=cfi.pflash01,property=secure,value=on \
--drive file=/usr/share/OVMF/OVMF_CODE.secboot.fd,if=pflash,format=raw,unit=0,readonly=on \
--drive file=/some/user/nvram/path/guest_VARS.fd,if=pflash,format=raw,unit=1 \
 -m 1024 \
 -overcommit mem-lock=off \
 -smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/firmware-manual-efi.args b/tests/qemuxml2argvdata/firmware-manual-efi.args
index 8fb23cc1e6..1ee322bf08 100644
--- a/tests/qemuxml2argvdata/firmware-manual-efi.args
+++ b/tests/qemuxml2argvdata/firmware-manual-efi.args
@@ -10,10 +10,12 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-test-bios/.config \
 -name guest=test-bios,debug-threads=on \
 -S \
 -object secret,id=masterKey0,format=raw,file=/tmp/lib/domain--1-test-bios/master-key.aes \
--machine pc,usb=off,dump-guest-core=off \
+-blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-pflash0-format","read-only":true,"driver":"raw","file":"libvirt-pflash0-storage"}' \
+-blockdev '{"driver":"file","filename":"/some/user/nvram/path/guest_VARS.fd","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \
+-machine pc,usb=off,dump-guest-core=off,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format \
 -accel tcg \
--drive file=/usr/share/OVMF/OVMF_CODE.fd,if=pflash,format=raw,unit=0,readonly=on \
--drive file=/some/user/nvram/path/guest_VARS.fd,if=pflash,format=raw,unit=1 \
 -m 1024 \
 -overcommit mem-lock=off \
 -smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/graphics-dbus-audio.args b/tests/qemuxml2argvdata/graphics-dbus-audio.args
index 968dddfd89..a222d5d88a 100644
--- a/tests/qemuxml2argvdata/graphics-dbus-audio.args
+++ b/tests/qemuxml2argvdata/graphics-dbus-audio.args
@@ -25,8 +25,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"dbus","in":{"mixing-engine":false},"out":{"mixing-engine":false}}' \
 -display dbus,p2p=on,audiodev=audio1 \
 -device cirrus-vga,id=video0,bus=pci.0,addr=0x2 \
diff --git a/tests/qemuxml2argvdata/graphics-egl-headless.args b/tests/qemuxml2argvdata/graphics-egl-headless.args
index 9b667f573c..ec3ffc1cad 100644
--- a/tests/qemuxml2argvdata/graphics-egl-headless.args
+++ b/tests/qemuxml2argvdata/graphics-egl-headless.args
@@ -25,8 +25,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -display egl-headless \
 -device cirrus-vga,id=video0,bus=pci.0,addr=0x2 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/graphics-sdl-fullscreen.args b/tests/qemuxml2argvdata/graphics-sdl-fullscreen.args
index f1592fc5b7..11750f7473 100644
--- a/tests/qemuxml2argvdata/graphics-sdl-fullscreen.args
+++ b/tests/qemuxml2argvdata/graphics-sdl-fullscreen.args
@@ -27,8 +27,9 @@ DISPLAY=:0.1 \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -full-screen \
 -display sdl \
 -device cirrus-vga,id=video0,bus=pci.0,addr=0x2 \
diff --git a/tests/qemuxml2argvdata/graphics-sdl.args b/tests/qemuxml2argvdata/graphics-sdl.args
index ffa1114f0a..5c5d373a7c 100644
--- a/tests/qemuxml2argvdata/graphics-sdl.args
+++ b/tests/qemuxml2argvdata/graphics-sdl.args
@@ -27,8 +27,9 @@ DISPLAY=:0.1 \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -display sdl \
 -device VGA,id=video0,bus=pci.0,addr=0x2 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/hostdev-scsi-vhost-scsi-ccw.args b/tests/qemuxml2argvdata/hostdev-scsi-vhost-scsi-ccw.args
index fa3ef73d7b..2a901ef650 100644
--- a/tests/qemuxml2argvdata/hostdev-scsi-vhost-scsi-ccw.args
+++ b/tests/qemuxml2argvdata/hostdev-scsi-vhost-scsi-ccw.args
@@ -25,8 +25,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest2/.config \
 -no-shutdown \
 -boot strict=on \
 -device virtio-scsi-ccw,id=scsi0,devno=fe.0.0001 \
--drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,id=drive-virtio-disk0 \
--device virtio-blk-ccw,devno=fe.0.0000,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest2","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device virtio-blk-ccw,devno=fe.0.0000,drive=libvirt-1-format,id=virtio-disk0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device vhost-scsi-ccw,wwpn=naa.5123456789abcde0,vhostfd=3,id=hostdev0,devno=fe.0.0002 \
 -device virtio-balloon-ccw,id=balloon0,devno=fe.0.0003 \
diff --git a/tests/qemuxml2argvdata/hostdev-scsi-vhost-scsi-pci.args b/tests/qemuxml2argvdata/hostdev-scsi-vhost-scsi-pci.args
index d322962660..88c62b1c4f 100644
--- a/tests/qemuxml2argvdata/hostdev-scsi-vhost-scsi-pci.args
+++ b/tests/qemuxml2argvdata/hostdev-scsi-vhost-scsi-pci.args
@@ -27,8 +27,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest2/.config \
 -boot strict=on \
 -device virtio-scsi-pci,id=scsi0,bus=pci.0,addr=0x3 \
 -usb \
--drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest2","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device vhost-scsi-pci,wwpn=naa.5123456789abcde0,vhostfd=3,id=hostdev0,bus=pci.0,addr=0x2 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4 \
diff --git a/tests/qemuxml2argvdata/hostdev-vfio-multidomain.args b/tests/qemuxml2argvdata/hostdev-vfio-multidomain.args
index eb113edeeb..8b2002a986 100644
--- a/tests/qemuxml2argvdata/hostdev-vfio-multidomain.args
+++ b/tests/qemuxml2argvdata/hostdev-vfio-multidomain.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest2/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest2","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device vfio-pci,host=0021:de:1f.1,id=hostdev0,bus=pci.0,addr=0x2 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 \
diff --git a/tests/qemuxml2argvdata/hostdev-vfio.args b/tests/qemuxml2argvdata/hostdev-vfio.args
index fcdf5f8aeb..a05305439e 100644
--- a/tests/qemuxml2argvdata/hostdev-vfio.args
+++ b/tests/qemuxml2argvdata/hostdev-vfio.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest2/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest2","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device vfio-pci,host=0000:06:12.1,id=hostdev0,bus=pci.0,addr=0x2 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 \
diff --git a/tests/qemuxml2argvdata/hugepages-memaccess.args b/tests/qemuxml2argvdata/hugepages-memaccess.args
index 03f6c3fc4f..2d9431dab1 100644
--- a/tests/qemuxml2argvdata/hugepages-memaccess.args
+++ b/tests/qemuxml2argvdata/hugepages-memaccess.args
@@ -36,8 +36,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -usb \
 -object memory-backend-file,id=memdimm0,mem-path=/dev/hugepages2M/libvirt/qemu/-1-QEMUGuest1,share=on,prealloc=on,size=536870912,host-nodes=0-3,policy=bind \
 -device pc-dimm,node=1,memdev=memdimm0,id=dimm0,slot=0,addr=4294967296 \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/hugepages-memaccess2.args b/tests/qemuxml2argvdata/hugepages-memaccess2.args
index f35001d39f..0264fc7da9 100644
--- a/tests/qemuxml2argvdata/hugepages-memaccess2.args
+++ b/tests/qemuxml2argvdata/hugepages-memaccess2.args
@@ -36,8 +36,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -usb \
 -object memory-backend-file,id=memdimm0,mem-path=/dev/hugepages2M/libvirt/qemu/-1-QEMUGuest1,share=on,prealloc=on,size=536870912,host-nodes=0-3,policy=bind \
 -device pc-dimm,node=1,memdev=memdimm0,id=dimm0,slot=0,addr=4294967296 \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/hugepages-shared.args b/tests/qemuxml2argvdata/hugepages-shared.args
index 37f9ae9efa..08ce2f49cd 100644
--- a/tests/qemuxml2argvdata/hugepages-shared.args
+++ b/tests/qemuxml2argvdata/hugepages-shared.args
@@ -34,8 +34,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/hvf-aarch64-virt-headless.args b/tests/qemuxml2argvdata/hvf-aarch64-virt-headless.args
index 5de677d678..320e5f90ff 100644
--- a/tests/qemuxml2argvdata/hvf-aarch64-virt-headless.args
+++ b/tests/qemuxml2argvdata/hvf-aarch64-virt-headless.args
@@ -10,10 +10,12 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-test/.config \
 -name guest=test,debug-threads=on \
 -S \
 -object secret,id=masterKey0,format=raw,file=/tmp/lib/domain--1-test/master-key.aes \
--machine virt,usb=off,dump-guest-core=off,gic-version=2 \
+-blockdev '{"driver":"file","filename":"/usr/share/edk2/aarch64/QEMU_EFI-silent-pflash.raw","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-pflash0-format","read-only":true,"driver":"raw","file":"libvirt-pflash0-storage"}' \
+-blockdev '{"driver":"file","filename":"/some/user/nvram/path/guest_VARS.fd","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"}' \
+-machine virt,usb=off,dump-guest-core=off,gic-version=2,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format \
 -accel hvf \
--drive file=/usr/share/edk2/aarch64/QEMU_EFI-silent-pflash.raw,if=pflash,format=raw,unit=0,readonly=on \
--drive file=/some/user/nvram/path/guest_VARS.fd,if=pflash,format=raw,unit=1 \
 -m 4096 \
 -overcommit mem-lock=off \
 -smp 2,sockets=2,cores=1,threads=1 \
@@ -33,8 +35,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-test/.config \
 -device pcie-root-port,port=12,chassis=5,id=pci.5,bus=pcie.0,addr=0x1.0x4 \
 -device pcie-root-port,port=13,chassis=6,id=pci.6,bus=pcie.0,addr=0x1.0x5 \
 -device virtio-serial-pci,id=virtio-serial0,bus=pci.2,addr=0x0 \
--drive file=/var/lib/libvirt/images/test.qcow2,format=qcow2,if=none,id=drive-virtio-disk0 \
--device virtio-blk-pci,bus=pci.3,addr=0x0,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/test.qcow2","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"qcow2","file":"libvirt-1-storage"}' \
+-device virtio-blk-pci,bus=pci.3,addr=0x0,drive=libvirt-1-format,id=virtio-disk0,bootindex=1 \
 -netdev user,id=hostnet0 \
 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:9a:e6:c6,bus=pci.1,addr=0x0 \
 -chardev pty,id=charserial0 \
diff --git a/tests/qemuxml2argvdata/hvf-x86_64-q35-headless.args b/tests/qemuxml2argvdata/hvf-x86_64-q35-headless.args
index a9b30271d4..8272c0792b 100644
--- a/tests/qemuxml2argvdata/hvf-x86_64-q35-headless.args
+++ b/tests/qemuxml2argvdata/hvf-x86_64-q35-headless.args
@@ -32,8 +32,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-test/.config \
 -device pcie-root-port,port=12,chassis=5,id=pci.5,bus=pcie.0,addr=0x1.0x4 \
 -device pcie-root-port,port=13,chassis=6,id=pci.6,bus=pcie.0,addr=0x1.0x5 \
 -device virtio-serial-pci,id=virtio-serial0,bus=pci.2,addr=0x0 \
--drive file=/var/lib/libvirt/images/test.qcow2,format=qcow2,if=none,id=drive-virtio-disk0 \
--device virtio-blk-pci,bus=pci.3,addr=0x0,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/test.qcow2","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"qcow2","file":"libvirt-1-storage"}' \
+-device virtio-blk-pci,bus=pci.3,addr=0x0,drive=libvirt-1-format,id=virtio-disk0,bootindex=1 \
 -netdev user,id=hostnet0 \
 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:9a:e6:c6,bus=pci.1,addr=0x0 \
 -chardev pty,id=charserial0 \
diff --git a/tests/qemuxml2argvdata/input-usbmouse-addr.args b/tests/qemuxml2argvdata/input-usbmouse-addr.args
index 286582b06d..f70425ca30 100644
--- a/tests/qemuxml2argvdata/input-usbmouse-addr.args
+++ b/tests/qemuxml2argvdata/input-usbmouse-addr.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -device usb-mouse,id=input0,bus=usb.0,port=2 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
diff --git a/tests/qemuxml2argvdata/input-usbmouse.args b/tests/qemuxml2argvdata/input-usbmouse.args
index f13ac6625a..f507078fcb 100644
--- a/tests/qemuxml2argvdata/input-usbmouse.args
+++ b/tests/qemuxml2argvdata/input-usbmouse.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -device usb-mouse,id=input0,bus=usb.0,port=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/input-usbtablet.args b/tests/qemuxml2argvdata/input-usbtablet.args
index 53df43196d..7345200ba3 100644
--- a/tests/qemuxml2argvdata/input-usbtablet.args
+++ b/tests/qemuxml2argvdata/input-usbtablet.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -device usb-tablet,id=input0,bus=usb.0,port=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/input-virtio-ccw.args b/tests/qemuxml2argvdata/input-virtio-ccw.args
index a99eca6353..2f3edb5723 100644
--- a/tests/qemuxml2argvdata/input-virtio-ccw.args
+++ b/tests/qemuxml2argvdata/input-virtio-ccw.args
@@ -24,8 +24,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -rtc base=utc \
 -no-shutdown \
 -boot strict=on \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-virtio-disk0 \
--device virtio-blk-ccw,devno=fe.0.0000,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device virtio-blk-ccw,devno=fe.0.0000,drive=libvirt-1-format,id=virtio-disk0,bootindex=1 \
 -device virtio-keyboard-ccw,id=input0,devno=fe.0.0002 \
 -device virtio-mouse-ccw,id=input1,devno=fe.0.0003 \
 -device virtio-tablet-ccw,id=input2,devno=fe.0.0004 \
diff --git a/tests/qemuxml2argvdata/iothreads-disk-virtio-ccw.args b/tests/qemuxml2argvdata/iothreads-disk-virtio-ccw.args
index 4a487475d6..4bd4749d2b 100644
--- a/tests/qemuxml2argvdata/iothreads-disk-virtio-ccw.args
+++ b/tests/qemuxml2argvdata/iothreads-disk-virtio-ccw.args
@@ -26,10 +26,12 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -rtc base=utc \
 -no-shutdown \
 -boot strict=on \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-virtio-disk0 \
--device virtio-blk-ccw,iothread=iothread1,devno=fe.0.0000,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 \
--drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,id=drive-virtio-disk1 \
--device virtio-blk-ccw,iothread=iothread2,devno=0.0.0007,drive=drive-virtio-disk1,id=virtio-disk1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-2-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-2-format","read-only":false,"driver":"raw","file":"libvirt-2-storage"}' \
+-device virtio-blk-ccw,iothread=iothread1,devno=fe.0.0000,drive=libvirt-2-format,id=virtio-disk0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest2","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device virtio-blk-ccw,iothread=iothread2,devno=0.0.0007,drive=libvirt-1-format,id=virtio-disk1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-ccw,id=balloon0,devno=fe.0.000a \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/iothreads-disk.args b/tests/qemuxml2argvdata/iothreads-disk.args
index 8a4109872e..ef80cf4008 100644
--- a/tests/qemuxml2argvdata/iothreads-disk.args
+++ b/tests/qemuxml2argvdata/iothreads-disk.args
@@ -28,11 +28,14 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
--drive file=/var/lib/libvirt/images/iothrtest1.img,format=raw,if=none,id=drive-virtio-disk1 \
--device virtio-blk-pci,iothread=iothread1,bus=pci.0,addr=0x4,drive=drive-virtio-disk1,id=virtio-disk1 \
--drive file=/var/lib/libvirt/images/iothrtest2.img,format=raw,if=none,id=drive-virtio-disk2 \
--device virtio-blk-pci,iothread=iothread2,bus=pci.0,addr=0x2,drive=drive-virtio-disk2,id=virtio-disk2 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-3-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-3-format","read-only":false,"driver":"raw","file":"libvirt-3-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-3-format,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/iothrtest1.img","node-name":"libvirt-2-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-2-format","read-only":false,"driver":"raw","file":"libvirt-2-storage"}' \
+-device virtio-blk-pci,iothread=iothread1,bus=pci.0,addr=0x4,drive=libvirt-2-format,id=virtio-disk1 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/iothrtest2.img","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device virtio-blk-pci,iothread=iothread2,bus=pci.0,addr=0x2,drive=libvirt-1-format,id=virtio-disk2 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/iothreads-ids-partial.args b/tests/qemuxml2argvdata/iothreads-ids-partial.args
index 5eadf315db..a20f6e68bf 100644
--- a/tests/qemuxml2argvdata/iothreads-ids-partial.args
+++ b/tests/qemuxml2argvdata/iothreads-ids-partial.args
@@ -30,7 +30,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/iothreads-ids.args b/tests/qemuxml2argvdata/iothreads-ids.args
index f591475f10..ddb79f9bef 100644
--- a/tests/qemuxml2argvdata/iothreads-ids.args
+++ b/tests/qemuxml2argvdata/iothreads-ids.args
@@ -28,7 +28,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/iothreads.args b/tests/qemuxml2argvdata/iothreads.args
index e6e6e2b99b..88e6fa4906 100644
--- a/tests/qemuxml2argvdata/iothreads.args
+++ b/tests/qemuxml2argvdata/iothreads.args
@@ -28,7 +28,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/kvm-pit-delay.args b/tests/qemuxml2argvdata/kvm-pit-delay.args
index f8cc371367..6775184baa 100644
--- a/tests/qemuxml2argvdata/kvm-pit-delay.args
+++ b/tests/qemuxml2argvdata/kvm-pit-delay.args
@@ -27,8 +27,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/kvm-pit-discard.args b/tests/qemuxml2argvdata/kvm-pit-discard.args
index e9cc6a7576..dddcdf719d 100644
--- a/tests/qemuxml2argvdata/kvm-pit-discard.args
+++ b/tests/qemuxml2argvdata/kvm-pit-discard.args
@@ -27,8 +27,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/machine-aeskeywrap-off-cap.args b/tests/qemuxml2argvdata/machine-aeskeywrap-off-cap.args
index cdaa726832..aea6c825c2 100644
--- a/tests/qemuxml2argvdata/machine-aeskeywrap-off-cap.args
+++ b/tests/qemuxml2argvdata/machine-aeskeywrap-off-cap.args
@@ -24,7 +24,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -rtc base=utc \
 -no-shutdown \
 -boot strict=on \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-virtio-disk0 \
--device virtio-blk-ccw,devno=fe.0.0000,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device virtio-blk-ccw,devno=fe.0.0000,drive=libvirt-1-format,id=virtio-disk0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/machine-aeskeywrap-off-caps.args b/tests/qemuxml2argvdata/machine-aeskeywrap-off-caps.args
index cdaa726832..aea6c825c2 100644
--- a/tests/qemuxml2argvdata/machine-aeskeywrap-off-caps.args
+++ b/tests/qemuxml2argvdata/machine-aeskeywrap-off-caps.args
@@ -24,7 +24,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -rtc base=utc \
 -no-shutdown \
 -boot strict=on \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-virtio-disk0 \
--device virtio-blk-ccw,devno=fe.0.0000,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device virtio-blk-ccw,devno=fe.0.0000,drive=libvirt-1-format,id=virtio-disk0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/machine-aeskeywrap-on-cap.args b/tests/qemuxml2argvdata/machine-aeskeywrap-on-cap.args
index 7987b3ed22..5fbd621003 100644
--- a/tests/qemuxml2argvdata/machine-aeskeywrap-on-cap.args
+++ b/tests/qemuxml2argvdata/machine-aeskeywrap-on-cap.args
@@ -24,7 +24,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -rtc base=utc \
 -no-shutdown \
 -boot strict=on \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-virtio-disk0 \
--device virtio-blk-ccw,devno=fe.0.0000,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device virtio-blk-ccw,devno=fe.0.0000,drive=libvirt-1-format,id=virtio-disk0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/machine-aeskeywrap-on-caps.args b/tests/qemuxml2argvdata/machine-aeskeywrap-on-caps.args
index 7987b3ed22..5fbd621003 100644
--- a/tests/qemuxml2argvdata/machine-aeskeywrap-on-caps.args
+++ b/tests/qemuxml2argvdata/machine-aeskeywrap-on-caps.args
@@ -24,7 +24,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -rtc base=utc \
 -no-shutdown \
 -boot strict=on \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-virtio-disk0 \
--device virtio-blk-ccw,devno=fe.0.0000,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device virtio-blk-ccw,devno=fe.0.0000,drive=libvirt-1-format,id=virtio-disk0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/machine-aliases1.args b/tests/qemuxml2argvdata/machine-aliases1.args
index c9f0f917a7..5e0b8b3165 100644
--- a/tests/qemuxml2argvdata/machine-aliases1.args
+++ b/tests/qemuxml2argvdata/machine-aliases1.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/machine-aliases2.args b/tests/qemuxml2argvdata/machine-aliases2.args
index 670a622d1c..78edd86425 100644
--- a/tests/qemuxml2argvdata/machine-aliases2.args
+++ b/tests/qemuxml2argvdata/machine-aliases2.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/machine-core-off.args b/tests/qemuxml2argvdata/machine-core-off.args
index 39bc2c0a6e..4029e9e1e6 100644
--- a/tests/qemuxml2argvdata/machine-core-off.args
+++ b/tests/qemuxml2argvdata/machine-core-off.args
@@ -26,7 +26,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/machine-core-on.args b/tests/qemuxml2argvdata/machine-core-on.args
index 1ff7a360fa..964bec75d5 100644
--- a/tests/qemuxml2argvdata/machine-core-on.args
+++ b/tests/qemuxml2argvdata/machine-core-on.args
@@ -26,7 +26,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/machine-deakeywrap-off-cap.args b/tests/qemuxml2argvdata/machine-deakeywrap-off-cap.args
index 77b3be6d58..f25dde8136 100644
--- a/tests/qemuxml2argvdata/machine-deakeywrap-off-cap.args
+++ b/tests/qemuxml2argvdata/machine-deakeywrap-off-cap.args
@@ -24,7 +24,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -rtc base=utc \
 -no-shutdown \
 -boot strict=on \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-virtio-disk0 \
--device virtio-blk-ccw,devno=fe.0.0000,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device virtio-blk-ccw,devno=fe.0.0000,drive=libvirt-1-format,id=virtio-disk0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/machine-deakeywrap-off-caps.args b/tests/qemuxml2argvdata/machine-deakeywrap-off-caps.args
index 77b3be6d58..f25dde8136 100644
--- a/tests/qemuxml2argvdata/machine-deakeywrap-off-caps.args
+++ b/tests/qemuxml2argvdata/machine-deakeywrap-off-caps.args
@@ -24,7 +24,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -rtc base=utc \
 -no-shutdown \
 -boot strict=on \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-virtio-disk0 \
--device virtio-blk-ccw,devno=fe.0.0000,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device virtio-blk-ccw,devno=fe.0.0000,drive=libvirt-1-format,id=virtio-disk0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/machine-deakeywrap-on-cap.args b/tests/qemuxml2argvdata/machine-deakeywrap-on-cap.args
index bd2632e2b6..78a1edbb3a 100644
--- a/tests/qemuxml2argvdata/machine-deakeywrap-on-cap.args
+++ b/tests/qemuxml2argvdata/machine-deakeywrap-on-cap.args
@@ -24,7 +24,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -rtc base=utc \
 -no-shutdown \
 -boot strict=on \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-virtio-disk0 \
--device virtio-blk-ccw,devno=fe.0.0000,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device virtio-blk-ccw,devno=fe.0.0000,drive=libvirt-1-format,id=virtio-disk0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/machine-deakeywrap-on-caps.args b/tests/qemuxml2argvdata/machine-deakeywrap-on-caps.args
index bd2632e2b6..78a1edbb3a 100644
--- a/tests/qemuxml2argvdata/machine-deakeywrap-on-caps.args
+++ b/tests/qemuxml2argvdata/machine-deakeywrap-on-caps.args
@@ -24,7 +24,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -rtc base=utc \
 -no-shutdown \
 -boot strict=on \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-virtio-disk0 \
--device virtio-blk-ccw,devno=fe.0.0000,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device virtio-blk-ccw,devno=fe.0.0000,drive=libvirt-1-format,id=virtio-disk0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/machine-keywrap-none-caps.args b/tests/qemuxml2argvdata/machine-keywrap-none-caps.args
index 83fd401afa..0f00797b16 100644
--- a/tests/qemuxml2argvdata/machine-keywrap-none-caps.args
+++ b/tests/qemuxml2argvdata/machine-keywrap-none-caps.args
@@ -24,7 +24,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -rtc base=utc \
 -no-shutdown \
 -boot strict=on \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-virtio-disk0 \
--device virtio-blk-ccw,devno=fe.0.0000,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device virtio-blk-ccw,devno=fe.0.0000,drive=libvirt-1-format,id=virtio-disk0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/machine-keywrap-none.args b/tests/qemuxml2argvdata/machine-keywrap-none.args
index 83fd401afa..0f00797b16 100644
--- a/tests/qemuxml2argvdata/machine-keywrap-none.args
+++ b/tests/qemuxml2argvdata/machine-keywrap-none.args
@@ -24,7 +24,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -rtc base=utc \
 -no-shutdown \
 -boot strict=on \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-virtio-disk0 \
--device virtio-blk-ccw,devno=fe.0.0000,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device virtio-blk-ccw,devno=fe.0.0000,drive=libvirt-1-format,id=virtio-disk0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/machine-loadparm-multiple-disks-nets-s390.args b/tests/qemuxml2argvdata/machine-loadparm-multiple-disks-nets-s390.args
index d544f88a17..bf8ef54fb9 100644
--- a/tests/qemuxml2argvdata/machine-loadparm-multiple-disks-nets-s390.args
+++ b/tests/qemuxml2argvdata/machine-loadparm-multiple-disks-nets-s390.args
@@ -24,10 +24,12 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -rtc base=utc \
 -no-shutdown \
 -boot strict=on \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-virtio-disk0 \
--device virtio-blk-ccw,devno=fe.0.0002,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 \
--drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,id=drive-virtio-disk1 \
--device virtio-blk-ccw,devno=fe.0.0003,drive=drive-virtio-disk1,id=virtio-disk1,bootindex=3 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-2-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-2-format","read-only":false,"driver":"raw","file":"libvirt-2-storage"}' \
+-device virtio-blk-ccw,devno=fe.0.0002,drive=libvirt-2-format,id=virtio-disk0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest2","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device virtio-blk-ccw,devno=fe.0.0003,drive=libvirt-1-format,id=virtio-disk1,bootindex=3 \
 -netdev user,id=hostnet0 \
 -device virtio-net-ccw,netdev=hostnet0,id=net0,mac=00:11:22:33:44:54,bootindex=2,devno=fe.0.0000 \
 -netdev user,id=hostnet1 \
diff --git a/tests/qemuxml2argvdata/machine-loadparm-s390.args b/tests/qemuxml2argvdata/machine-loadparm-s390.args
index d6a7b8faa5..deb4747e94 100644
--- a/tests/qemuxml2argvdata/machine-loadparm-s390.args
+++ b/tests/qemuxml2argvdata/machine-loadparm-s390.args
@@ -24,8 +24,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -rtc base=utc \
 -no-shutdown \
 -boot strict=on \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-virtio-disk0 \
--device virtio-blk-ccw,devno=fe.0.0000,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device virtio-blk-ccw,devno=fe.0.0000,drive=libvirt-1-format,id=virtio-disk0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-ccw,id=balloon0,devno=fe.0.0001 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/machine-vmport-opt.args b/tests/qemuxml2argvdata/machine-vmport-opt.args
index 8b411a83d2..e855102e34 100644
--- a/tests/qemuxml2argvdata/machine-vmport-opt.args
+++ b/tests/qemuxml2argvdata/machine-vmport-opt.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/master-key.args b/tests/qemuxml2argvdata/master-key.args
index aea6e71c84..ecd2a9ac12 100644
--- a/tests/qemuxml2argvdata/master-key.args
+++ b/tests/qemuxml2argvdata/master-key.args
@@ -26,7 +26,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/memory-hotplug-dimm-addr.args b/tests/qemuxml2argvdata/memory-hotplug-dimm-addr.args
index 00d3180c73..adab0dd027 100644
--- a/tests/qemuxml2argvdata/memory-hotplug-dimm-addr.args
+++ b/tests/qemuxml2argvdata/memory-hotplug-dimm-addr.args
@@ -31,8 +31,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -device pc-dimm,node=0,memdev=memdimm0,id=dimm0,slot=0,addr=4294967296 \
 -object memory-backend-ram,id=memdimm2,size=536870912 \
 -device pc-dimm,node=0,memdev=memdimm2,id=dimm2,slot=2 \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/memory-hotplug-dimm.args b/tests/qemuxml2argvdata/memory-hotplug-dimm.args
index c4497f5040..90c409754f 100644
--- a/tests/qemuxml2argvdata/memory-hotplug-dimm.args
+++ b/tests/qemuxml2argvdata/memory-hotplug-dimm.args
@@ -31,8 +31,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -device pc-dimm,node=0,memdev=memdimm0,id=dimm0,slot=0 \
 -object memory-backend-file,id=memdimm1,mem-path=/dev/hugepages2M/libvirt/qemu/-1-QEMUGuest1,prealloc=on,size=536870912,host-nodes=1-3,policy=bind \
 -device pc-dimm,node=0,memdev=memdimm1,id=dimm1,slot=1 \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/memory-hotplug.args b/tests/qemuxml2argvdata/memory-hotplug.args
index d4e717e8f9..b14cd89743 100644
--- a/tests/qemuxml2argvdata/memory-hotplug.args
+++ b/tests/qemuxml2argvdata/memory-hotplug.args
@@ -27,8 +27,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/memtune-unlimited.args b/tests/qemuxml2argvdata/memtune-unlimited.args
index dbcb959334..24193d008b 100644
--- a/tests/qemuxml2argvdata/memtune-unlimited.args
+++ b/tests/qemuxml2argvdata/memtune-unlimited.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/memtune.args b/tests/qemuxml2argvdata/memtune.args
index dbcb959334..24193d008b 100644
--- a/tests/qemuxml2argvdata/memtune.args
+++ b/tests/qemuxml2argvdata/memtune.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/migrate.args b/tests/qemuxml2argvdata/migrate.args
index 4f67bef4ce..f308c8f364 100644
--- a/tests/qemuxml2argvdata/migrate.args
+++ b/tests/qemuxml2argvdata/migrate.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -incoming tcp:10.0.0.1:5000 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/minimal.args b/tests/qemuxml2argvdata/minimal.args
index dbcb959334..24193d008b 100644
--- a/tests/qemuxml2argvdata/minimal.args
+++ b/tests/qemuxml2argvdata/minimal.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/misc-acpi.args b/tests/qemuxml2argvdata/misc-acpi.args
index 052243cd9d..0c6045668a 100644
--- a/tests/qemuxml2argvdata/misc-acpi.args
+++ b/tests/qemuxml2argvdata/misc-acpi.args
@@ -25,7 +25,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-shutdown \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/misc-disable-s3.args b/tests/qemuxml2argvdata/misc-disable-s3.args
index 77729307bd..7eb5f2b3ab 100644
--- a/tests/qemuxml2argvdata/misc-disable-s3.args
+++ b/tests/qemuxml2argvdata/misc-disable-s3.args
@@ -27,7 +27,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -global PIIX4_PM.disable_s3=1 \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/misc-disable-suspends.args b/tests/qemuxml2argvdata/misc-disable-suspends.args
index 656922aa3e..e126d93f9b 100644
--- a/tests/qemuxml2argvdata/misc-disable-suspends.args
+++ b/tests/qemuxml2argvdata/misc-disable-suspends.args
@@ -28,7 +28,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -global PIIX4_PM.disable_s4=1 \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/misc-enable-s4.args b/tests/qemuxml2argvdata/misc-enable-s4.args
index 579d508a49..7074f8d9cb 100644
--- a/tests/qemuxml2argvdata/misc-enable-s4.args
+++ b/tests/qemuxml2argvdata/misc-enable-s4.args
@@ -27,7 +27,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -global PIIX4_PM.disable_s4=0 \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/misc-uuid.args b/tests/qemuxml2argvdata/misc-uuid.args
index 052243cd9d..0c6045668a 100644
--- a/tests/qemuxml2argvdata/misc-uuid.args
+++ b/tests/qemuxml2argvdata/misc-uuid.args
@@ -25,7 +25,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-shutdown \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/monitor-json.args b/tests/qemuxml2argvdata/monitor-json.args
index 65e9e5db26..b6ca2f46c0 100644
--- a/tests/qemuxml2argvdata/monitor-json.args
+++ b/tests/qemuxml2argvdata/monitor-json.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-encryptdisk/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/hda1,format=qcow2,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"file","filename":"/dev/hda1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"qcow2","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/multifunction-pci-device.args b/tests/qemuxml2argvdata/multifunction-pci-device.args
index 22f782a1f3..accb08bd33 100644
--- a/tests/qemuxml2argvdata/multifunction-pci-device.args
+++ b/tests/qemuxml2argvdata/multifunction-pci-device.args
@@ -35,8 +35,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -device lsi,id=scsi7,bus=pci.0,addr=0x4.0x6 \
 -device lsi,id=scsi8,bus=pci.0,addr=0x4.0x7 \
 -usb \
--drive file=/tmp/scsidisk.img,format=raw,if=none,id=drive-scsi0-0-0 \
--device scsi-hd,bus=scsi0.0,scsi-id=0,drive=drive-scsi0-0-0,id=scsi0-0-0,bootindex=1 \
+-blockdev '{"driver":"file","filename":"/tmp/scsidisk.img","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device scsi-hd,bus=scsi0.0,scsi-id=0,drive=libvirt-1-format,id=scsi0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/net-client.args b/tests/qemuxml2argvdata/net-client.args
index 4ae01d8b59..648942ff78 100644
--- a/tests/qemuxml2argvdata/net-client.args
+++ b/tests/qemuxml2argvdata/net-client.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -netdev socket,connect=192.168.0.1:5558,id=hostnet0 \
 -device rtl8139,netdev=hostnet0,id=net0,mac=52:54:00:8c:b9:05,bus=pci.0,addr=0x2 \
 -audiodev '{"id":"audio1","driver":"none"}' \
diff --git a/tests/qemuxml2argvdata/net-eth-hostip.args b/tests/qemuxml2argvdata/net-eth-hostip.args
index 517c7d0144..4e7b0074fc 100644
--- a/tests/qemuxml2argvdata/net-eth-hostip.args
+++ b/tests/qemuxml2argvdata/net-eth-hostip.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -netdev tap,fd=3,id=hostnet0 \
 -device rtl8139,netdev=hostnet0,id=net0,mac=00:11:22:33:44:55,bus=pci.0,addr=0x2 \
 -audiodev '{"id":"audio1","driver":"none"}' \
diff --git a/tests/qemuxml2argvdata/net-eth-ifname.args b/tests/qemuxml2argvdata/net-eth-ifname.args
index 517c7d0144..4e7b0074fc 100644
--- a/tests/qemuxml2argvdata/net-eth-ifname.args
+++ b/tests/qemuxml2argvdata/net-eth-ifname.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -netdev tap,fd=3,id=hostnet0 \
 -device rtl8139,netdev=hostnet0,id=net0,mac=00:11:22:33:44:55,bus=pci.0,addr=0x2 \
 -audiodev '{"id":"audio1","driver":"none"}' \
diff --git a/tests/qemuxml2argvdata/net-eth-names.args b/tests/qemuxml2argvdata/net-eth-names.args
index b639329316..518e16039f 100644
--- a/tests/qemuxml2argvdata/net-eth-names.args
+++ b/tests/qemuxml2argvdata/net-eth-names.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -netdev tap,fd=3,id=hostnet0 \
 -device rtl8139,netdev=hostnet0,id=net0,mac=00:11:22:33:44:55,bus=pci.0,addr=0x2 \
 -netdev tap,fd=3,id=hostnet1 \
diff --git a/tests/qemuxml2argvdata/net-eth-unmanaged-tap.args b/tests/qemuxml2argvdata/net-eth-unmanaged-tap.args
index 90d9e23b31..ea329d2537 100644
--- a/tests/qemuxml2argvdata/net-eth-unmanaged-tap.args
+++ b/tests/qemuxml2argvdata/net-eth-unmanaged-tap.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -netdev tap,fd=3,vhost=on,vhostfd=44,id=hostnet0 \
 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=fe:11:22:33:44:55,bus=pci.0,addr=0x2 \
 -audiodev '{"id":"audio1","driver":"none"}' \
diff --git a/tests/qemuxml2argvdata/net-eth.args b/tests/qemuxml2argvdata/net-eth.args
index 517c7d0144..4e7b0074fc 100644
--- a/tests/qemuxml2argvdata/net-eth.args
+++ b/tests/qemuxml2argvdata/net-eth.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -netdev tap,fd=3,id=hostnet0 \
 -device rtl8139,netdev=hostnet0,id=net0,mac=00:11:22:33:44:55,bus=pci.0,addr=0x2 \
 -audiodev '{"id":"audio1","driver":"none"}' \
diff --git a/tests/qemuxml2argvdata/net-hostdev-bootorder.args b/tests/qemuxml2argvdata/net-hostdev-bootorder.args
index 7467c91cd1..6475c8a3c2 100644
--- a/tests/qemuxml2argvdata/net-hostdev-bootorder.args
+++ b/tests/qemuxml2argvdata/net-hostdev-bootorder.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=2 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=2 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device vfio-pci,host=0000:03:07.1,id=hostdev0,bootindex=1,bus=pci.0,addr=0x2 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/net-hostdev-multidomain.args b/tests/qemuxml2argvdata/net-hostdev-multidomain.args
index 1dfe67a8d9..7a5a4dd91e 100644
--- a/tests/qemuxml2argvdata/net-hostdev-multidomain.args
+++ b/tests/qemuxml2argvdata/net-hostdev-multidomain.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device vfio-pci,host=2424:21:1c.6,id=hostdev0,bus=pci.0,addr=0x2 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 \
diff --git a/tests/qemuxml2argvdata/net-hostdev-vfio-multidomain.args b/tests/qemuxml2argvdata/net-hostdev-vfio-multidomain.args
index 247a7dd790..5c2e632473 100644
--- a/tests/qemuxml2argvdata/net-hostdev-vfio-multidomain.args
+++ b/tests/qemuxml2argvdata/net-hostdev-vfio-multidomain.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device vfio-pci,host=0021:de:1f.1,id=hostdev0,bus=pci.0,addr=0x2 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 \
diff --git a/tests/qemuxml2argvdata/net-hostdev-vfio.args b/tests/qemuxml2argvdata/net-hostdev-vfio.args
index d6ef6cc3da..f1c3722ce2 100644
--- a/tests/qemuxml2argvdata/net-hostdev-vfio.args
+++ b/tests/qemuxml2argvdata/net-hostdev-vfio.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device vfio-pci,host=0000:06:12.1,id=hostdev0,bus=pci.0,addr=0x2 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 \
diff --git a/tests/qemuxml2argvdata/net-hostdev.args b/tests/qemuxml2argvdata/net-hostdev.args
index 6bbb88307a..bed940c349 100644
--- a/tests/qemuxml2argvdata/net-hostdev.args
+++ b/tests/qemuxml2argvdata/net-hostdev.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device vfio-pci,host=0000:03:07.1,id=hostdev0,bus=pci.0,addr=0x2 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 \
diff --git a/tests/qemuxml2argvdata/net-mcast.args b/tests/qemuxml2argvdata/net-mcast.args
index bd8c3b07f8..d59b18933c 100644
--- a/tests/qemuxml2argvdata/net-mcast.args
+++ b/tests/qemuxml2argvdata/net-mcast.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -netdev socket,mcast=192.0.0.1:5558,id=hostnet0 \
 -device rtl8139,netdev=hostnet0,id=net0,mac=52:54:00:8c:b9:05,bus=pci.0,addr=0x2 \
 -audiodev '{"id":"audio1","driver":"none"}' \
diff --git a/tests/qemuxml2argvdata/net-server.args b/tests/qemuxml2argvdata/net-server.args
index 32d17e11d0..eec04c797f 100644
--- a/tests/qemuxml2argvdata/net-server.args
+++ b/tests/qemuxml2argvdata/net-server.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -netdev socket,listen=192.168.0.1:5558,id=hostnet0 \
 -device rtl8139,netdev=hostnet0,id=net0,mac=52:54:00:8c:b9:05,bus=pci.0,addr=0x2 \
 -audiodev '{"id":"audio1","driver":"none"}' \
diff --git a/tests/qemuxml2argvdata/net-udp.args b/tests/qemuxml2argvdata/net-udp.args
index 2100c0379d..5d8a1c3500 100644
--- a/tests/qemuxml2argvdata/net-udp.args
+++ b/tests/qemuxml2argvdata/net-udp.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -netdev socket,udp=192.168.10.1:5555,localaddr=192.168.10.1:5556,id=hostnet0 \
 -device rtl8139,netdev=hostnet0,id=net0,mac=52:54:00:8c:b9:05,bus=pci.0,addr=0x2 \
 -audiodev '{"id":"audio1","driver":"none"}' \
diff --git a/tests/qemuxml2argvdata/net-user-addr.args b/tests/qemuxml2argvdata/net-user-addr.args
index c71817ee53..1da3cec814 100644
--- a/tests/qemuxml2argvdata/net-user-addr.args
+++ b/tests/qemuxml2argvdata/net-user-addr.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -netdev user,net=172.17.2.0/24,ipv6-prefix=2001:db8:ac10:fd01::,ipv6-prefixlen=64,id=hostnet0 \
 -device rtl8139,netdev=hostnet0,id=net0,mac=00:11:22:33:44:55,bus=pci.0,addr=0x3 \
 -audiodev '{"id":"audio1","driver":"none"}' \
diff --git a/tests/qemuxml2argvdata/net-user.args b/tests/qemuxml2argvdata/net-user.args
index 993e9a39d4..c554f47608 100644
--- a/tests/qemuxml2argvdata/net-user.args
+++ b/tests/qemuxml2argvdata/net-user.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -netdev user,id=hostnet0 \
 -device rtl8139,netdev=hostnet0,id=net0,mac=00:11:22:33:44:55,bus=pci.0,addr=0x2 \
 -audiodev '{"id":"audio1","driver":"none"}' \
diff --git a/tests/qemuxml2argvdata/net-vhostuser-multiq.args b/tests/qemuxml2argvdata/net-vhostuser-multiq.args
index d56a52f88e..aa6a11dcad 100644
--- a/tests/qemuxml2argvdata/net-vhostuser-multiq.args
+++ b/tests/qemuxml2argvdata/net-vhostuser-multiq.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -chardev socket,id=charnet0,path=/tmp/vhost0.sock,server=on \
 -netdev vhost-user,chardev=charnet0,id=hostnet0 \
 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:ee:96:6b,bus=pci.0,addr=0x2 \
diff --git a/tests/qemuxml2argvdata/net-virtio-device.args b/tests/qemuxml2argvdata/net-virtio-device.args
index 0f7f959a86..fba098c2af 100644
--- a/tests/qemuxml2argvdata/net-virtio-device.args
+++ b/tests/qemuxml2argvdata/net-virtio-device.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -netdev user,id=hostnet0 \
 -device virtio-net-pci,tx=bh,netdev=hostnet0,id=net0,mac=00:11:22:33:44:55,bus=pci.0,addr=0x2 \
 -audiodev '{"id":"audio1","driver":"none"}' \
diff --git a/tests/qemuxml2argvdata/net-virtio-disable-offloads.args b/tests/qemuxml2argvdata/net-virtio-disable-offloads.args
index c0e690254c..3170b744ab 100644
--- a/tests/qemuxml2argvdata/net-virtio-disable-offloads.args
+++ b/tests/qemuxml2argvdata/net-virtio-disable-offloads.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest7,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest7","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -netdev user,id=hostnet0 \
 -device virtio-net-pci,csum=off,gso=off,host_tso4=off,host_tso6=off,host_ecn=off,host_ufo=off,mrg_rxbuf=off,guest_csum=off,guest_tso4=off,guest_tso6=off,guest_ecn=off,guest_ufo=off,netdev=hostnet0,id=net0,mac=00:22:44:66:88:aa,bus=pci.0,addr=0x2 \
 -audiodev '{"id":"audio1","driver":"none"}' \
diff --git a/tests/qemuxml2argvdata/net-virtio-netdev.args b/tests/qemuxml2argvdata/net-virtio-netdev.args
index 768e59f5c6..0ff052c0b7 100644
--- a/tests/qemuxml2argvdata/net-virtio-netdev.args
+++ b/tests/qemuxml2argvdata/net-virtio-netdev.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -netdev user,id=hostnet0 \
 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=00:11:22:33:44:55,bus=pci.0,addr=0x2 \
 -audiodev '{"id":"audio1","driver":"none"}' \
diff --git a/tests/qemuxml2argvdata/net-virtio-rxtxqueuesize.args b/tests/qemuxml2argvdata/net-virtio-rxtxqueuesize.args
index 94849c71e6..187174874c 100644
--- a/tests/qemuxml2argvdata/net-virtio-rxtxqueuesize.args
+++ b/tests/qemuxml2argvdata/net-virtio-rxtxqueuesize.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -netdev user,id=hostnet0 \
 -device virtio-net-pci,rx_queue_size=512,tx_queue_size=1024,netdev=hostnet0,id=net0,mac=00:11:22:33:44:55,bus=pci.0,addr=0x2 \
 -audiodev '{"id":"audio1","driver":"none"}' \
diff --git a/tests/qemuxml2argvdata/net-virtio-teaming-hostdev.args b/tests/qemuxml2argvdata/net-virtio-teaming-hostdev.args
index 93a7dc7037..1e779538ab 100644
--- a/tests/qemuxml2argvdata/net-virtio-teaming-hostdev.args
+++ b/tests/qemuxml2argvdata/net-virtio-teaming-hostdev.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -netdev user,id=hostua-backup0 \
 -device virtio-net-pci,failover=on,netdev=hostua-backup0,id=ua-backup0,mac=00:11:22:33:44:55,bus=pci.0,addr=0x3 \
 -netdev user,id=hostua-backup1 \
diff --git a/tests/qemuxml2argvdata/net-virtio-teaming.args b/tests/qemuxml2argvdata/net-virtio-teaming.args
index 9c6fb3b4e1..6a575b3b0d 100644
--- a/tests/qemuxml2argvdata/net-virtio-teaming.args
+++ b/tests/qemuxml2argvdata/net-virtio-teaming.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -netdev user,id=hostua-backup0 \
 -device virtio-net-pci,failover=on,netdev=hostua-backup0,id=ua-backup0,mac=00:11:22:33:44:55,bus=pci.0,addr=0x2 \
 -netdev user,id=hostua-backup1 \
diff --git a/tests/qemuxml2argvdata/net-virtio.args b/tests/qemuxml2argvdata/net-virtio.args
index 463d2cbf2f..eb6af65948 100644
--- a/tests/qemuxml2argvdata/net-virtio.args
+++ b/tests/qemuxml2argvdata/net-virtio.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -netdev user,id=hostnet0 \
 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=00:11:22:33:44:55,bus=pci.0,addr=0x2 \
 -audiodev '{"id":"audio1","driver":"none"}' \
diff --git a/tests/qemuxml2argvdata/nosharepages.args b/tests/qemuxml2argvdata/nosharepages.args
index 4a448f0d7b..9cce9b3b3b 100644
--- a/tests/qemuxml2argvdata/nosharepages.args
+++ b/tests/qemuxml2argvdata/nosharepages.args
@@ -26,7 +26,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/numad-auto-memory-vcpu-cpuset.args b/tests/qemuxml2argvdata/numad-auto-memory-vcpu-cpuset.args
index 2a5455dfaf..f30ed2fed6 100644
--- a/tests/qemuxml2argvdata/numad-auto-memory-vcpu-cpuset.args
+++ b/tests/qemuxml2argvdata/numad-auto-memory-vcpu-cpuset.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/numad-auto-memory-vcpu-no-cpuset-and-placement.args b/tests/qemuxml2argvdata/numad-auto-memory-vcpu-no-cpuset-and-placement.args
index 2a5455dfaf..f30ed2fed6 100644
--- a/tests/qemuxml2argvdata/numad-auto-memory-vcpu-no-cpuset-and-placement.args
+++ b/tests/qemuxml2argvdata/numad-auto-memory-vcpu-no-cpuset-and-placement.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/numad-auto-vcpu-static-numatune.args b/tests/qemuxml2argvdata/numad-auto-vcpu-static-numatune.args
index 2a5455dfaf..f30ed2fed6 100644
--- a/tests/qemuxml2argvdata/numad-auto-vcpu-static-numatune.args
+++ b/tests/qemuxml2argvdata/numad-auto-vcpu-static-numatune.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/numad-static-memory-auto-vcpu.args b/tests/qemuxml2argvdata/numad-static-memory-auto-vcpu.args
index 2a5455dfaf..f30ed2fed6 100644
--- a/tests/qemuxml2argvdata/numad-static-memory-auto-vcpu.args
+++ b/tests/qemuxml2argvdata/numad-static-memory-auto-vcpu.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/numad.args b/tests/qemuxml2argvdata/numad.args
index 2a5455dfaf..f30ed2fed6 100644
--- a/tests/qemuxml2argvdata/numad.args
+++ b/tests/qemuxml2argvdata/numad.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/numatune-auto-nodeset-invalid.args b/tests/qemuxml2argvdata/numatune-auto-nodeset-invalid.args
index 2a5455dfaf..f30ed2fed6 100644
--- a/tests/qemuxml2argvdata/numatune-auto-nodeset-invalid.args
+++ b/tests/qemuxml2argvdata/numatune-auto-nodeset-invalid.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/numatune-memory.args b/tests/qemuxml2argvdata/numatune-memory.args
index 2a5455dfaf..f30ed2fed6 100644
--- a/tests/qemuxml2argvdata/numatune-memory.args
+++ b/tests/qemuxml2argvdata/numatune-memory.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/parallel-parport-chardev.args b/tests/qemuxml2argvdata/parallel-parport-chardev.args
index 98d424d7b3..e3d3d6f3db 100644
--- a/tests/qemuxml2argvdata/parallel-parport-chardev.args
+++ b/tests/qemuxml2argvdata/parallel-parport-chardev.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -chardev parport,id=charparallel0,path=/dev/parport0 \
 -device isa-parallel,chardev=charparallel0,id=parallel0 \
 -audiodev '{"id":"audio1","driver":"none"}' \
diff --git a/tests/qemuxml2argvdata/parallel-tcp-chardev.args b/tests/qemuxml2argvdata/parallel-tcp-chardev.args
index 2066f97afb..042348b1c2 100644
--- a/tests/qemuxml2argvdata/parallel-tcp-chardev.args
+++ b/tests/qemuxml2argvdata/parallel-tcp-chardev.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -chardev socket,id=charparallel0,host=127.0.0.1,port=9999,server=on,wait=off \
 -device isa-parallel,chardev=charparallel0,id=parallel0 \
 -audiodev '{"id":"audio1","driver":"none"}' \
diff --git a/tests/qemuxml2argvdata/pci-autoadd-addr.args b/tests/qemuxml2argvdata/pci-autoadd-addr.args
index d3b4e9cf6f..3b27af4b71 100644
--- a/tests/qemuxml2argvdata/pci-autoadd-addr.args
+++ b/tests/qemuxml2argvdata/pci-autoadd-addr.args
@@ -32,8 +32,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-fdr-br/.config \
 -device pci-bridge,chassis_nr=6,id=pci.6,bus=pci.0,addr=0x8 \
 -device pci-bridge,chassis_nr=7,id=pci.7,bus=pci.0,addr=0x9 \
 -usb \
--drive file=/var/iso/f18kde.iso,format=raw,if=none,id=drive-ide0-1-0,readonly=on \
--device ide-cd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \
+-blockdev '{"driver":"file","filename":"/var/iso/f18kde.iso","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":true,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-cd,bus=ide.1,unit=0,drive=libvirt-1-format,id=ide0-1-0 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device cirrus-vga,id=video0,bus=pci.0,addr=0x2 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.7,addr=0x6 \
diff --git a/tests/qemuxml2argvdata/pci-autoadd-idx.args b/tests/qemuxml2argvdata/pci-autoadd-idx.args
index dbb7382918..780154952c 100644
--- a/tests/qemuxml2argvdata/pci-autoadd-idx.args
+++ b/tests/qemuxml2argvdata/pci-autoadd-idx.args
@@ -33,8 +33,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-fdr-br/.config \
 -device pci-bridge,chassis_nr=6,id=pci.6,bus=pci.0,addr=0x9 \
 -device pci-bridge,chassis_nr=7,id=pci.7,bus=pci.0,addr=0xa \
 -usb \
--drive file=/var/iso/f18kde.iso,format=raw,if=none,id=drive-ide0-1-0,readonly=on \
--device ide-cd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \
+-blockdev '{"driver":"file","filename":"/var/iso/f18kde.iso","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":true,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-cd,bus=ide.1,unit=0,drive=libvirt-1-format,id=ide0-1-0 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device cirrus-vga,id=video0,bus=pci.0,addr=0x2 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.4,addr=0x6 \
diff --git a/tests/qemuxml2argvdata/pci-autofill-addr.args b/tests/qemuxml2argvdata/pci-autofill-addr.args
index 98ae53988e..3314ddf387 100644
--- a/tests/qemuxml2argvdata/pci-autofill-addr.args
+++ b/tests/qemuxml2argvdata/pci-autofill-addr.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-fdr-br/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/var/iso/f18kde.iso,format=raw,if=none,id=drive-virtio-disk0,readonly=on \
--device virtio-blk-pci,bus=pci.0,addr=0x3,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 \
+-blockdev '{"driver":"file","filename":"/var/iso/f18kde.iso","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":true,"driver":"raw","file":"libvirt-1-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0x3,drive=libvirt-1-format,id=virtio-disk0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device cirrus-vga,id=video0,bus=pci.0,addr=0x2 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4 \
diff --git a/tests/qemuxml2argvdata/pci-bridge-many-disks.args b/tests/qemuxml2argvdata/pci-bridge-many-disks.args
index c6b8e73a18..d540e79c24 100644
--- a/tests/qemuxml2argvdata/pci-bridge-many-disks.args
+++ b/tests/qemuxml2argvdata/pci-bridge-many-disks.args
@@ -29,215 +29,320 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-lots-of-disks/.config \
 -device pci-bridge,chassis_nr=2,id=pci.2,bus=pci.0,addr=0x3 \
 -device pci-bridge,chassis_nr=3,id=pci.3,bus=pci.0,addr=0x4 \
 -usb \
--drive file=/var/lib/libvirt/images/test.img,format=raw,if=none,id=drive-virtio-disk0 \
--device virtio-blk-pci,bus=pci.0,addr=0x5,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 \
--drive file=/var/lib/libvirt/images/disk-a-a.img,format=raw,if=none,id=drive-virtio-disk26 \
--device virtio-blk-pci,bus=pci.0,addr=0x6,drive=drive-virtio-disk26,id=virtio-disk26 \
--drive file=/var/lib/libvirt/images/disk-a-b.img,format=raw,if=none,id=drive-virtio-disk27 \
--device virtio-blk-pci,bus=pci.0,addr=0x7,drive=drive-virtio-disk27,id=virtio-disk27 \
--drive file=/var/lib/libvirt/images/disk-a-c.img,format=raw,if=none,id=drive-virtio-disk28 \
--device virtio-blk-pci,bus=pci.0,addr=0x8,drive=drive-virtio-disk28,id=virtio-disk28 \
--drive file=/var/lib/libvirt/images/disk-a-d.img,format=raw,if=none,id=drive-virtio-disk29 \
--device virtio-blk-pci,bus=pci.0,addr=0x9,drive=drive-virtio-disk29,id=virtio-disk29 \
--drive file=/var/lib/libvirt/images/disk-b-a.img,format=raw,if=none,id=drive-virtio-disk52 \
--device virtio-blk-pci,bus=pci.0,addr=0xa,drive=drive-virtio-disk52,id=virtio-disk52 \
--drive file=/var/lib/libvirt/images/disk-b-b.img,format=raw,if=none,id=drive-virtio-disk53 \
--device virtio-blk-pci,bus=pci.0,addr=0xb,drive=drive-virtio-disk53,id=virtio-disk53 \
--drive file=/var/lib/libvirt/images/disk-b-c.img,format=raw,if=none,id=drive-virtio-disk54 \
--device virtio-blk-pci,bus=pci.0,addr=0xc,drive=drive-virtio-disk54,id=virtio-disk54 \
--drive file=/var/lib/libvirt/images/disk-b-d.img,format=raw,if=none,id=drive-virtio-disk55 \
--device virtio-blk-pci,bus=pci.0,addr=0xd,drive=drive-virtio-disk55,id=virtio-disk55 \
--drive file=/var/lib/libvirt/images/disk-c-a.img,format=raw,if=none,id=drive-virtio-disk78 \
--device virtio-blk-pci,bus=pci.0,addr=0xe,drive=drive-virtio-disk78,id=virtio-disk78 \
--drive file=/var/lib/libvirt/images/disk-c-b.img,format=raw,if=none,id=drive-virtio-disk79 \
--device virtio-blk-pci,bus=pci.0,addr=0xf,drive=drive-virtio-disk79,id=virtio-disk79 \
--drive file=/var/lib/libvirt/images/disk-c-c.img,format=raw,if=none,id=drive-virtio-disk80 \
--device virtio-blk-pci,bus=pci.0,addr=0x10,drive=drive-virtio-disk80,id=virtio-disk80 \
--drive file=/var/lib/libvirt/images/disk-c-d.img,format=raw,if=none,id=drive-virtio-disk81 \
--device virtio-blk-pci,bus=pci.0,addr=0x11,drive=drive-virtio-disk81,id=virtio-disk81 \
--drive file=/var/lib/libvirt/images/disk-d-a.img,format=raw,if=none,id=drive-virtio-disk104 \
--device virtio-blk-pci,bus=pci.0,addr=0x12,drive=drive-virtio-disk104,id=virtio-disk104 \
--drive file=/var/lib/libvirt/images/disk-d-b.img,format=raw,if=none,id=drive-virtio-disk105 \
--device virtio-blk-pci,bus=pci.0,addr=0x13,drive=drive-virtio-disk105,id=virtio-disk105 \
--drive file=/var/lib/libvirt/images/disk-d-c.img,format=raw,if=none,id=drive-virtio-disk106 \
--device virtio-blk-pci,bus=pci.0,addr=0x14,drive=drive-virtio-disk106,id=virtio-disk106 \
--drive file=/var/lib/libvirt/images/disk-d-d.img,format=raw,if=none,id=drive-virtio-disk107 \
--device virtio-blk-pci,bus=pci.0,addr=0x15,drive=drive-virtio-disk107,id=virtio-disk107 \
--drive file=/var/lib/libvirt/images/disk-e-a.img,format=raw,if=none,id=drive-virtio-disk130 \
--device virtio-blk-pci,bus=pci.0,addr=0x16,drive=drive-virtio-disk130,id=virtio-disk130 \
--drive file=/var/lib/libvirt/images/disk-e-b.img,format=raw,if=none,id=drive-virtio-disk131 \
--device virtio-blk-pci,bus=pci.0,addr=0x17,drive=drive-virtio-disk131,id=virtio-disk131 \
--drive file=/var/lib/libvirt/images/disk-e-c.img,format=raw,if=none,id=drive-virtio-disk132 \
--device virtio-blk-pci,bus=pci.0,addr=0x18,drive=drive-virtio-disk132,id=virtio-disk132 \
--drive file=/var/lib/libvirt/images/disk-e-d.img,format=raw,if=none,id=drive-virtio-disk133 \
--device virtio-blk-pci,bus=pci.0,addr=0x19,drive=drive-virtio-disk133,id=virtio-disk133 \
--drive file=/var/lib/libvirt/images/disk-f-a.img,format=raw,if=none,id=drive-virtio-disk156 \
--device virtio-blk-pci,bus=pci.0,addr=0x1a,drive=drive-virtio-disk156,id=virtio-disk156 \
--drive file=/var/lib/libvirt/images/disk-f-b.img,format=raw,if=none,id=drive-virtio-disk157 \
--device virtio-blk-pci,bus=pci.0,addr=0x1b,drive=drive-virtio-disk157,id=virtio-disk157 \
--drive file=/var/lib/libvirt/images/disk-f-c.img,format=raw,if=none,id=drive-virtio-disk158 \
--device virtio-blk-pci,bus=pci.0,addr=0x1c,drive=drive-virtio-disk158,id=virtio-disk158 \
--drive file=/var/lib/libvirt/images/disk-f-d.img,format=raw,if=none,id=drive-virtio-disk159 \
--device virtio-blk-pci,bus=pci.0,addr=0x1d,drive=drive-virtio-disk159,id=virtio-disk159 \
--drive file=/var/lib/libvirt/images/disk-g-a.img,format=raw,if=none,id=drive-virtio-disk182 \
--device virtio-blk-pci,bus=pci.0,addr=0x1e,drive=drive-virtio-disk182,id=virtio-disk182 \
--drive file=/var/lib/libvirt/images/disk-g-b.img,format=raw,if=none,id=drive-virtio-disk183 \
--device virtio-blk-pci,bus=pci.0,addr=0x1f,drive=drive-virtio-disk183,id=virtio-disk183 \
--drive file=/var/lib/libvirt/images/disk-g-c.img,format=raw,if=none,id=drive-virtio-disk184 \
--device virtio-blk-pci,bus=pci.1,addr=0x1,drive=drive-virtio-disk184,id=virtio-disk184 \
--drive file=/var/lib/libvirt/images/disk-g-d.img,format=raw,if=none,id=drive-virtio-disk185 \
--device virtio-blk-pci,bus=pci.1,addr=0x2,drive=drive-virtio-disk185,id=virtio-disk185 \
--drive file=/var/lib/libvirt/images/disk-h-a.img,format=raw,if=none,id=drive-virtio-disk208 \
--device virtio-blk-pci,bus=pci.1,addr=0x3,drive=drive-virtio-disk208,id=virtio-disk208 \
--drive file=/var/lib/libvirt/images/disk-h-b.img,format=raw,if=none,id=drive-virtio-disk209 \
--device virtio-blk-pci,bus=pci.1,addr=0x4,drive=drive-virtio-disk209,id=virtio-disk209 \
--drive file=/var/lib/libvirt/images/disk-h-c.img,format=raw,if=none,id=drive-virtio-disk210 \
--device virtio-blk-pci,bus=pci.1,addr=0x5,drive=drive-virtio-disk210,id=virtio-disk210 \
--drive file=/var/lib/libvirt/images/disk-h-d.img,format=raw,if=none,id=drive-virtio-disk211 \
--device virtio-blk-pci,bus=pci.1,addr=0x6,drive=drive-virtio-disk211,id=virtio-disk211 \
--drive file=/var/lib/libvirt/images/disk-i-a.img,format=raw,if=none,id=drive-virtio-disk234 \
--device virtio-blk-pci,bus=pci.1,addr=0x7,drive=drive-virtio-disk234,id=virtio-disk234 \
--drive file=/var/lib/libvirt/images/disk-i-b.img,format=raw,if=none,id=drive-virtio-disk235 \
--device virtio-blk-pci,bus=pci.1,addr=0x8,drive=drive-virtio-disk235,id=virtio-disk235 \
--drive file=/var/lib/libvirt/images/disk-i-c.img,format=raw,if=none,id=drive-virtio-disk236 \
--device virtio-blk-pci,bus=pci.1,addr=0x9,drive=drive-virtio-disk236,id=virtio-disk236 \
--drive file=/var/lib/libvirt/images/disk-i-d.img,format=raw,if=none,id=drive-virtio-disk237 \
--device virtio-blk-pci,bus=pci.1,addr=0xa,drive=drive-virtio-disk237,id=virtio-disk237 \
--drive file=/var/lib/libvirt/images/disk-j-a.img,format=raw,if=none,id=drive-virtio-disk260 \
--device virtio-blk-pci,bus=pci.1,addr=0xb,drive=drive-virtio-disk260,id=virtio-disk260 \
--drive file=/var/lib/libvirt/images/disk-j-b.img,format=raw,if=none,id=drive-virtio-disk261 \
--device virtio-blk-pci,bus=pci.1,addr=0xc,drive=drive-virtio-disk261,id=virtio-disk261 \
--drive file=/var/lib/libvirt/images/disk-j-c.img,format=raw,if=none,id=drive-virtio-disk262 \
--device virtio-blk-pci,bus=pci.1,addr=0xd,drive=drive-virtio-disk262,id=virtio-disk262 \
--drive file=/var/lib/libvirt/images/disk-j-d.img,format=raw,if=none,id=drive-virtio-disk263 \
--device virtio-blk-pci,bus=pci.1,addr=0xe,drive=drive-virtio-disk263,id=virtio-disk263 \
--drive file=/var/lib/libvirt/images/disk-k-a.img,format=raw,if=none,id=drive-virtio-disk286 \
--device virtio-blk-pci,bus=pci.1,addr=0xf,drive=drive-virtio-disk286,id=virtio-disk286 \
--drive file=/var/lib/libvirt/images/disk-k-b.img,format=raw,if=none,id=drive-virtio-disk287 \
--device virtio-blk-pci,bus=pci.1,addr=0x10,drive=drive-virtio-disk287,id=virtio-disk287 \
--drive file=/var/lib/libvirt/images/disk-k-c.img,format=raw,if=none,id=drive-virtio-disk288 \
--device virtio-blk-pci,bus=pci.1,addr=0x11,drive=drive-virtio-disk288,id=virtio-disk288 \
--drive file=/var/lib/libvirt/images/disk-k-d.img,format=raw,if=none,id=drive-virtio-disk289 \
--device virtio-blk-pci,bus=pci.1,addr=0x12,drive=drive-virtio-disk289,id=virtio-disk289 \
--drive file=/var/lib/libvirt/images/disk-l-a.img,format=raw,if=none,id=drive-virtio-disk312 \
--device virtio-blk-pci,bus=pci.1,addr=0x13,drive=drive-virtio-disk312,id=virtio-disk312 \
--drive file=/var/lib/libvirt/images/disk-l-b.img,format=raw,if=none,id=drive-virtio-disk313 \
--device virtio-blk-pci,bus=pci.1,addr=0x14,drive=drive-virtio-disk313,id=virtio-disk313 \
--drive file=/var/lib/libvirt/images/disk-l-c.img,format=raw,if=none,id=drive-virtio-disk314 \
--device virtio-blk-pci,bus=pci.1,addr=0x15,drive=drive-virtio-disk314,id=virtio-disk314 \
--drive file=/var/lib/libvirt/images/disk-l-d.img,format=raw,if=none,id=drive-virtio-disk315 \
--device virtio-blk-pci,bus=pci.1,addr=0x16,drive=drive-virtio-disk315,id=virtio-disk315 \
--drive file=/var/lib/libvirt/images/disk-m-a.img,format=raw,if=none,id=drive-virtio-disk338 \
--device virtio-blk-pci,bus=pci.1,addr=0x17,drive=drive-virtio-disk338,id=virtio-disk338 \
--drive file=/var/lib/libvirt/images/disk-m-b.img,format=raw,if=none,id=drive-virtio-disk339 \
--device virtio-blk-pci,bus=pci.1,addr=0x18,drive=drive-virtio-disk339,id=virtio-disk339 \
--drive file=/var/lib/libvirt/images/disk-m-c.img,format=raw,if=none,id=drive-virtio-disk340 \
--device virtio-blk-pci,bus=pci.1,addr=0x19,drive=drive-virtio-disk340,id=virtio-disk340 \
--drive file=/var/lib/libvirt/images/disk-m-d.img,format=raw,if=none,id=drive-virtio-disk341 \
--device virtio-blk-pci,bus=pci.1,addr=0x1a,drive=drive-virtio-disk341,id=virtio-disk341 \
--drive file=/var/lib/libvirt/images/disk-n-a.img,format=raw,if=none,id=drive-virtio-disk364 \
--device virtio-blk-pci,bus=pci.1,addr=0x1b,drive=drive-virtio-disk364,id=virtio-disk364 \
--drive file=/var/lib/libvirt/images/disk-n-b.img,format=raw,if=none,id=drive-virtio-disk365 \
--device virtio-blk-pci,bus=pci.1,addr=0x1c,drive=drive-virtio-disk365,id=virtio-disk365 \
--drive file=/var/lib/libvirt/images/disk-n-c.img,format=raw,if=none,id=drive-virtio-disk366 \
--device virtio-blk-pci,bus=pci.1,addr=0x1d,drive=drive-virtio-disk366,id=virtio-disk366 \
--drive file=/var/lib/libvirt/images/disk-n-d.img,format=raw,if=none,id=drive-virtio-disk367 \
--device virtio-blk-pci,bus=pci.1,addr=0x1e,drive=drive-virtio-disk367,id=virtio-disk367 \
--drive file=/var/lib/libvirt/images/disk-o-a.img,format=raw,if=none,id=drive-virtio-disk390 \
--device virtio-blk-pci,bus=pci.1,addr=0x1f,drive=drive-virtio-disk390,id=virtio-disk390 \
--drive file=/var/lib/libvirt/images/disk-o-b.img,format=raw,if=none,id=drive-virtio-disk391 \
--device virtio-blk-pci,bus=pci.2,addr=0x1,drive=drive-virtio-disk391,id=virtio-disk391 \
--drive file=/var/lib/libvirt/images/disk-o-c.img,format=raw,if=none,id=drive-virtio-disk392 \
--device virtio-blk-pci,bus=pci.2,addr=0x2,drive=drive-virtio-disk392,id=virtio-disk392 \
--drive file=/var/lib/libvirt/images/disk-o-d.img,format=raw,if=none,id=drive-virtio-disk393 \
--device virtio-blk-pci,bus=pci.2,addr=0x3,drive=drive-virtio-disk393,id=virtio-disk393 \
--drive file=/var/lib/libvirt/images/disk-p-a.img,format=raw,if=none,id=drive-virtio-disk416 \
--device virtio-blk-pci,bus=pci.2,addr=0x4,drive=drive-virtio-disk416,id=virtio-disk416 \
--drive file=/var/lib/libvirt/images/disk-p-b.img,format=raw,if=none,id=drive-virtio-disk417 \
--device virtio-blk-pci,bus=pci.2,addr=0x5,drive=drive-virtio-disk417,id=virtio-disk417 \
--drive file=/var/lib/libvirt/images/disk-p-c.img,format=raw,if=none,id=drive-virtio-disk418 \
--device virtio-blk-pci,bus=pci.2,addr=0x6,drive=drive-virtio-disk418,id=virtio-disk418 \
--drive file=/var/lib/libvirt/images/disk-p-d.img,format=raw,if=none,id=drive-virtio-disk419 \
--device virtio-blk-pci,bus=pci.2,addr=0x7,drive=drive-virtio-disk419,id=virtio-disk419 \
--drive file=/var/lib/libvirt/images/disk-q-a.img,format=raw,if=none,id=drive-virtio-disk442 \
--device virtio-blk-pci,bus=pci.2,addr=0x8,drive=drive-virtio-disk442,id=virtio-disk442 \
--drive file=/var/lib/libvirt/images/disk-q-b.img,format=raw,if=none,id=drive-virtio-disk443 \
--device virtio-blk-pci,bus=pci.2,addr=0x9,drive=drive-virtio-disk443,id=virtio-disk443 \
--drive file=/var/lib/libvirt/images/disk-q-c.img,format=raw,if=none,id=drive-virtio-disk444 \
--device virtio-blk-pci,bus=pci.2,addr=0xa,drive=drive-virtio-disk444,id=virtio-disk444 \
--drive file=/var/lib/libvirt/images/disk-q-d.img,format=raw,if=none,id=drive-virtio-disk445 \
--device virtio-blk-pci,bus=pci.2,addr=0xb,drive=drive-virtio-disk445,id=virtio-disk445 \
--drive file=/var/lib/libvirt/images/disk-r-a.img,format=raw,if=none,id=drive-virtio-disk468 \
--device virtio-blk-pci,bus=pci.2,addr=0xc,drive=drive-virtio-disk468,id=virtio-disk468 \
--drive file=/var/lib/libvirt/images/disk-r-b.img,format=raw,if=none,id=drive-virtio-disk469 \
--device virtio-blk-pci,bus=pci.2,addr=0xd,drive=drive-virtio-disk469,id=virtio-disk469 \
--drive file=/var/lib/libvirt/images/disk-r-c.img,format=raw,if=none,id=drive-virtio-disk470 \
--device virtio-blk-pci,bus=pci.2,addr=0xe,drive=drive-virtio-disk470,id=virtio-disk470 \
--drive file=/var/lib/libvirt/images/disk-r-d.img,format=raw,if=none,id=drive-virtio-disk471 \
--device virtio-blk-pci,bus=pci.2,addr=0xf,drive=drive-virtio-disk471,id=virtio-disk471 \
--drive file=/var/lib/libvirt/images/disk-s-a.img,format=raw,if=none,id=drive-virtio-disk494 \
--device virtio-blk-pci,bus=pci.2,addr=0x10,drive=drive-virtio-disk494,id=virtio-disk494 \
--drive file=/var/lib/libvirt/images/disk-s-b.img,format=raw,if=none,id=drive-virtio-disk495 \
--device virtio-blk-pci,bus=pci.2,addr=0x11,drive=drive-virtio-disk495,id=virtio-disk495 \
--drive file=/var/lib/libvirt/images/disk-s-c.img,format=raw,if=none,id=drive-virtio-disk496 \
--device virtio-blk-pci,bus=pci.2,addr=0x12,drive=drive-virtio-disk496,id=virtio-disk496 \
--drive file=/var/lib/libvirt/images/disk-s-d.img,format=raw,if=none,id=drive-virtio-disk497 \
--device virtio-blk-pci,bus=pci.2,addr=0x13,drive=drive-virtio-disk497,id=virtio-disk497 \
--drive file=/var/lib/libvirt/images/disk-t-a.img,format=raw,if=none,id=drive-virtio-disk520 \
--device virtio-blk-pci,bus=pci.2,addr=0x14,drive=drive-virtio-disk520,id=virtio-disk520 \
--drive file=/var/lib/libvirt/images/disk-t-b.img,format=raw,if=none,id=drive-virtio-disk521 \
--device virtio-blk-pci,bus=pci.2,addr=0x15,drive=drive-virtio-disk521,id=virtio-disk521 \
--drive file=/var/lib/libvirt/images/disk-t-c.img,format=raw,if=none,id=drive-virtio-disk522 \
--device virtio-blk-pci,bus=pci.2,addr=0x16,drive=drive-virtio-disk522,id=virtio-disk522 \
--drive file=/var/lib/libvirt/images/disk-t-d.img,format=raw,if=none,id=drive-virtio-disk523 \
--device virtio-blk-pci,bus=pci.2,addr=0x17,drive=drive-virtio-disk523,id=virtio-disk523 \
--drive file=/var/lib/libvirt/images/disk-u-a.img,format=raw,if=none,id=drive-virtio-disk546 \
--device virtio-blk-pci,bus=pci.2,addr=0x18,drive=drive-virtio-disk546,id=virtio-disk546 \
--drive file=/var/lib/libvirt/images/disk-u-b.img,format=raw,if=none,id=drive-virtio-disk547 \
--device virtio-blk-pci,bus=pci.2,addr=0x19,drive=drive-virtio-disk547,id=virtio-disk547 \
--drive file=/var/lib/libvirt/images/disk-u-c.img,format=raw,if=none,id=drive-virtio-disk548 \
--device virtio-blk-pci,bus=pci.2,addr=0x1a,drive=drive-virtio-disk548,id=virtio-disk548 \
--drive file=/var/lib/libvirt/images/disk-u-d.img,format=raw,if=none,id=drive-virtio-disk549 \
--device virtio-blk-pci,bus=pci.2,addr=0x1b,drive=drive-virtio-disk549,id=virtio-disk549 \
--drive file=/var/lib/libvirt/images/disk-v-a.img,format=raw,if=none,id=drive-virtio-disk572 \
--device virtio-blk-pci,bus=pci.2,addr=0x1c,drive=drive-virtio-disk572,id=virtio-disk572 \
--drive file=/var/lib/libvirt/images/disk-v-b.img,format=raw,if=none,id=drive-virtio-disk573 \
--device virtio-blk-pci,bus=pci.2,addr=0x1d,drive=drive-virtio-disk573,id=virtio-disk573 \
--drive file=/var/lib/libvirt/images/disk-v-c.img,format=raw,if=none,id=drive-virtio-disk574 \
--device virtio-blk-pci,bus=pci.2,addr=0x1e,drive=drive-virtio-disk574,id=virtio-disk574 \
--drive file=/var/lib/libvirt/images/disk-v-d.img,format=raw,if=none,id=drive-virtio-disk575 \
--device virtio-blk-pci,bus=pci.2,addr=0x1f,drive=drive-virtio-disk575,id=virtio-disk575 \
--drive file=/var/lib/libvirt/images/disk-w-a.img,format=raw,if=none,id=drive-virtio-disk598 \
--device virtio-blk-pci,bus=pci.3,addr=0x1,drive=drive-virtio-disk598,id=virtio-disk598 \
--drive file=/var/lib/libvirt/images/disk-w-b.img,format=raw,if=none,id=drive-virtio-disk599 \
--device virtio-blk-pci,bus=pci.3,addr=0x2,drive=drive-virtio-disk599,id=virtio-disk599 \
--drive file=/var/lib/libvirt/images/disk-w-c.img,format=raw,if=none,id=drive-virtio-disk600 \
--device virtio-blk-pci,bus=pci.3,addr=0x3,drive=drive-virtio-disk600,id=virtio-disk600 \
--drive file=/var/lib/libvirt/images/disk-w-d.img,format=raw,if=none,id=drive-virtio-disk601 \
--device virtio-blk-pci,bus=pci.3,addr=0x4,drive=drive-virtio-disk601,id=virtio-disk601 \
--drive file=/var/lib/libvirt/images/disk-x-a.img,format=raw,if=none,id=drive-virtio-disk624 \
--device virtio-blk-pci,bus=pci.3,addr=0x5,drive=drive-virtio-disk624,id=virtio-disk624 \
--drive file=/var/lib/libvirt/images/disk-x-b.img,format=raw,if=none,id=drive-virtio-disk625 \
--device virtio-blk-pci,bus=pci.3,addr=0x6,drive=drive-virtio-disk625,id=virtio-disk625 \
--drive file=/var/lib/libvirt/images/disk-x-c.img,format=raw,if=none,id=drive-virtio-disk626 \
--device virtio-blk-pci,bus=pci.3,addr=0x7,drive=drive-virtio-disk626,id=virtio-disk626 \
--drive file=/var/lib/libvirt/images/disk-x-d.img,format=raw,if=none,id=drive-virtio-disk627 \
--device virtio-blk-pci,bus=pci.3,addr=0x8,drive=drive-virtio-disk627,id=virtio-disk627 \
--drive file=/var/lib/libvirt/images/disk-y-a.img,format=raw,if=none,id=drive-virtio-disk650 \
--device virtio-blk-pci,bus=pci.3,addr=0x9,drive=drive-virtio-disk650,id=virtio-disk650 \
--drive file=/var/lib/libvirt/images/disk-y-b.img,format=raw,if=none,id=drive-virtio-disk651 \
--device virtio-blk-pci,bus=pci.3,addr=0xa,drive=drive-virtio-disk651,id=virtio-disk651 \
--drive file=/var/lib/libvirt/images/disk-y-c.img,format=raw,if=none,id=drive-virtio-disk652 \
--device virtio-blk-pci,bus=pci.3,addr=0xb,drive=drive-virtio-disk652,id=virtio-disk652 \
--drive file=/var/lib/libvirt/images/disk-y-d.img,format=raw,if=none,id=drive-virtio-disk653 \
--device virtio-blk-pci,bus=pci.3,addr=0xc,drive=drive-virtio-disk653,id=virtio-disk653 \
--drive file=/var/lib/libvirt/images/disk-z-a.img,format=raw,if=none,id=drive-virtio-disk676 \
--device virtio-blk-pci,bus=pci.3,addr=0xd,drive=drive-virtio-disk676,id=virtio-disk676 \
--drive file=/var/lib/libvirt/images/disk-z-b.img,format=raw,if=none,id=drive-virtio-disk677 \
--device virtio-blk-pci,bus=pci.3,addr=0xe,drive=drive-virtio-disk677,id=virtio-disk677 \
--drive file=/var/lib/libvirt/images/disk-z-c.img,format=raw,if=none,id=drive-virtio-disk678 \
--device virtio-blk-pci,bus=pci.3,addr=0xf,drive=drive-virtio-disk678,id=virtio-disk678 \
--drive file=/var/lib/libvirt/images/disk-z-d.img,format=raw,if=none,id=drive-virtio-disk679 \
--device virtio-blk-pci,bus=pci.3,addr=0x10,drive=drive-virtio-disk679,id=virtio-disk679 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/test.img","node-name":"libvirt-105-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-105-format","read-only":false,"driver":"raw","file":"libvirt-105-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0x5,drive=libvirt-105-format,id=virtio-disk0,bootindex=1 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-a-a.img","node-name":"libvirt-104-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-104-format","read-only":false,"driver":"raw","file":"libvirt-104-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0x6,drive=libvirt-104-format,id=virtio-disk26 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-a-b.img","node-name":"libvirt-103-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-103-format","read-only":false,"driver":"raw","file":"libvirt-103-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0x7,drive=libvirt-103-format,id=virtio-disk27 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-a-c.img","node-name":"libvirt-102-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-102-format","read-only":false,"driver":"raw","file":"libvirt-102-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0x8,drive=libvirt-102-format,id=virtio-disk28 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-a-d.img","node-name":"libvirt-101-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-101-format","read-only":false,"driver":"raw","file":"libvirt-101-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0x9,drive=libvirt-101-format,id=virtio-disk29 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-b-a.img","node-name":"libvirt-100-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-100-format","read-only":false,"driver":"raw","file":"libvirt-100-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0xa,drive=libvirt-100-format,id=virtio-disk52 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-b-b.img","node-name":"libvirt-99-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-99-format","read-only":false,"driver":"raw","file":"libvirt-99-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0xb,drive=libvirt-99-format,id=virtio-disk53 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-b-c.img","node-name":"libvirt-98-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-98-format","read-only":false,"driver":"raw","file":"libvirt-98-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0xc,drive=libvirt-98-format,id=virtio-disk54 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-b-d.img","node-name":"libvirt-97-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-97-format","read-only":false,"driver":"raw","file":"libvirt-97-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0xd,drive=libvirt-97-format,id=virtio-disk55 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-c-a.img","node-name":"libvirt-96-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-96-format","read-only":false,"driver":"raw","file":"libvirt-96-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0xe,drive=libvirt-96-format,id=virtio-disk78 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-c-b.img","node-name":"libvirt-95-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-95-format","read-only":false,"driver":"raw","file":"libvirt-95-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0xf,drive=libvirt-95-format,id=virtio-disk79 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-c-c.img","node-name":"libvirt-94-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-94-format","read-only":false,"driver":"raw","file":"libvirt-94-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0x10,drive=libvirt-94-format,id=virtio-disk80 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-c-d.img","node-name":"libvirt-93-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-93-format","read-only":false,"driver":"raw","file":"libvirt-93-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0x11,drive=libvirt-93-format,id=virtio-disk81 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-d-a.img","node-name":"libvirt-92-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-92-format","read-only":false,"driver":"raw","file":"libvirt-92-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0x12,drive=libvirt-92-format,id=virtio-disk104 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-d-b.img","node-name":"libvirt-91-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-91-format","read-only":false,"driver":"raw","file":"libvirt-91-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0x13,drive=libvirt-91-format,id=virtio-disk105 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-d-c.img","node-name":"libvirt-90-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-90-format","read-only":false,"driver":"raw","file":"libvirt-90-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0x14,drive=libvirt-90-format,id=virtio-disk106 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-d-d.img","node-name":"libvirt-89-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-89-format","read-only":false,"driver":"raw","file":"libvirt-89-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0x15,drive=libvirt-89-format,id=virtio-disk107 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-e-a.img","node-name":"libvirt-88-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-88-format","read-only":false,"driver":"raw","file":"libvirt-88-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0x16,drive=libvirt-88-format,id=virtio-disk130 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-e-b.img","node-name":"libvirt-87-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-87-format","read-only":false,"driver":"raw","file":"libvirt-87-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0x17,drive=libvirt-87-format,id=virtio-disk131 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-e-c.img","node-name":"libvirt-86-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-86-format","read-only":false,"driver":"raw","file":"libvirt-86-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0x18,drive=libvirt-86-format,id=virtio-disk132 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-e-d.img","node-name":"libvirt-85-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-85-format","read-only":false,"driver":"raw","file":"libvirt-85-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0x19,drive=libvirt-85-format,id=virtio-disk133 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-f-a.img","node-name":"libvirt-84-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-84-format","read-only":false,"driver":"raw","file":"libvirt-84-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0x1a,drive=libvirt-84-format,id=virtio-disk156 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-f-b.img","node-name":"libvirt-83-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-83-format","read-only":false,"driver":"raw","file":"libvirt-83-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0x1b,drive=libvirt-83-format,id=virtio-disk157 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-f-c.img","node-name":"libvirt-82-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-82-format","read-only":false,"driver":"raw","file":"libvirt-82-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0x1c,drive=libvirt-82-format,id=virtio-disk158 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-f-d.img","node-name":"libvirt-81-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-81-format","read-only":false,"driver":"raw","file":"libvirt-81-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0x1d,drive=libvirt-81-format,id=virtio-disk159 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-g-a.img","node-name":"libvirt-80-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-80-format","read-only":false,"driver":"raw","file":"libvirt-80-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0x1e,drive=libvirt-80-format,id=virtio-disk182 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-g-b.img","node-name":"libvirt-79-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-79-format","read-only":false,"driver":"raw","file":"libvirt-79-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0x1f,drive=libvirt-79-format,id=virtio-disk183 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-g-c.img","node-name":"libvirt-78-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-78-format","read-only":false,"driver":"raw","file":"libvirt-78-storage"}' \
+-device virtio-blk-pci,bus=pci.1,addr=0x1,drive=libvirt-78-format,id=virtio-disk184 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-g-d.img","node-name":"libvirt-77-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-77-format","read-only":false,"driver":"raw","file":"libvirt-77-storage"}' \
+-device virtio-blk-pci,bus=pci.1,addr=0x2,drive=libvirt-77-format,id=virtio-disk185 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-h-a.img","node-name":"libvirt-76-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-76-format","read-only":false,"driver":"raw","file":"libvirt-76-storage"}' \
+-device virtio-blk-pci,bus=pci.1,addr=0x3,drive=libvirt-76-format,id=virtio-disk208 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-h-b.img","node-name":"libvirt-75-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-75-format","read-only":false,"driver":"raw","file":"libvirt-75-storage"}' \
+-device virtio-blk-pci,bus=pci.1,addr=0x4,drive=libvirt-75-format,id=virtio-disk209 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-h-c.img","node-name":"libvirt-74-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-74-format","read-only":false,"driver":"raw","file":"libvirt-74-storage"}' \
+-device virtio-blk-pci,bus=pci.1,addr=0x5,drive=libvirt-74-format,id=virtio-disk210 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-h-d.img","node-name":"libvirt-73-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-73-format","read-only":false,"driver":"raw","file":"libvirt-73-storage"}' \
+-device virtio-blk-pci,bus=pci.1,addr=0x6,drive=libvirt-73-format,id=virtio-disk211 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-i-a.img","node-name":"libvirt-72-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-72-format","read-only":false,"driver":"raw","file":"libvirt-72-storage"}' \
+-device virtio-blk-pci,bus=pci.1,addr=0x7,drive=libvirt-72-format,id=virtio-disk234 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-i-b.img","node-name":"libvirt-71-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-71-format","read-only":false,"driver":"raw","file":"libvirt-71-storage"}' \
+-device virtio-blk-pci,bus=pci.1,addr=0x8,drive=libvirt-71-format,id=virtio-disk235 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-i-c.img","node-name":"libvirt-70-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-70-format","read-only":false,"driver":"raw","file":"libvirt-70-storage"}' \
+-device virtio-blk-pci,bus=pci.1,addr=0x9,drive=libvirt-70-format,id=virtio-disk236 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-i-d.img","node-name":"libvirt-69-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-69-format","read-only":false,"driver":"raw","file":"libvirt-69-storage"}' \
+-device virtio-blk-pci,bus=pci.1,addr=0xa,drive=libvirt-69-format,id=virtio-disk237 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-j-a.img","node-name":"libvirt-68-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-68-format","read-only":false,"driver":"raw","file":"libvirt-68-storage"}' \
+-device virtio-blk-pci,bus=pci.1,addr=0xb,drive=libvirt-68-format,id=virtio-disk260 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-j-b.img","node-name":"libvirt-67-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-67-format","read-only":false,"driver":"raw","file":"libvirt-67-storage"}' \
+-device virtio-blk-pci,bus=pci.1,addr=0xc,drive=libvirt-67-format,id=virtio-disk261 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-j-c.img","node-name":"libvirt-66-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-66-format","read-only":false,"driver":"raw","file":"libvirt-66-storage"}' \
+-device virtio-blk-pci,bus=pci.1,addr=0xd,drive=libvirt-66-format,id=virtio-disk262 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-j-d.img","node-name":"libvirt-65-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-65-format","read-only":false,"driver":"raw","file":"libvirt-65-storage"}' \
+-device virtio-blk-pci,bus=pci.1,addr=0xe,drive=libvirt-65-format,id=virtio-disk263 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-k-a.img","node-name":"libvirt-64-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-64-format","read-only":false,"driver":"raw","file":"libvirt-64-storage"}' \
+-device virtio-blk-pci,bus=pci.1,addr=0xf,drive=libvirt-64-format,id=virtio-disk286 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-k-b.img","node-name":"libvirt-63-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-63-format","read-only":false,"driver":"raw","file":"libvirt-63-storage"}' \
+-device virtio-blk-pci,bus=pci.1,addr=0x10,drive=libvirt-63-format,id=virtio-disk287 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-k-c.img","node-name":"libvirt-62-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-62-format","read-only":false,"driver":"raw","file":"libvirt-62-storage"}' \
+-device virtio-blk-pci,bus=pci.1,addr=0x11,drive=libvirt-62-format,id=virtio-disk288 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-k-d.img","node-name":"libvirt-61-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-61-format","read-only":false,"driver":"raw","file":"libvirt-61-storage"}' \
+-device virtio-blk-pci,bus=pci.1,addr=0x12,drive=libvirt-61-format,id=virtio-disk289 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-l-a.img","node-name":"libvirt-60-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-60-format","read-only":false,"driver":"raw","file":"libvirt-60-storage"}' \
+-device virtio-blk-pci,bus=pci.1,addr=0x13,drive=libvirt-60-format,id=virtio-disk312 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-l-b.img","node-name":"libvirt-59-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-59-format","read-only":false,"driver":"raw","file":"libvirt-59-storage"}' \
+-device virtio-blk-pci,bus=pci.1,addr=0x14,drive=libvirt-59-format,id=virtio-disk313 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-l-c.img","node-name":"libvirt-58-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-58-format","read-only":false,"driver":"raw","file":"libvirt-58-storage"}' \
+-device virtio-blk-pci,bus=pci.1,addr=0x15,drive=libvirt-58-format,id=virtio-disk314 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-l-d.img","node-name":"libvirt-57-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-57-format","read-only":false,"driver":"raw","file":"libvirt-57-storage"}' \
+-device virtio-blk-pci,bus=pci.1,addr=0x16,drive=libvirt-57-format,id=virtio-disk315 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-m-a.img","node-name":"libvirt-56-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-56-format","read-only":false,"driver":"raw","file":"libvirt-56-storage"}' \
+-device virtio-blk-pci,bus=pci.1,addr=0x17,drive=libvirt-56-format,id=virtio-disk338 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-m-b.img","node-name":"libvirt-55-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-55-format","read-only":false,"driver":"raw","file":"libvirt-55-storage"}' \
+-device virtio-blk-pci,bus=pci.1,addr=0x18,drive=libvirt-55-format,id=virtio-disk339 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-m-c.img","node-name":"libvirt-54-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-54-format","read-only":false,"driver":"raw","file":"libvirt-54-storage"}' \
+-device virtio-blk-pci,bus=pci.1,addr=0x19,drive=libvirt-54-format,id=virtio-disk340 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-m-d.img","node-name":"libvirt-53-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-53-format","read-only":false,"driver":"raw","file":"libvirt-53-storage"}' \
+-device virtio-blk-pci,bus=pci.1,addr=0x1a,drive=libvirt-53-format,id=virtio-disk341 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-n-a.img","node-name":"libvirt-52-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-52-format","read-only":false,"driver":"raw","file":"libvirt-52-storage"}' \
+-device virtio-blk-pci,bus=pci.1,addr=0x1b,drive=libvirt-52-format,id=virtio-disk364 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-n-b.img","node-name":"libvirt-51-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-51-format","read-only":false,"driver":"raw","file":"libvirt-51-storage"}' \
+-device virtio-blk-pci,bus=pci.1,addr=0x1c,drive=libvirt-51-format,id=virtio-disk365 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-n-c.img","node-name":"libvirt-50-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-50-format","read-only":false,"driver":"raw","file":"libvirt-50-storage"}' \
+-device virtio-blk-pci,bus=pci.1,addr=0x1d,drive=libvirt-50-format,id=virtio-disk366 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-n-d.img","node-name":"libvirt-49-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-49-format","read-only":false,"driver":"raw","file":"libvirt-49-storage"}' \
+-device virtio-blk-pci,bus=pci.1,addr=0x1e,drive=libvirt-49-format,id=virtio-disk367 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-o-a.img","node-name":"libvirt-48-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-48-format","read-only":false,"driver":"raw","file":"libvirt-48-storage"}' \
+-device virtio-blk-pci,bus=pci.1,addr=0x1f,drive=libvirt-48-format,id=virtio-disk390 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-o-b.img","node-name":"libvirt-47-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-47-format","read-only":false,"driver":"raw","file":"libvirt-47-storage"}' \
+-device virtio-blk-pci,bus=pci.2,addr=0x1,drive=libvirt-47-format,id=virtio-disk391 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-o-c.img","node-name":"libvirt-46-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-46-format","read-only":false,"driver":"raw","file":"libvirt-46-storage"}' \
+-device virtio-blk-pci,bus=pci.2,addr=0x2,drive=libvirt-46-format,id=virtio-disk392 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-o-d.img","node-name":"libvirt-45-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-45-format","read-only":false,"driver":"raw","file":"libvirt-45-storage"}' \
+-device virtio-blk-pci,bus=pci.2,addr=0x3,drive=libvirt-45-format,id=virtio-disk393 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-p-a.img","node-name":"libvirt-44-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-44-format","read-only":false,"driver":"raw","file":"libvirt-44-storage"}' \
+-device virtio-blk-pci,bus=pci.2,addr=0x4,drive=libvirt-44-format,id=virtio-disk416 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-p-b.img","node-name":"libvirt-43-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-43-format","read-only":false,"driver":"raw","file":"libvirt-43-storage"}' \
+-device virtio-blk-pci,bus=pci.2,addr=0x5,drive=libvirt-43-format,id=virtio-disk417 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-p-c.img","node-name":"libvirt-42-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-42-format","read-only":false,"driver":"raw","file":"libvirt-42-storage"}' \
+-device virtio-blk-pci,bus=pci.2,addr=0x6,drive=libvirt-42-format,id=virtio-disk418 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-p-d.img","node-name":"libvirt-41-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-41-format","read-only":false,"driver":"raw","file":"libvirt-41-storage"}' \
+-device virtio-blk-pci,bus=pci.2,addr=0x7,drive=libvirt-41-format,id=virtio-disk419 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-q-a.img","node-name":"libvirt-40-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-40-format","read-only":false,"driver":"raw","file":"libvirt-40-storage"}' \
+-device virtio-blk-pci,bus=pci.2,addr=0x8,drive=libvirt-40-format,id=virtio-disk442 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-q-b.img","node-name":"libvirt-39-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-39-format","read-only":false,"driver":"raw","file":"libvirt-39-storage"}' \
+-device virtio-blk-pci,bus=pci.2,addr=0x9,drive=libvirt-39-format,id=virtio-disk443 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-q-c.img","node-name":"libvirt-38-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-38-format","read-only":false,"driver":"raw","file":"libvirt-38-storage"}' \
+-device virtio-blk-pci,bus=pci.2,addr=0xa,drive=libvirt-38-format,id=virtio-disk444 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-q-d.img","node-name":"libvirt-37-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-37-format","read-only":false,"driver":"raw","file":"libvirt-37-storage"}' \
+-device virtio-blk-pci,bus=pci.2,addr=0xb,drive=libvirt-37-format,id=virtio-disk445 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-r-a.img","node-name":"libvirt-36-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-36-format","read-only":false,"driver":"raw","file":"libvirt-36-storage"}' \
+-device virtio-blk-pci,bus=pci.2,addr=0xc,drive=libvirt-36-format,id=virtio-disk468 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-r-b.img","node-name":"libvirt-35-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-35-format","read-only":false,"driver":"raw","file":"libvirt-35-storage"}' \
+-device virtio-blk-pci,bus=pci.2,addr=0xd,drive=libvirt-35-format,id=virtio-disk469 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-r-c.img","node-name":"libvirt-34-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-34-format","read-only":false,"driver":"raw","file":"libvirt-34-storage"}' \
+-device virtio-blk-pci,bus=pci.2,addr=0xe,drive=libvirt-34-format,id=virtio-disk470 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-r-d.img","node-name":"libvirt-33-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-33-format","read-only":false,"driver":"raw","file":"libvirt-33-storage"}' \
+-device virtio-blk-pci,bus=pci.2,addr=0xf,drive=libvirt-33-format,id=virtio-disk471 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-s-a.img","node-name":"libvirt-32-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-32-format","read-only":false,"driver":"raw","file":"libvirt-32-storage"}' \
+-device virtio-blk-pci,bus=pci.2,addr=0x10,drive=libvirt-32-format,id=virtio-disk494 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-s-b.img","node-name":"libvirt-31-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-31-format","read-only":false,"driver":"raw","file":"libvirt-31-storage"}' \
+-device virtio-blk-pci,bus=pci.2,addr=0x11,drive=libvirt-31-format,id=virtio-disk495 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-s-c.img","node-name":"libvirt-30-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-30-format","read-only":false,"driver":"raw","file":"libvirt-30-storage"}' \
+-device virtio-blk-pci,bus=pci.2,addr=0x12,drive=libvirt-30-format,id=virtio-disk496 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-s-d.img","node-name":"libvirt-29-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-29-format","read-only":false,"driver":"raw","file":"libvirt-29-storage"}' \
+-device virtio-blk-pci,bus=pci.2,addr=0x13,drive=libvirt-29-format,id=virtio-disk497 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-t-a.img","node-name":"libvirt-28-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-28-format","read-only":false,"driver":"raw","file":"libvirt-28-storage"}' \
+-device virtio-blk-pci,bus=pci.2,addr=0x14,drive=libvirt-28-format,id=virtio-disk520 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-t-b.img","node-name":"libvirt-27-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-27-format","read-only":false,"driver":"raw","file":"libvirt-27-storage"}' \
+-device virtio-blk-pci,bus=pci.2,addr=0x15,drive=libvirt-27-format,id=virtio-disk521 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-t-c.img","node-name":"libvirt-26-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-26-format","read-only":false,"driver":"raw","file":"libvirt-26-storage"}' \
+-device virtio-blk-pci,bus=pci.2,addr=0x16,drive=libvirt-26-format,id=virtio-disk522 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-t-d.img","node-name":"libvirt-25-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-25-format","read-only":false,"driver":"raw","file":"libvirt-25-storage"}' \
+-device virtio-blk-pci,bus=pci.2,addr=0x17,drive=libvirt-25-format,id=virtio-disk523 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-u-a.img","node-name":"libvirt-24-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-24-format","read-only":false,"driver":"raw","file":"libvirt-24-storage"}' \
+-device virtio-blk-pci,bus=pci.2,addr=0x18,drive=libvirt-24-format,id=virtio-disk546 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-u-b.img","node-name":"libvirt-23-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-23-format","read-only":false,"driver":"raw","file":"libvirt-23-storage"}' \
+-device virtio-blk-pci,bus=pci.2,addr=0x19,drive=libvirt-23-format,id=virtio-disk547 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-u-c.img","node-name":"libvirt-22-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-22-format","read-only":false,"driver":"raw","file":"libvirt-22-storage"}' \
+-device virtio-blk-pci,bus=pci.2,addr=0x1a,drive=libvirt-22-format,id=virtio-disk548 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-u-d.img","node-name":"libvirt-21-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-21-format","read-only":false,"driver":"raw","file":"libvirt-21-storage"}' \
+-device virtio-blk-pci,bus=pci.2,addr=0x1b,drive=libvirt-21-format,id=virtio-disk549 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-v-a.img","node-name":"libvirt-20-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-20-format","read-only":false,"driver":"raw","file":"libvirt-20-storage"}' \
+-device virtio-blk-pci,bus=pci.2,addr=0x1c,drive=libvirt-20-format,id=virtio-disk572 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-v-b.img","node-name":"libvirt-19-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-19-format","read-only":false,"driver":"raw","file":"libvirt-19-storage"}' \
+-device virtio-blk-pci,bus=pci.2,addr=0x1d,drive=libvirt-19-format,id=virtio-disk573 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-v-c.img","node-name":"libvirt-18-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-18-format","read-only":false,"driver":"raw","file":"libvirt-18-storage"}' \
+-device virtio-blk-pci,bus=pci.2,addr=0x1e,drive=libvirt-18-format,id=virtio-disk574 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-v-d.img","node-name":"libvirt-17-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-17-format","read-only":false,"driver":"raw","file":"libvirt-17-storage"}' \
+-device virtio-blk-pci,bus=pci.2,addr=0x1f,drive=libvirt-17-format,id=virtio-disk575 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-w-a.img","node-name":"libvirt-16-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-16-format","read-only":false,"driver":"raw","file":"libvirt-16-storage"}' \
+-device virtio-blk-pci,bus=pci.3,addr=0x1,drive=libvirt-16-format,id=virtio-disk598 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-w-b.img","node-name":"libvirt-15-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-15-format","read-only":false,"driver":"raw","file":"libvirt-15-storage"}' \
+-device virtio-blk-pci,bus=pci.3,addr=0x2,drive=libvirt-15-format,id=virtio-disk599 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-w-c.img","node-name":"libvirt-14-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-14-format","read-only":false,"driver":"raw","file":"libvirt-14-storage"}' \
+-device virtio-blk-pci,bus=pci.3,addr=0x3,drive=libvirt-14-format,id=virtio-disk600 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-w-d.img","node-name":"libvirt-13-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-13-format","read-only":false,"driver":"raw","file":"libvirt-13-storage"}' \
+-device virtio-blk-pci,bus=pci.3,addr=0x4,drive=libvirt-13-format,id=virtio-disk601 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-x-a.img","node-name":"libvirt-12-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-12-format","read-only":false,"driver":"raw","file":"libvirt-12-storage"}' \
+-device virtio-blk-pci,bus=pci.3,addr=0x5,drive=libvirt-12-format,id=virtio-disk624 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-x-b.img","node-name":"libvirt-11-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-11-format","read-only":false,"driver":"raw","file":"libvirt-11-storage"}' \
+-device virtio-blk-pci,bus=pci.3,addr=0x6,drive=libvirt-11-format,id=virtio-disk625 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-x-c.img","node-name":"libvirt-10-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-10-format","read-only":false,"driver":"raw","file":"libvirt-10-storage"}' \
+-device virtio-blk-pci,bus=pci.3,addr=0x7,drive=libvirt-10-format,id=virtio-disk626 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-x-d.img","node-name":"libvirt-9-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-9-format","read-only":false,"driver":"raw","file":"libvirt-9-storage"}' \
+-device virtio-blk-pci,bus=pci.3,addr=0x8,drive=libvirt-9-format,id=virtio-disk627 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-y-a.img","node-name":"libvirt-8-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-8-format","read-only":false,"driver":"raw","file":"libvirt-8-storage"}' \
+-device virtio-blk-pci,bus=pci.3,addr=0x9,drive=libvirt-8-format,id=virtio-disk650 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-y-b.img","node-name":"libvirt-7-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-7-format","read-only":false,"driver":"raw","file":"libvirt-7-storage"}' \
+-device virtio-blk-pci,bus=pci.3,addr=0xa,drive=libvirt-7-format,id=virtio-disk651 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-y-c.img","node-name":"libvirt-6-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-6-format","read-only":false,"driver":"raw","file":"libvirt-6-storage"}' \
+-device virtio-blk-pci,bus=pci.3,addr=0xb,drive=libvirt-6-format,id=virtio-disk652 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-y-d.img","node-name":"libvirt-5-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-5-format","read-only":false,"driver":"raw","file":"libvirt-5-storage"}' \
+-device virtio-blk-pci,bus=pci.3,addr=0xc,drive=libvirt-5-format,id=virtio-disk653 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-z-a.img","node-name":"libvirt-4-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-4-format","read-only":false,"driver":"raw","file":"libvirt-4-storage"}' \
+-device virtio-blk-pci,bus=pci.3,addr=0xd,drive=libvirt-4-format,id=virtio-disk676 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-z-b.img","node-name":"libvirt-3-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-3-format","read-only":false,"driver":"raw","file":"libvirt-3-storage"}' \
+-device virtio-blk-pci,bus=pci.3,addr=0xe,drive=libvirt-3-format,id=virtio-disk677 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-z-c.img","node-name":"libvirt-2-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-2-format","read-only":false,"driver":"raw","file":"libvirt-2-storage"}' \
+-device virtio-blk-pci,bus=pci.3,addr=0xf,drive=libvirt-2-format,id=virtio-disk678 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-z-d.img","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device virtio-blk-pci,bus=pci.3,addr=0x10,drive=libvirt-1-format,id=virtio-disk679 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/pci-bridge.args b/tests/qemuxml2argvdata/pci-bridge.args
index c25780ab64..21c35f6577 100644
--- a/tests/qemuxml2argvdata/pci-bridge.args
+++ b/tests/qemuxml2argvdata/pci-bridge.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-fdr-br/.config \
 -device pci-bridge,chassis_nr=1,id=pci.1,bus=pci.0,addr=0x3 \
 -device pci-bridge,chassis_nr=2,id=pci.2,bus=pci.0,addr=0x4 \
 -usb \
--drive file=/var/iso/f18kde.iso,format=raw,if=none,id=drive-ide0-1-0,readonly=on \
--device ide-cd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \
+-blockdev '{"driver":"file","filename":"/var/iso/f18kde.iso","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":true,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-cd,bus=ide.1,unit=0,drive=libvirt-1-format,id=ide0-1-0 \
 -netdev user,id=hostnet0 \
 -device rtl8139,netdev=hostnet0,id=net0,mac=52:54:00:f1:95:51,bus=pci.0,addr=0x5 \
 -netdev user,id=hostnet1 \
diff --git a/tests/qemuxml2argvdata/pci-many.args b/tests/qemuxml2argvdata/pci-many.args
index 8293f0ba02..b749325e55 100644
--- a/tests/qemuxml2argvdata/pci-many.args
+++ b/tests/qemuxml2argvdata/pci-many.args
@@ -25,64 +25,93 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-fdr-br/.config \
 -no-shutdown \
 -boot strict=on \
 -usb \
--drive file=/var/iso/f18kde.iso,format=raw,if=none,id=drive-ide0-1-0,readonly=on \
--device ide-cd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \
--drive file=/var/lib/libvirt/images/test.img,format=raw,if=none,id=drive-virtio-disk0 \
--device virtio-blk-pci,bus=pci.0,addr=0x3,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 \
--drive file=/var/lib/libvirt/images/test1.img,format=raw,if=none,id=drive-virtio-disk1 \
--device virtio-blk-pci,bus=pci.0,addr=0x4,drive=drive-virtio-disk1,id=virtio-disk1 \
--drive file=/var/lib/libvirt/images/disk-a-a.img,format=raw,if=none,id=drive-virtio-disk26 \
--device virtio-blk-pci,bus=pci.0,addr=0x5,drive=drive-virtio-disk26,id=virtio-disk26 \
--drive file=/var/lib/libvirt/images/disk-a-b.img,format=raw,if=none,id=drive-virtio-disk27 \
--device virtio-blk-pci,bus=pci.0,addr=0x7,drive=drive-virtio-disk27,id=virtio-disk27 \
--drive file=/var/lib/libvirt/images/disk-a-c.img,format=raw,if=none,id=drive-virtio-disk28 \
--device virtio-blk-pci,bus=pci.0,addr=0x8,drive=drive-virtio-disk28,id=virtio-disk28 \
--drive file=/var/lib/libvirt/images/disk-a-d.img,format=raw,if=none,id=drive-virtio-disk29 \
--device virtio-blk-pci,bus=pci.0,addr=0x9,drive=drive-virtio-disk29,id=virtio-disk29 \
--drive file=/var/lib/libvirt/images/disk-b-a.img,format=raw,if=none,id=drive-virtio-disk52 \
--device virtio-blk-pci,bus=pci.0,addr=0xa,drive=drive-virtio-disk52,id=virtio-disk52 \
--drive file=/var/lib/libvirt/images/disk-b-b.img,format=raw,if=none,id=drive-virtio-disk53 \
--device virtio-blk-pci,bus=pci.0,addr=0xb,drive=drive-virtio-disk53,id=virtio-disk53 \
--drive file=/var/lib/libvirt/images/disk-b-c.img,format=raw,if=none,id=drive-virtio-disk54 \
--device virtio-blk-pci,bus=pci.0,addr=0xc,drive=drive-virtio-disk54,id=virtio-disk54 \
--drive file=/var/lib/libvirt/images/disk-b-d.img,format=raw,if=none,id=drive-virtio-disk55 \
--device virtio-blk-pci,bus=pci.0,addr=0xd,drive=drive-virtio-disk55,id=virtio-disk55 \
--drive file=/var/lib/libvirt/images/disk-c-a.img,format=raw,if=none,id=drive-virtio-disk78 \
--device virtio-blk-pci,bus=pci.0,addr=0xe,drive=drive-virtio-disk78,id=virtio-disk78 \
--drive file=/var/lib/libvirt/images/disk-c-b.img,format=raw,if=none,id=drive-virtio-disk79 \
--device virtio-blk-pci,bus=pci.0,addr=0xf,drive=drive-virtio-disk79,id=virtio-disk79 \
--drive file=/var/lib/libvirt/images/disk-c-c.img,format=raw,if=none,id=drive-virtio-disk80 \
--device virtio-blk-pci,bus=pci.0,addr=0x10,drive=drive-virtio-disk80,id=virtio-disk80 \
--drive file=/var/lib/libvirt/images/disk-c-d.img,format=raw,if=none,id=drive-virtio-disk81 \
--device virtio-blk-pci,bus=pci.0,addr=0x11,drive=drive-virtio-disk81,id=virtio-disk81 \
--drive file=/var/lib/libvirt/images/disk-d-a.img,format=raw,if=none,id=drive-virtio-disk104 \
--device virtio-blk-pci,bus=pci.0,addr=0x12,drive=drive-virtio-disk104,id=virtio-disk104 \
--drive file=/var/lib/libvirt/images/disk-d-b.img,format=raw,if=none,id=drive-virtio-disk105 \
--device virtio-blk-pci,bus=pci.0,addr=0x13,drive=drive-virtio-disk105,id=virtio-disk105 \
--drive file=/var/lib/libvirt/images/disk-d-c.img,format=raw,if=none,id=drive-virtio-disk106 \
--device virtio-blk-pci,bus=pci.0,addr=0x14,drive=drive-virtio-disk106,id=virtio-disk106 \
--drive file=/var/lib/libvirt/images/disk-d-d.img,format=raw,if=none,id=drive-virtio-disk107 \
--device virtio-blk-pci,bus=pci.0,addr=0x15,drive=drive-virtio-disk107,id=virtio-disk107 \
--drive file=/var/lib/libvirt/images/disk-e-a.img,format=raw,if=none,id=drive-virtio-disk130 \
--device virtio-blk-pci,bus=pci.0,addr=0x16,drive=drive-virtio-disk130,id=virtio-disk130 \
--drive file=/var/lib/libvirt/images/disk-e-b.img,format=raw,if=none,id=drive-virtio-disk131 \
--device virtio-blk-pci,bus=pci.0,addr=0x17,drive=drive-virtio-disk131,id=virtio-disk131 \
--drive file=/var/lib/libvirt/images/disk-e-c.img,format=raw,if=none,id=drive-virtio-disk132 \
--device virtio-blk-pci,bus=pci.0,addr=0x18,drive=drive-virtio-disk132,id=virtio-disk132 \
--drive file=/var/lib/libvirt/images/disk-e-d.img,format=raw,if=none,id=drive-virtio-disk133 \
--device virtio-blk-pci,bus=pci.0,addr=0x19,drive=drive-virtio-disk133,id=virtio-disk133 \
--drive file=/var/lib/libvirt/images/disk-f-a.img,format=raw,if=none,id=drive-virtio-disk156 \
--device virtio-blk-pci,bus=pci.0,addr=0x1a,drive=drive-virtio-disk156,id=virtio-disk156 \
--drive file=/var/lib/libvirt/images/disk-f-b.img,format=raw,if=none,id=drive-virtio-disk157 \
--device virtio-blk-pci,bus=pci.0,addr=0x1b,drive=drive-virtio-disk157,id=virtio-disk157 \
--drive file=/var/lib/libvirt/images/disk-f-c.img,format=raw,if=none,id=drive-virtio-disk158 \
--device virtio-blk-pci,bus=pci.0,addr=0x1c,drive=drive-virtio-disk158,id=virtio-disk158 \
--drive file=/var/lib/libvirt/images/disk-f-d.img,format=raw,if=none,id=drive-virtio-disk159 \
--device virtio-blk-pci,bus=pci.0,addr=0x1d,drive=drive-virtio-disk159,id=virtio-disk159 \
--drive file=/var/lib/libvirt/images/disk-g-a.img,format=raw,if=none,id=drive-virtio-disk182 \
--device virtio-blk-pci,bus=pci.0,addr=0x1e,drive=drive-virtio-disk182,id=virtio-disk182 \
--drive file=/var/lib/libvirt/images/disk-g-b.img,format=raw,if=none,id=drive-virtio-disk183 \
--device virtio-blk-pci,bus=pci.0,addr=0x1f,drive=drive-virtio-disk183,id=virtio-disk183 \
+-blockdev '{"driver":"file","filename":"/var/iso/f18kde.iso","node-name":"libvirt-29-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-29-format","read-only":true,"driver":"raw","file":"libvirt-29-storage"}' \
+-device ide-cd,bus=ide.1,unit=0,drive=libvirt-29-format,id=ide0-1-0 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/test.img","node-name":"libvirt-28-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-28-format","read-only":false,"driver":"raw","file":"libvirt-28-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0x3,drive=libvirt-28-format,id=virtio-disk0,bootindex=1 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/test1.img","node-name":"libvirt-27-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-27-format","read-only":false,"driver":"raw","file":"libvirt-27-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0x4,drive=libvirt-27-format,id=virtio-disk1 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-a-a.img","node-name":"libvirt-26-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-26-format","read-only":false,"driver":"raw","file":"libvirt-26-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0x5,drive=libvirt-26-format,id=virtio-disk26 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-a-b.img","node-name":"libvirt-25-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-25-format","read-only":false,"driver":"raw","file":"libvirt-25-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0x7,drive=libvirt-25-format,id=virtio-disk27 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-a-c.img","node-name":"libvirt-24-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-24-format","read-only":false,"driver":"raw","file":"libvirt-24-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0x8,drive=libvirt-24-format,id=virtio-disk28 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-a-d.img","node-name":"libvirt-23-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-23-format","read-only":false,"driver":"raw","file":"libvirt-23-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0x9,drive=libvirt-23-format,id=virtio-disk29 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-b-a.img","node-name":"libvirt-22-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-22-format","read-only":false,"driver":"raw","file":"libvirt-22-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0xa,drive=libvirt-22-format,id=virtio-disk52 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-b-b.img","node-name":"libvirt-21-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-21-format","read-only":false,"driver":"raw","file":"libvirt-21-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0xb,drive=libvirt-21-format,id=virtio-disk53 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-b-c.img","node-name":"libvirt-20-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-20-format","read-only":false,"driver":"raw","file":"libvirt-20-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0xc,drive=libvirt-20-format,id=virtio-disk54 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-b-d.img","node-name":"libvirt-19-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-19-format","read-only":false,"driver":"raw","file":"libvirt-19-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0xd,drive=libvirt-19-format,id=virtio-disk55 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-c-a.img","node-name":"libvirt-18-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-18-format","read-only":false,"driver":"raw","file":"libvirt-18-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0xe,drive=libvirt-18-format,id=virtio-disk78 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-c-b.img","node-name":"libvirt-17-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-17-format","read-only":false,"driver":"raw","file":"libvirt-17-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0xf,drive=libvirt-17-format,id=virtio-disk79 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-c-c.img","node-name":"libvirt-16-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-16-format","read-only":false,"driver":"raw","file":"libvirt-16-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0x10,drive=libvirt-16-format,id=virtio-disk80 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-c-d.img","node-name":"libvirt-15-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-15-format","read-only":false,"driver":"raw","file":"libvirt-15-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0x11,drive=libvirt-15-format,id=virtio-disk81 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-d-a.img","node-name":"libvirt-14-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-14-format","read-only":false,"driver":"raw","file":"libvirt-14-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0x12,drive=libvirt-14-format,id=virtio-disk104 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-d-b.img","node-name":"libvirt-13-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-13-format","read-only":false,"driver":"raw","file":"libvirt-13-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0x13,drive=libvirt-13-format,id=virtio-disk105 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-d-c.img","node-name":"libvirt-12-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-12-format","read-only":false,"driver":"raw","file":"libvirt-12-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0x14,drive=libvirt-12-format,id=virtio-disk106 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-d-d.img","node-name":"libvirt-11-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-11-format","read-only":false,"driver":"raw","file":"libvirt-11-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0x15,drive=libvirt-11-format,id=virtio-disk107 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-e-a.img","node-name":"libvirt-10-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-10-format","read-only":false,"driver":"raw","file":"libvirt-10-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0x16,drive=libvirt-10-format,id=virtio-disk130 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-e-b.img","node-name":"libvirt-9-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-9-format","read-only":false,"driver":"raw","file":"libvirt-9-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0x17,drive=libvirt-9-format,id=virtio-disk131 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-e-c.img","node-name":"libvirt-8-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-8-format","read-only":false,"driver":"raw","file":"libvirt-8-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0x18,drive=libvirt-8-format,id=virtio-disk132 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-e-d.img","node-name":"libvirt-7-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-7-format","read-only":false,"driver":"raw","file":"libvirt-7-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0x19,drive=libvirt-7-format,id=virtio-disk133 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-f-a.img","node-name":"libvirt-6-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-6-format","read-only":false,"driver":"raw","file":"libvirt-6-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0x1a,drive=libvirt-6-format,id=virtio-disk156 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-f-b.img","node-name":"libvirt-5-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-5-format","read-only":false,"driver":"raw","file":"libvirt-5-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0x1b,drive=libvirt-5-format,id=virtio-disk157 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-f-c.img","node-name":"libvirt-4-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-4-format","read-only":false,"driver":"raw","file":"libvirt-4-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0x1c,drive=libvirt-4-format,id=virtio-disk158 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-f-d.img","node-name":"libvirt-3-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-3-format","read-only":false,"driver":"raw","file":"libvirt-3-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0x1d,drive=libvirt-3-format,id=virtio-disk159 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-g-a.img","node-name":"libvirt-2-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-2-format","read-only":false,"driver":"raw","file":"libvirt-2-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0x1e,drive=libvirt-2-format,id=virtio-disk182 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/disk-g-b.img","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device virtio-blk-pci,bus=pci.0,addr=0x1f,drive=libvirt-1-format,id=virtio-disk183 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device cirrus-vga,id=video0,bus=pci.0,addr=0x2 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x6 \
diff --git a/tests/qemuxml2argvdata/pci-rom.args b/tests/qemuxml2argvdata/pci-rom.args
index b1cdec3d1d..1c02ef4493 100644
--- a/tests/qemuxml2argvdata/pci-rom.args
+++ b/tests/qemuxml2argvdata/pci-rom.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest2/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest2","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -netdev user,id=hostnet0 \
 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:24:a5:9f,bus=pci.0,addr=0x2,rombar=1 \
 -netdev user,id=hostnet1 \
diff --git a/tests/qemuxml2argvdata/pci-serial-dev-chardev.args b/tests/qemuxml2argvdata/pci-serial-dev-chardev.args
index ecc02d35df..651b2732f5 100644
--- a/tests/qemuxml2argvdata/pci-serial-dev-chardev.args
+++ b/tests/qemuxml2argvdata/pci-serial-dev-chardev.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -chardev tty,id=charserial0,path=/dev/ttyS2 \
 -device pci-serial,chardev=charserial0,id=serial0,bus=pci.0,addr=0x4 \
 -audiodev '{"id":"audio1","driver":"none"}' \
diff --git a/tests/qemuxml2argvdata/pcie-expander-bus.args b/tests/qemuxml2argvdata/pcie-expander-bus.args
index c4f59dd934..7db64d7969 100644
--- a/tests/qemuxml2argvdata/pcie-expander-bus.args
+++ b/tests/qemuxml2argvdata/pcie-expander-bus.args
@@ -62,8 +62,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-pcie-expander-bus-te/.config \
 -device xio3130-downstream,port=29,chassis=33,id=pci.33,bus=pci.3,addr=0x1d \
 -device xio3130-downstream,port=30,chassis=34,id=pci.34,bus=pci.3,addr=0x1e \
 -device xio3130-downstream,port=31,chassis=35,id=pci.35,bus=pci.3,addr=0x1f \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-sata0-0-0 \
--device ide-hd,bus=ide.0,drive=drive-sata0-0-0,id=sata0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,drive=libvirt-1-format,id=sata0-0-0,bootindex=1 \
 -netdev user,id=hostnet0 \
 -device rtl8139,netdev=hostnet0,id=net0,mac=52:54:00:f1:95:51,bus=pci.4,addr=0x0 \
 -netdev user,id=hostnet1 \
diff --git a/tests/qemuxml2argvdata/pcie-root-port.args b/tests/qemuxml2argvdata/pcie-root-port.args
index 64469264b0..7ae8645b17 100644
--- a/tests/qemuxml2argvdata/pcie-root-port.args
+++ b/tests/qemuxml2argvdata/pcie-root-port.args
@@ -27,8 +27,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-q35-test/.config \
 -boot strict=on \
 -device ioh3420,port=16,chassis=1,id=pci.1,bus=pcie.0,multifunction=on,addr=0x2 \
 -device ioh3420,port=26,chassis=40,id=pci.2,bus=pcie.0,addr=0x2.0x1 \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-sata0-0-0 \
--device ide-hd,bus=ide.0,drive=drive-sata0-0-0,id=sata0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,drive=libvirt-1-format,id=sata0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device qxl-vga,id=video0,max_outputs=1,ram_size=67108864,vram_size=33554432,bus=pcie.0,addr=0x1 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/pcie-switch-downstream-port.args b/tests/qemuxml2argvdata/pcie-switch-downstream-port.args
index 228af19fa4..63769ed0cf 100644
--- a/tests/qemuxml2argvdata/pcie-switch-downstream-port.args
+++ b/tests/qemuxml2argvdata/pcie-switch-downstream-port.args
@@ -35,8 +35,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-q35-test/.config \
 -device xio3130-downstream,port=4,chassis=8,id=pci.8,bus=pci.2,addr=0x4 \
 -device xio3130-downstream,port=5,chassis=9,id=pci.9,bus=pci.2,addr=0x5 \
 -device xio3130-downstream,port=6,chassis=10,id=pci.10,bus=pci.2,addr=0x6 \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-sata0-0-0 \
--device ide-hd,bus=ide.0,drive=drive-sata0-0-0,id=sata0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,drive=libvirt-1-format,id=sata0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device qxl-vga,id=video0,max_outputs=1,ram_size=67108864,vram_size=33554432,bus=pcie.0,addr=0x1 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/pcie-switch-upstream-port.args b/tests/qemuxml2argvdata/pcie-switch-upstream-port.args
index 71970f91d1..a260479b44 100644
--- a/tests/qemuxml2argvdata/pcie-switch-upstream-port.args
+++ b/tests/qemuxml2argvdata/pcie-switch-upstream-port.args
@@ -29,8 +29,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-q35-test/.config \
 -device ioh3420,port=17,chassis=2,id=pci.2,bus=pcie.0,addr=0x2.0x1 \
 -device x3130-upstream,id=pci.3,bus=pci.1,addr=0x0 \
 -device x3130-upstream,id=pci.4,bus=pci.2,addr=0x0 \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-sata0-0-0 \
--device ide-hd,bus=ide.0,drive=drive-sata0-0-0,id=sata0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,drive=libvirt-1-format,id=sata0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device qxl-vga,id=video0,max_outputs=1,ram_size=67108864,vram_size=33554432,bus=pcie.0,addr=0x1 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/pcihole64-q35.args b/tests/qemuxml2argvdata/pcihole64-q35.args
index 77685e127e..e5114936ea 100644
--- a/tests/qemuxml2argvdata/pcihole64-q35.args
+++ b/tests/qemuxml2argvdata/pcihole64-q35.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-q35-test/.config \
 -no-acpi \
 -boot strict=on \
 -global q35-pcihost.pci-hole64-size=1048576K \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-sata0-0-0 \
--device ide-hd,bus=ide.0,drive=drive-sata0-0-0,id=sata0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,drive=libvirt-1-format,id=sata0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device qxl-vga,id=video0,max_outputs=1,ram_size=67108864,vram_size=33554432,bus=pcie.0,addr=0x1 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/pseries-vio-user-assigned.args b/tests/qemuxml2argvdata/pseries-vio-user-assigned.args
index 34e9b83556..5989b38a25 100644
--- a/tests/qemuxml2argvdata/pseries-vio-user-assigned.args
+++ b/tests/qemuxml2argvdata/pseries-vio-user-assigned.args
@@ -27,8 +27,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -device spapr-vscsi,id=scsi0,reg=8192 \
 -device spapr-vscsi,id=scsi1,reg=805306368 \
 -usb \
--drive file=/tmp/scsidisk.img,format=raw,if=none,id=drive-scsi1-0-0-0 \
--device scsi-hd,bus=scsi1.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi1-0-0-0,id=scsi1-0-0-0,bootindex=1 \
+-blockdev '{"driver":"file","filename":"/tmp/scsidisk.img","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device scsi-hd,bus=scsi1.0,channel=0,scsi-id=0,lun=0,drive=libvirt-1-format,id=scsi1-0-0-0,bootindex=1 \
 -chardev pty,id=charserial0 \
 -device spapr-vty,chardev=charserial0,id=serial0,reg=536870912 \
 -chardev pty,id=charserial1 \
diff --git a/tests/qemuxml2argvdata/pseries-vio.args b/tests/qemuxml2argvdata/pseries-vio.args
index a5a641b49b..53277f2287 100644
--- a/tests/qemuxml2argvdata/pseries-vio.args
+++ b/tests/qemuxml2argvdata/pseries-vio.args
@@ -27,8 +27,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -device spapr-vscsi,id=scsi0,reg=8192 \
 -device spapr-vscsi,id=scsi1,reg=12288 \
 -usb \
--drive file=/tmp/scsidisk.img,format=raw,if=none,id=drive-scsi1-0-0-0 \
--device scsi-hd,bus=scsi1.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi1-0-0-0,id=scsi1-0-0-0,bootindex=1 \
+-blockdev '{"driver":"file","filename":"/tmp/scsidisk.img","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device scsi-hd,bus=scsi1.0,channel=0,scsi-id=0,lun=0,drive=libvirt-1-format,id=scsi1-0-0-0,bootindex=1 \
 -chardev pty,id=charserial0 \
 -device spapr-vty,chardev=charserial0,id=serial0,reg=805306368 \
 -chardev pty,id=charserial1 \
diff --git a/tests/qemuxml2argvdata/q35-pcie-autoadd.args b/tests/qemuxml2argvdata/q35-pcie-autoadd.args
index 019943f6dd..3db83f2a10 100644
--- a/tests/qemuxml2argvdata/q35-pcie-autoadd.args
+++ b/tests/qemuxml2argvdata/q35-pcie-autoadd.args
@@ -42,8 +42,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-q35-test/.config \
 -device nec-usb-xhci,id=usb,bus=pci.6,addr=0x0 \
 -device virtio-scsi-pci,id=scsi0,bus=pci.5,addr=0x0 \
 -device virtio-serial-pci,id=virtio-serial0,bus=pci.4,addr=0x0 \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-virtio-disk1 \
--device virtio-blk-pci,bus=pci.7,addr=0x0,drive=drive-virtio-disk1,id=virtio-disk1,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device virtio-blk-pci,bus=pci.7,addr=0x0,drive=libvirt-1-format,id=virtio-disk1,bootindex=1 \
 -fsdev local,security_model=passthrough,id=fsdev-fs0,path=/export/to/guest \
 -device virtio-9p-pci,id=fs0,fsdev=fsdev-fs0,mount_tag=/import/from/host,bus=pci.1,addr=0x0 \
 -netdev user,id=hostnet0 \
diff --git a/tests/qemuxml2argvdata/q35-pcie.args b/tests/qemuxml2argvdata/q35-pcie.args
index 2f922f9352..48e6ae0557 100644
--- a/tests/qemuxml2argvdata/q35-pcie.args
+++ b/tests/qemuxml2argvdata/q35-pcie.args
@@ -43,8 +43,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-q35-test/.config \
 -device nec-usb-xhci,id=usb,bus=pci.8,addr=0x0 \
 -device virtio-scsi-pci,id=scsi0,bus=pci.7,addr=0x0 \
 -device virtio-serial-pci,id=virtio-serial0,bus=pci.6,addr=0x0 \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-virtio-disk1 \
--device virtio-blk-pci,bus=pci.9,addr=0x0,drive=drive-virtio-disk1,id=virtio-disk1,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device virtio-blk-pci,bus=pci.9,addr=0x0,drive=libvirt-1-format,id=virtio-disk1,bootindex=1 \
 -fsdev local,security_model=passthrough,id=fsdev-fs0,path=/export/to/guest \
 -device virtio-9p-pci,id=fs0,fsdev=fsdev-fs0,mount_tag=/import/from/host,bus=pci.3,addr=0x0 \
 -netdev user,id=hostnet0 \
diff --git a/tests/qemuxml2argvdata/q35-usb2-multi.args b/tests/qemuxml2argvdata/q35-usb2-multi.args
index 0722fd972e..e2a2cbdd19 100644
--- a/tests/qemuxml2argvdata/q35-usb2-multi.args
+++ b/tests/qemuxml2argvdata/q35-usb2-multi.args
@@ -39,8 +39,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-q35-test/.config \
 -device ich9-usb-uhci1,masterbus=usb2.0,firstport=0,bus=pci.2,multifunction=on,addr=0x1 \
 -device ich9-usb-uhci2,masterbus=usb2.0,firstport=2,bus=pci.2,addr=0x1.0x1 \
 -device ich9-usb-uhci3,masterbus=usb2.0,firstport=4,bus=pci.2,addr=0x1.0x2 \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-sata0-0-0 \
--device ide-hd,bus=ide.0,drive=drive-sata0-0-0,id=sata0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,drive=libvirt-1-format,id=sata0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device qxl-vga,id=video0,max_outputs=1,ram_size=67108864,vram_size=33554432,bus=pcie.0,addr=0x1 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/q35-usb2-reorder.args b/tests/qemuxml2argvdata/q35-usb2-reorder.args
index 43cb4657bc..3c7f1e6199 100644
--- a/tests/qemuxml2argvdata/q35-usb2-reorder.args
+++ b/tests/qemuxml2argvdata/q35-usb2-reorder.args
@@ -39,8 +39,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-q35-test/.config \
 -device ich9-usb-uhci3,masterbus=usb2.0,firstport=4,bus=pci.2,addr=0x1.0x2 \
 -device ich9-usb-uhci2,masterbus=usb2.0,firstport=2,bus=pci.2,addr=0x1.0x1 \
 -device ich9-usb-uhci1,masterbus=usb2.0,firstport=0,bus=pci.2,multifunction=on,addr=0x1 \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-sata0-0-0 \
--device ide-hd,bus=ide.0,drive=drive-sata0-0-0,id=sata0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,drive=libvirt-1-format,id=sata0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device qxl-vga,id=video0,max_outputs=1,ram_size=67108864,vram_size=33554432,bus=pcie.0,addr=0x1 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/q35-usb2.args b/tests/qemuxml2argvdata/q35-usb2.args
index 745a7bdbc4..325bbd31c7 100644
--- a/tests/qemuxml2argvdata/q35-usb2.args
+++ b/tests/qemuxml2argvdata/q35-usb2.args
@@ -31,8 +31,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-q35-test/.config \
 -device ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pcie.0,multifunction=on,addr=0x1d \
 -device ich9-usb-uhci2,masterbus=usb.0,firstport=2,bus=pcie.0,addr=0x1d.0x1 \
 -device ich9-usb-uhci3,masterbus=usb.0,firstport=4,bus=pcie.0,addr=0x1d.0x2 \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-sata0-0-0 \
--device ide-hd,bus=ide.0,drive=drive-sata0-0-0,id=sata0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,drive=libvirt-1-format,id=sata0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device qxl-vga,id=video0,max_outputs=1,ram_size=67108864,vram_size=33554432,bus=pcie.0,addr=0x1 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/q35-virt-manager-basic.args b/tests/qemuxml2argvdata/q35-virt-manager-basic.args
index 4c8e2781c7..fe00c9e0eb 100644
--- a/tests/qemuxml2argvdata/q35-virt-manager-basic.args
+++ b/tests/qemuxml2argvdata/q35-virt-manager-basic.args
@@ -34,8 +34,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-virt-manager-basic/.config \
 -device ioh3420,port=21,chassis=6,id=pci.6,bus=pcie.0,addr=0x2.0x5 \
 -device nec-usb-xhci,id=usb,bus=pci.2,addr=0x0 \
 -device virtio-serial-pci,id=virtio-serial0,bus=pci.3,addr=0x0 \
--drive file=/var/lib/libvirt/images/basic.qcow2,format=qcow2,if=none,id=drive-virtio-disk0 \
--device virtio-blk-pci,bus=pci.4,addr=0x0,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/basic.qcow2","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"qcow2","file":"libvirt-1-storage"}' \
+-device virtio-blk-pci,bus=pci.4,addr=0x0,drive=libvirt-1-format,id=virtio-disk0,bootindex=1 \
 -netdev user,id=hostnet0 \
 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:9a:e6:c6,bus=pci.1,addr=0x0 \
 -chardev pty,id=charserial0 \
diff --git a/tests/qemuxml2argvdata/q35-virtio-pci.args b/tests/qemuxml2argvdata/q35-virtio-pci.args
index 6fc72ca1df..fe42f07e82 100644
--- a/tests/qemuxml2argvdata/q35-virtio-pci.args
+++ b/tests/qemuxml2argvdata/q35-virtio-pci.args
@@ -43,8 +43,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-q35-test/.config \
 -device nec-usb-xhci,id=usb,bus=pci.4,addr=0x0 \
 -device virtio-scsi-pci,id=scsi0,bus=pci.2,addr=0x4 \
 -device virtio-serial-pci,id=virtio-serial0,bus=pci.2,addr=0x3 \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-virtio-disk1 \
--device virtio-blk-pci,bus=pci.2,addr=0x5,drive=drive-virtio-disk1,id=virtio-disk1,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device virtio-blk-pci,bus=pci.2,addr=0x5,drive=libvirt-1-format,id=virtio-disk1,bootindex=1 \
 -fsdev local,security_model=passthrough,id=fsdev-fs0,path=/export/to/guest \
 -device virtio-9p-pci,id=fs0,fsdev=fsdev-fs0,mount_tag=/import/from/host,bus=pci.2,addr=0x1 \
 -netdev user,id=hostnet0 \
diff --git a/tests/qemuxml2argvdata/q35.args b/tests/qemuxml2argvdata/q35.args
index 5054c6ca17..cd76c36cfa 100644
--- a/tests/qemuxml2argvdata/q35.args
+++ b/tests/qemuxml2argvdata/q35.args
@@ -29,8 +29,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-q35-test/.config \
 -device ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pcie.0,multifunction=on,addr=0x1d \
 -device ich9-usb-uhci2,masterbus=usb.0,firstport=2,bus=pcie.0,addr=0x1d.0x1 \
 -device ich9-usb-uhci3,masterbus=usb.0,firstport=4,bus=pcie.0,addr=0x1d.0x2 \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-sata0-0-0 \
--device ide-hd,bus=ide.0,drive=drive-sata0-0-0,id=sata0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,drive=libvirt-1-format,id=sata0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device qxl-vga,id=video0,max_outputs=1,ram_size=67108864,vram_size=33554432,bus=pcie.0,addr=0x1 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/qemu-ns-alt.args b/tests/qemuxml2argvdata/qemu-ns-alt.args
index c96042232b..e815384c1f 100644
--- a/tests/qemuxml2argvdata/qemu-ns-alt.args
+++ b/tests/qemuxml2argvdata/qemu-ns-alt.args
@@ -28,8 +28,9 @@ BAR='' \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
 -unknown parameter \
diff --git a/tests/qemuxml2argvdata/qemu-ns-commandline-ns0.args b/tests/qemuxml2argvdata/qemu-ns-commandline-ns0.args
index 4711cfcd93..e9f081d8a1 100644
--- a/tests/qemuxml2argvdata/qemu-ns-commandline-ns0.args
+++ b/tests/qemuxml2argvdata/qemu-ns-commandline-ns0.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 ARGUMENT \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/qemu-ns-commandline-ns1.args b/tests/qemuxml2argvdata/qemu-ns-commandline-ns1.args
index 4711cfcd93..e9f081d8a1 100644
--- a/tests/qemuxml2argvdata/qemu-ns-commandline-ns1.args
+++ b/tests/qemuxml2argvdata/qemu-ns-commandline-ns1.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 ARGUMENT \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/qemu-ns-commandline.args b/tests/qemuxml2argvdata/qemu-ns-commandline.args
index 4711cfcd93..e9f081d8a1 100644
--- a/tests/qemuxml2argvdata/qemu-ns-commandline.args
+++ b/tests/qemuxml2argvdata/qemu-ns-commandline.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 ARGUMENT \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/qemu-ns-domain-commandline-ns0.args b/tests/qemuxml2argvdata/qemu-ns-domain-commandline-ns0.args
index 4711cfcd93..e9f081d8a1 100644
--- a/tests/qemuxml2argvdata/qemu-ns-domain-commandline-ns0.args
+++ b/tests/qemuxml2argvdata/qemu-ns-domain-commandline-ns0.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 ARGUMENT \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/qemu-ns-domain-commandline.args b/tests/qemuxml2argvdata/qemu-ns-domain-commandline.args
index 4711cfcd93..e9f081d8a1 100644
--- a/tests/qemuxml2argvdata/qemu-ns-domain-commandline.args
+++ b/tests/qemuxml2argvdata/qemu-ns-domain-commandline.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 ARGUMENT \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/qemu-ns-domain-ns0.args b/tests/qemuxml2argvdata/qemu-ns-domain-ns0.args
index 4711cfcd93..e9f081d8a1 100644
--- a/tests/qemuxml2argvdata/qemu-ns-domain-ns0.args
+++ b/tests/qemuxml2argvdata/qemu-ns-domain-ns0.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 ARGUMENT \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/qemu-ns-no-env.args b/tests/qemuxml2argvdata/qemu-ns-no-env.args
index 879f0b3e40..73077c6bed 100644
--- a/tests/qemuxml2argvdata/qemu-ns-no-env.args
+++ b/tests/qemuxml2argvdata/qemu-ns-no-env.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -unknown parameter \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/restore-v2-fd.args b/tests/qemuxml2argvdata/restore-v2-fd.args
index 96a756603d..99dc12827b 100644
--- a/tests/qemuxml2argvdata/restore-v2-fd.args
+++ b/tests/qemuxml2argvdata/restore-v2-fd.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -incoming fd:7 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
diff --git a/tests/qemuxml2argvdata/restore-v2.args b/tests/qemuxml2argvdata/restore-v2.args
index c930c83f0c..34c8ca8bfa 100644
--- a/tests/qemuxml2argvdata/restore-v2.args
+++ b/tests/qemuxml2argvdata/restore-v2.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -incoming exec:cat \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/riscv64-virt-pci.args b/tests/qemuxml2argvdata/riscv64-virt-pci.args
index 5833041823..d981bfe2c7 100644
--- a/tests/qemuxml2argvdata/riscv64-virt-pci.args
+++ b/tests/qemuxml2argvdata/riscv64-virt-pci.args
@@ -26,7 +26,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-riscv64/.config \
 -boot strict=on \
 -kernel /var/lib/libvirt/images/riscv64.bbl \
 -append root=/dev/vda \
--drive file=/var/lib/libvirt/images/riscv64.qcow2,format=qcow2,if=none,id=drive-virtio-disk0 \
--device virtio-blk-pci,bus=pcie.0,addr=0x1,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/riscv64.qcow2","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"qcow2","file":"libvirt-1-storage"}' \
+-device virtio-blk-pci,bus=pcie.0,addr=0x1,drive=libvirt-1-format,id=virtio-disk0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/riscv64-virt.args b/tests/qemuxml2argvdata/riscv64-virt.args
index ba21b2f307..05f8752120 100644
--- a/tests/qemuxml2argvdata/riscv64-virt.args
+++ b/tests/qemuxml2argvdata/riscv64-virt.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-riscv64/.config \
 -boot strict=on \
 -kernel /var/lib/libvirt/images/bbl \
 -append 'console=ttyS0 ro root=/dev/vda' \
--drive file=/var/lib/libvirt/images/stage4-disk.img,format=raw,if=none,id=drive-virtio-disk0 \
--device virtio-blk-device,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/stage4-disk.img","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device virtio-blk-device,drive=libvirt-1-format,id=virtio-disk0,bootindex=1 \
 -chardev pty,id=charserial0 \
 -serial chardev:charserial0 \
 -audiodev '{"id":"audio1","driver":"none"}' \
diff --git a/tests/qemuxml2argvdata/seclabel-dac-none.args b/tests/qemuxml2argvdata/seclabel-dac-none.args
index dbcb959334..24193d008b 100644
--- a/tests/qemuxml2argvdata/seclabel-dac-none.args
+++ b/tests/qemuxml2argvdata/seclabel-dac-none.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/seclabel-dynamic-baselabel.args b/tests/qemuxml2argvdata/seclabel-dynamic-baselabel.args
index dbcb959334..24193d008b 100644
--- a/tests/qemuxml2argvdata/seclabel-dynamic-baselabel.args
+++ b/tests/qemuxml2argvdata/seclabel-dynamic-baselabel.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/seclabel-dynamic-labelskip.args b/tests/qemuxml2argvdata/seclabel-dynamic-labelskip.args
index dbcb959334..24193d008b 100644
--- a/tests/qemuxml2argvdata/seclabel-dynamic-labelskip.args
+++ b/tests/qemuxml2argvdata/seclabel-dynamic-labelskip.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/seclabel-dynamic-override.args b/tests/qemuxml2argvdata/seclabel-dynamic-override.args
index c722de5d51..abc349c7f8 100644
--- a/tests/qemuxml2argvdata/seclabel-dynamic-override.args
+++ b/tests/qemuxml2argvdata/seclabel-dynamic-override.args
@@ -26,10 +26,12 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
--drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,id=drive-ide0-0-1 \
--device ide-hd,bus=ide.0,unit=1,drive=drive-ide0-0-1,id=ide0-0-1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-2-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-2-format","read-only":false,"driver":"raw","file":"libvirt-2-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-2-format,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest2","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=1,drive=libvirt-1-format,id=ide0-0-1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/seclabel-dynamic-relabel.args b/tests/qemuxml2argvdata/seclabel-dynamic-relabel.args
index dbcb959334..24193d008b 100644
--- a/tests/qemuxml2argvdata/seclabel-dynamic-relabel.args
+++ b/tests/qemuxml2argvdata/seclabel-dynamic-relabel.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/seclabel-dynamic.args b/tests/qemuxml2argvdata/seclabel-dynamic.args
index dbcb959334..24193d008b 100644
--- a/tests/qemuxml2argvdata/seclabel-dynamic.args
+++ b/tests/qemuxml2argvdata/seclabel-dynamic.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/seclabel-none.args b/tests/qemuxml2argvdata/seclabel-none.args
index dbcb959334..24193d008b 100644
--- a/tests/qemuxml2argvdata/seclabel-none.args
+++ b/tests/qemuxml2argvdata/seclabel-none.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/seclabel-static-labelskip.args b/tests/qemuxml2argvdata/seclabel-static-labelskip.args
index dbcb959334..24193d008b 100644
--- a/tests/qemuxml2argvdata/seclabel-static-labelskip.args
+++ b/tests/qemuxml2argvdata/seclabel-static-labelskip.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/seclabel-static-relabel.args b/tests/qemuxml2argvdata/seclabel-static-relabel.args
index dbcb959334..24193d008b 100644
--- a/tests/qemuxml2argvdata/seclabel-static-relabel.args
+++ b/tests/qemuxml2argvdata/seclabel-static-relabel.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/seclabel-static.args b/tests/qemuxml2argvdata/seclabel-static.args
index dbcb959334..24193d008b 100644
--- a/tests/qemuxml2argvdata/seclabel-static.args
+++ b/tests/qemuxml2argvdata/seclabel-static.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/serial-dev-chardev-iobase.args b/tests/qemuxml2argvdata/serial-dev-chardev-iobase.args
index 13911e128c..735dcd053a 100644
--- a/tests/qemuxml2argvdata/serial-dev-chardev-iobase.args
+++ b/tests/qemuxml2argvdata/serial-dev-chardev-iobase.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -chardev tty,id=charserial0,path=/dev/ttyS2 \
 -device isa-serial,chardev=charserial0,id=serial0,index=0,iobase=1016,irq=4 \
 -audiodev '{"id":"audio1","driver":"none"}' \
diff --git a/tests/qemuxml2argvdata/serial-dev-chardev.args b/tests/qemuxml2argvdata/serial-dev-chardev.args
index 9f023da2d4..52f9c3d0bb 100644
--- a/tests/qemuxml2argvdata/serial-dev-chardev.args
+++ b/tests/qemuxml2argvdata/serial-dev-chardev.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -chardev tty,id=charserial0,path=/dev/ttyS2 \
 -device isa-serial,chardev=charserial0,id=serial0,index=0 \
 -audiodev '{"id":"audio1","driver":"none"}' \
diff --git a/tests/qemuxml2argvdata/serial-file-chardev.args b/tests/qemuxml2argvdata/serial-file-chardev.args
index 3c4b30c577..3d6c0c06af 100644
--- a/tests/qemuxml2argvdata/serial-file-chardev.args
+++ b/tests/qemuxml2argvdata/serial-file-chardev.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -add-fd set=0,fd=1750,opaque=serial0-source \
 -chardev file,id=charserial0,path=/dev/fdset/0,append=on \
 -device isa-serial,chardev=charserial0,id=serial0,index=0 \
diff --git a/tests/qemuxml2argvdata/serial-file-log.args b/tests/qemuxml2argvdata/serial-file-log.args
index c06750eac6..6be67736e5 100644
--- a/tests/qemuxml2argvdata/serial-file-log.args
+++ b/tests/qemuxml2argvdata/serial-file-log.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -add-fd set=0,fd=1750,opaque=serial0-source \
 -add-fd set=1,fd=1751,opaque=serial0-log \
 -chardev file,id=charserial0,path=/dev/fdset/0,append=on,logfile=/dev/fdset/1,logappend=on \
diff --git a/tests/qemuxml2argvdata/serial-many-chardev.args b/tests/qemuxml2argvdata/serial-many-chardev.args
index 5a82badf63..0a341b32df 100644
--- a/tests/qemuxml2argvdata/serial-many-chardev.args
+++ b/tests/qemuxml2argvdata/serial-many-chardev.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -chardev pty,id=charserial0 \
 -device isa-serial,chardev=charserial0,id=serial0,index=0 \
 -add-fd set=0,fd=1750,opaque=serial1-source \
diff --git a/tests/qemuxml2argvdata/serial-pty-chardev.args b/tests/qemuxml2argvdata/serial-pty-chardev.args
index cf08357b27..a495cc9c92 100644
--- a/tests/qemuxml2argvdata/serial-pty-chardev.args
+++ b/tests/qemuxml2argvdata/serial-pty-chardev.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -chardev pty,id=charserial0 \
 -device isa-serial,chardev=charserial0,id=serial0,index=0 \
 -audiodev '{"id":"audio1","driver":"none"}' \
diff --git a/tests/qemuxml2argvdata/serial-spiceport.args b/tests/qemuxml2argvdata/serial-spiceport.args
index f736af38d5..8b1b3460d3 100644
--- a/tests/qemuxml2argvdata/serial-spiceport.args
+++ b/tests/qemuxml2argvdata/serial-spiceport.args
@@ -25,8 +25,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -chardev spiceport,id=charserial0,name=org.qemu.console.serial.0 \
 -device isa-serial,chardev=charserial0,id=serial0,index=0 \
 -device usb-tablet,id=input0,bus=usb.0,port=1 \
diff --git a/tests/qemuxml2argvdata/serial-tcp-chardev.args b/tests/qemuxml2argvdata/serial-tcp-chardev.args
index 6450ecdf8d..d45da68a0f 100644
--- a/tests/qemuxml2argvdata/serial-tcp-chardev.args
+++ b/tests/qemuxml2argvdata/serial-tcp-chardev.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -chardev socket,id=charserial0,host=127.0.0.1,port=9999 \
 -device isa-serial,chardev=charserial0,id=serial0,index=0 \
 -audiodev '{"id":"audio1","driver":"none"}' \
diff --git a/tests/qemuxml2argvdata/serial-tcp-telnet-chardev.args b/tests/qemuxml2argvdata/serial-tcp-telnet-chardev.args
index 7ba22be033..57fd5567e1 100644
--- a/tests/qemuxml2argvdata/serial-tcp-telnet-chardev.args
+++ b/tests/qemuxml2argvdata/serial-tcp-telnet-chardev.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -chardev socket,id=charserial0,host=127.0.0.1,port=9999,telnet=on,server=on,wait=off \
 -device isa-serial,chardev=charserial0,id=serial0,index=0 \
 -audiodev '{"id":"audio1","driver":"none"}' \
diff --git a/tests/qemuxml2argvdata/serial-tcp-tlsx509-chardev-notls.args b/tests/qemuxml2argvdata/serial-tcp-tlsx509-chardev-notls.args
index 9a8988b79e..e6450c1fbc 100644
--- a/tests/qemuxml2argvdata/serial-tcp-tlsx509-chardev-notls.args
+++ b/tests/qemuxml2argvdata/serial-tcp-tlsx509-chardev-notls.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -chardev udp,id=charserial0,host=127.0.0.1,port=2222,localaddr=127.0.0.1,localport=1111 \
 -device isa-serial,chardev=charserial0,id=serial0,index=0 \
 -chardev socket,id=charserial1,host=127.0.0.1,port=5555 \
diff --git a/tests/qemuxml2argvdata/serial-tcp-tlsx509-chardev-verify.args b/tests/qemuxml2argvdata/serial-tcp-tlsx509-chardev-verify.args
index 9cdf2ca6f5..3e487aabbc 100644
--- a/tests/qemuxml2argvdata/serial-tcp-tlsx509-chardev-verify.args
+++ b/tests/qemuxml2argvdata/serial-tcp-tlsx509-chardev-verify.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -chardev udp,id=charserial0,host=127.0.0.1,port=2222,localaddr=127.0.0.1,localport=1111 \
 -device isa-serial,chardev=charserial0,id=serial0,index=0 \
 -object tls-creds-x509,id=objcharserial1_tls0,dir=/etc/pki/libvirt-chardev,endpoint=client,verify-peer=on \
diff --git a/tests/qemuxml2argvdata/serial-tcp-tlsx509-chardev.args b/tests/qemuxml2argvdata/serial-tcp-tlsx509-chardev.args
index 9cdf2ca6f5..3e487aabbc 100644
--- a/tests/qemuxml2argvdata/serial-tcp-tlsx509-chardev.args
+++ b/tests/qemuxml2argvdata/serial-tcp-tlsx509-chardev.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -chardev udp,id=charserial0,host=127.0.0.1,port=2222,localaddr=127.0.0.1,localport=1111 \
 -device isa-serial,chardev=charserial0,id=serial0,index=0 \
 -object tls-creds-x509,id=objcharserial1_tls0,dir=/etc/pki/libvirt-chardev,endpoint=client,verify-peer=on \
diff --git a/tests/qemuxml2argvdata/serial-tcp-tlsx509-secret-chardev.args b/tests/qemuxml2argvdata/serial-tcp-tlsx509-secret-chardev.args
index 3cf523bb80..9bb1198232 100644
--- a/tests/qemuxml2argvdata/serial-tcp-tlsx509-secret-chardev.args
+++ b/tests/qemuxml2argvdata/serial-tcp-tlsx509-secret-chardev.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -chardev udp,id=charserial0,host=127.0.0.1,port=2222,localaddr=127.0.0.1,localport=1111 \
 -device isa-serial,chardev=charserial0,id=serial0,index=0 \
 -object secret,id=charserial1-secret0,data=9eao5F8qtkGt+seB1HYivWIxbtwUu6MQtg1zpj/oDtUsPr1q8wBYM91uEHCn6j/1,keyid=masterKey0,iv=AAECAwQFBgcICQoLDA0ODw==,format=base64 \
diff --git a/tests/qemuxml2argvdata/serial-udp-chardev.args b/tests/qemuxml2argvdata/serial-udp-chardev.args
index 4cbd3b4f4c..e2e55363d5 100644
--- a/tests/qemuxml2argvdata/serial-udp-chardev.args
+++ b/tests/qemuxml2argvdata/serial-udp-chardev.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -chardev udp,id=charserial0,host=127.0.0.1,port=9998,localaddr=127.0.0.1,localport=9999 \
 -device isa-serial,chardev=charserial0,id=serial0,index=0 \
 -chardev udp,id=charserial1,host=,port=9999,localaddr=,localport=0 \
diff --git a/tests/qemuxml2argvdata/serial-vc-chardev.args b/tests/qemuxml2argvdata/serial-vc-chardev.args
index 7731c71fcc..e3eff53d26 100644
--- a/tests/qemuxml2argvdata/serial-vc-chardev.args
+++ b/tests/qemuxml2argvdata/serial-vc-chardev.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -chardev vc,id=charserial0 \
 -device isa-serial,chardev=charserial0,id=serial0,index=0 \
 -audiodev '{"id":"audio1","driver":"none"}' \
diff --git a/tests/qemuxml2argvdata/smbios-type-fwcfg.args b/tests/qemuxml2argvdata/smbios-type-fwcfg.args
index 986f72f6c7..e8897de22d 100644
--- a/tests/qemuxml2argvdata/smbios-type-fwcfg.args
+++ b/tests/qemuxml2argvdata/smbios-type-fwcfg.args
@@ -31,8 +31,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/smbios.args b/tests/qemuxml2argvdata/smbios.args
index 31f56159ca..c4ac933b81 100644
--- a/tests/qemuxml2argvdata/smbios.args
+++ b/tests/qemuxml2argvdata/smbios.args
@@ -31,8 +31,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/smp-dies.args b/tests/qemuxml2argvdata/smp-dies.args
index 4b0188b706..a2852faa74 100644
--- a/tests/qemuxml2argvdata/smp-dies.args
+++ b/tests/qemuxml2argvdata/smp-dies.args
@@ -26,7 +26,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/smp.args b/tests/qemuxml2argvdata/smp.args
index d2d4368d29..a4d5aea536 100644
--- a/tests/qemuxml2argvdata/smp.args
+++ b/tests/qemuxml2argvdata/smp.args
@@ -26,7 +26,8 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/sound-device.args b/tests/qemuxml2argvdata/sound-device.args
index 6d8c2b5372..a017aa8567 100644
--- a/tests/qemuxml2argvdata/sound-device.args
+++ b/tests/qemuxml2argvdata/sound-device.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -soundhw pcspk \
 -device ES1370,id=sound1,audiodev=audio1,bus=pci.0,addr=0x2 \
diff --git a/tests/qemuxml2argvdata/sound.args b/tests/qemuxml2argvdata/sound.args
index c2f923e51a..80385bfa31 100644
--- a/tests/qemuxml2argvdata/sound.args
+++ b/tests/qemuxml2argvdata/sound.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -soundhw pcspk \
 -device ES1370,id=sound1,audiodev=audio1,bus=pci.0,addr=0x2 \
diff --git a/tests/qemuxml2argvdata/sparc-minimal.args b/tests/qemuxml2argvdata/sparc-minimal.args
index 5877b88013..a265a3ad38 100644
--- a/tests/qemuxml2argvdata/sparc-minimal.args
+++ b/tests/qemuxml2argvdata/sparc-minimal.args
@@ -25,9 +25,11 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-redhat62sparc/.config \
 -no-shutdown \
 -boot strict=on \
 -usb \
--drive file=/home/berrange/VirtualMachines/redhat-6.2-sparc.img,format=qcow2,if=none,id=drive-scsi0-0-0-0 \
--device scsi-hd,bus=scsi.0,scsi-id=0,drive=drive-scsi0-0-0-0,id=scsi0-0-0-0,bootindex=1 \
--drive file=/home/berrange/VirtualMachines/redhat-6.2-sparc.iso,format=raw,if=none,id=drive-scsi0-0-0-1,readonly=on \
--device scsi-cd,bus=scsi.0,scsi-id=1,drive=drive-scsi0-0-0-1,id=scsi0-0-0-1 \
+-blockdev '{"driver":"file","filename":"/home/berrange/VirtualMachines/redhat-6.2-sparc.img","node-name":"libvirt-2-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-2-format","read-only":false,"driver":"qcow2","file":"libvirt-2-storage"}' \
+-device scsi-hd,bus=scsi.0,scsi-id=0,drive=libvirt-2-format,id=scsi0-0-0-0,bootindex=1 \
+-blockdev '{"driver":"file","filename":"/home/berrange/VirtualMachines/redhat-6.2-sparc.iso","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":true,"driver":"raw","file":"libvirt-1-storage"}' \
+-device scsi-cd,bus=scsi.0,scsi-id=1,drive=libvirt-1-format,id=scsi0-0-0-1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/video-device-pciaddr-default.args b/tests/qemuxml2argvdata/video-device-pciaddr-default.args
index 50f5067a9d..e216aacc64 100644
--- a/tests/qemuxml2argvdata/video-device-pciaddr-default.args
+++ b/tests/qemuxml2argvdata/video-device-pciaddr-default.args
@@ -25,8 +25,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/var/lib/libvirt/images/QEMUGuest1,format=qcow2,if=none,id=drive-ide0-0-0,cache=none \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/QEMUGuest1","node-name":"libvirt-1-storage","cache":{"direct":true,"no-flush":false},"auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"cache":{"direct":true,"no-flush":false},"driver":"qcow2","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -vnc 127.0.0.1:0,audiodev=audio1 \
 -device qxl-vga,id=video0,max_outputs=1,ram_size=67108864,vram_size=67108864,bus=pci.0,addr=0x3 \
diff --git a/tests/qemuxml2argvdata/video-none-device.args b/tests/qemuxml2argvdata/video-none-device.args
index 533bb92786..e47545e72a 100644
--- a/tests/qemuxml2argvdata/video-none-device.args
+++ b/tests/qemuxml2argvdata/video-none-device.args
@@ -25,8 +25,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -vnc 127.0.0.1:0,audiodev=audio1 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 \
diff --git a/tests/qemuxml2argvdata/video-qxl-device-vgamem.args b/tests/qemuxml2argvdata/video-qxl-device-vgamem.args
index 7c5d1ef124..1332f798da 100644
--- a/tests/qemuxml2argvdata/video-qxl-device-vgamem.args
+++ b/tests/qemuxml2argvdata/video-qxl-device-vgamem.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/var/lib/libvirt/images/QEMUGuest1,format=qcow2,if=none,id=drive-ide0-0-0,cache=none \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/QEMUGuest1","node-name":"libvirt-1-storage","cache":{"direct":true,"no-flush":false},"auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"cache":{"direct":true,"no-flush":false},"driver":"qcow2","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device qxl-vga,id=video0,max_outputs=1,ram_size=67108864,vram_size=67108864,vgamem_mb=16,bus=pci.0,addr=0x2 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 \
diff --git a/tests/qemuxml2argvdata/video-qxl-device.args b/tests/qemuxml2argvdata/video-qxl-device.args
index 666f47a59c..dc679b7aa5 100644
--- a/tests/qemuxml2argvdata/video-qxl-device.args
+++ b/tests/qemuxml2argvdata/video-qxl-device.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/var/lib/libvirt/images/QEMUGuest1,format=qcow2,if=none,id=drive-ide0-0-0,cache=none \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/QEMUGuest1","node-name":"libvirt-1-storage","cache":{"direct":true,"no-flush":false},"auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"cache":{"direct":true,"no-flush":false},"driver":"qcow2","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device qxl-vga,id=video0,max_outputs=1,ram_size=67108864,vram_size=67108864,bus=pci.0,addr=0x2 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 \
diff --git a/tests/qemuxml2argvdata/video-qxl-heads.args b/tests/qemuxml2argvdata/video-qxl-heads.args
index 10d431a633..653c46d005 100644
--- a/tests/qemuxml2argvdata/video-qxl-heads.args
+++ b/tests/qemuxml2argvdata/video-qxl-heads.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device qxl-vga,id=video0,max_outputs=1,ram_size=67108864,vram_size=67108864,bus=pci.0,addr=0x2 \
 -device qxl,id=video1,max_outputs=3,ram_size=67108864,vram_size=33554432,bus=pci.0,addr=0x4 \
diff --git a/tests/qemuxml2argvdata/video-qxl-noheads.args b/tests/qemuxml2argvdata/video-qxl-noheads.args
index 453c572a4b..8670066b20 100644
--- a/tests/qemuxml2argvdata/video-qxl-noheads.args
+++ b/tests/qemuxml2argvdata/video-qxl-noheads.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device qxl-vga,id=video0,max_outputs=1,ram_size=67108864,vram_size=67108864,bus=pci.0,addr=0x2 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 \
diff --git a/tests/qemuxml2argvdata/video-qxl-resolution.args b/tests/qemuxml2argvdata/video-qxl-resolution.args
index c48eef1b4a..f4c896e023 100644
--- a/tests/qemuxml2argvdata/video-qxl-resolution.args
+++ b/tests/qemuxml2argvdata/video-qxl-resolution.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device qxl-vga,id=video0,max_outputs=1,ram_size=67108864,vram_size=67108864,vgamem_mb=8,xres=1280,yres=720,bus=pci.0,addr=0x2 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 \
diff --git a/tests/qemuxml2argvdata/video-qxl-sec-device-vgamem.args b/tests/qemuxml2argvdata/video-qxl-sec-device-vgamem.args
index 560bbfd9b0..42de87528c 100644
--- a/tests/qemuxml2argvdata/video-qxl-sec-device-vgamem.args
+++ b/tests/qemuxml2argvdata/video-qxl-sec-device-vgamem.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/var/lib/libvirt/images/QEMUGuest1,format=qcow2,if=none,id=drive-ide0-0-0,cache=none \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/QEMUGuest1","node-name":"libvirt-1-storage","cache":{"direct":true,"no-flush":false},"auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"cache":{"direct":true,"no-flush":false},"driver":"qcow2","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device qxl-vga,id=video0,max_outputs=1,ram_size=67108864,vram_size=67108864,vgamem_mb=16,bus=pci.0,addr=0x2 \
 -device qxl,id=video1,max_outputs=1,ram_size=67108864,vram_size=67108864,vgamem_mb=16,bus=pci.0,addr=0x4 \
diff --git a/tests/qemuxml2argvdata/video-qxl-sec-device.args b/tests/qemuxml2argvdata/video-qxl-sec-device.args
index 9d9d883e60..c55e3eb9db 100644
--- a/tests/qemuxml2argvdata/video-qxl-sec-device.args
+++ b/tests/qemuxml2argvdata/video-qxl-sec-device.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/var/lib/libvirt/images/QEMUGuest1,format=qcow2,if=none,id=drive-ide0-0-0,cache=none \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/QEMUGuest1","node-name":"libvirt-1-storage","cache":{"direct":true,"no-flush":false},"auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"cache":{"direct":true,"no-flush":false},"driver":"qcow2","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device qxl-vga,id=video0,max_outputs=1,ram_size=67108864,vram_size=67108864,bus=pci.0,addr=0x2 \
 -device qxl,id=video1,max_outputs=1,ram_size=67108864,vram_size=67108864,bus=pci.0,addr=0x4 \
diff --git a/tests/qemuxml2argvdata/video-vga-device-vgamem.args b/tests/qemuxml2argvdata/video-vga-device-vgamem.args
index 73fe9a0672..8d1108216e 100644
--- a/tests/qemuxml2argvdata/video-vga-device-vgamem.args
+++ b/tests/qemuxml2argvdata/video-vga-device-vgamem.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/var/lib/libvirt/images/QEMUGuest1,format=qcow2,if=none,id=drive-ide0-0-0,cache=none \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/QEMUGuest1","node-name":"libvirt-1-storage","cache":{"direct":true,"no-flush":false},"auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"cache":{"direct":true,"no-flush":false},"driver":"qcow2","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device VGA,id=video0,vgamem_mb=16,bus=pci.0,addr=0x2 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 \
diff --git a/tests/qemuxml2argvdata/video-vga-device.args b/tests/qemuxml2argvdata/video-vga-device.args
index 296ac69132..1a832df4cb 100644
--- a/tests/qemuxml2argvdata/video-vga-device.args
+++ b/tests/qemuxml2argvdata/video-vga-device.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/var/lib/libvirt/images/QEMUGuest1,format=qcow2,if=none,id=drive-ide0-0-0,cache=none \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/QEMUGuest1","node-name":"libvirt-1-storage","cache":{"direct":true,"no-flush":false},"auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"cache":{"direct":true,"no-flush":false},"driver":"qcow2","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device VGA,id=video0,bus=pci.0,addr=0x2 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 \
diff --git a/tests/qemuxml2argvdata/video-vga-qxl-heads.args b/tests/qemuxml2argvdata/video-vga-qxl-heads.args
index 10d431a633..653c46d005 100644
--- a/tests/qemuxml2argvdata/video-vga-qxl-heads.args
+++ b/tests/qemuxml2argvdata/video-vga-qxl-heads.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device qxl-vga,id=video0,max_outputs=1,ram_size=67108864,vram_size=67108864,bus=pci.0,addr=0x2 \
 -device qxl,id=video1,max_outputs=3,ram_size=67108864,vram_size=33554432,bus=pci.0,addr=0x4 \
diff --git a/tests/qemuxml2argvdata/video-virtio-gpu-ccw.args b/tests/qemuxml2argvdata/video-virtio-gpu-ccw.args
index 42354c6eca..8267f837bc 100644
--- a/tests/qemuxml2argvdata/video-virtio-gpu-ccw.args
+++ b/tests/qemuxml2argvdata/video-virtio-gpu-ccw.args
@@ -23,8 +23,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -rtc base=utc \
 -no-shutdown \
 -boot strict=on \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-virtio-disk0 \
--device virtio-blk-ccw,devno=fe.0.0000,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device virtio-blk-ccw,devno=fe.0.0000,drive=libvirt-1-format,id=virtio-disk0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -vnc 127.0.0.1:0,audiodev=audio1 \
 -device virtio-gpu-ccw,id=video0,max_outputs=1,devno=fe.0.0002 \
diff --git a/tests/qemuxml2argvdata/video-virtio-gpu-device.args b/tests/qemuxml2argvdata/video-virtio-gpu-device.args
index 72d3c3bde3..1dd818f5fc 100644
--- a/tests/qemuxml2argvdata/video-virtio-gpu-device.args
+++ b/tests/qemuxml2argvdata/video-virtio-gpu-device.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/var/lib/libvirt/images/QEMUGuest1,format=qcow2,if=none,id=drive-ide0-0-0,cache=none \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/QEMUGuest1","node-name":"libvirt-1-storage","cache":{"direct":true,"no-flush":false},"auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"cache":{"direct":true,"no-flush":false},"driver":"qcow2","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-gpu-pci,id=video0,max_outputs=1,bus=pci.0,addr=0x2 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 \
diff --git a/tests/qemuxml2argvdata/video-virtio-gpu-sdl-gl.args b/tests/qemuxml2argvdata/video-virtio-gpu-sdl-gl.args
index 27343bc101..d4ab9fac16 100644
--- a/tests/qemuxml2argvdata/video-virtio-gpu-sdl-gl.args
+++ b/tests/qemuxml2argvdata/video-virtio-gpu-sdl-gl.args
@@ -25,8 +25,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/var/lib/libvirt/images/QEMUGuest1,format=qcow2,if=none,id=drive-ide0-0-0,cache=none \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/QEMUGuest1","node-name":"libvirt-1-storage","cache":{"direct":true,"no-flush":false},"auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"cache":{"direct":true,"no-flush":false},"driver":"qcow2","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -display sdl,gl=on \
 -device virtio-gpu-pci,id=video0,virgl=on,max_outputs=1,bus=pci.0,addr=0x2 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 \
diff --git a/tests/qemuxml2argvdata/video-virtio-gpu-spice-gl.args b/tests/qemuxml2argvdata/video-virtio-gpu-spice-gl.args
index c16450e3fd..f198d4da8b 100644
--- a/tests/qemuxml2argvdata/video-virtio-gpu-spice-gl.args
+++ b/tests/qemuxml2argvdata/video-virtio-gpu-spice-gl.args
@@ -25,8 +25,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/var/lib/libvirt/images/QEMUGuest1,format=qcow2,if=none,id=drive-ide0-0-0,cache=none \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/QEMUGuest1","node-name":"libvirt-1-storage","cache":{"direct":true,"no-flush":false},"auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"cache":{"direct":true,"no-flush":false},"driver":"qcow2","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"spice"}' \
 -spice port=0,gl=on,rendernode=/dev/dri/foo,seamless-migration=on \
 -device virtio-gpu-pci,id=video0,virgl=on,max_outputs=1,bus=pci.0,addr=0x2 \
diff --git a/tests/qemuxml2argvdata/video-virtio-gpu-virgl.args b/tests/qemuxml2argvdata/video-virtio-gpu-virgl.args
index ab7686b3f8..140bee6187 100644
--- a/tests/qemuxml2argvdata/video-virtio-gpu-virgl.args
+++ b/tests/qemuxml2argvdata/video-virtio-gpu-virgl.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/var/lib/libvirt/images/QEMUGuest1,format=qcow2,if=none,id=drive-ide0-0-0,cache=none \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/QEMUGuest1","node-name":"libvirt-1-storage","cache":{"direct":true,"no-flush":false},"auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"cache":{"direct":true,"no-flush":false},"driver":"qcow2","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-gpu-pci,id=video0,virgl=on,max_outputs=1,bus=pci.0,addr=0x2 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 \
diff --git a/tests/qemuxml2argvdata/video-virtio-vga.args b/tests/qemuxml2argvdata/video-virtio-vga.args
index 75be9dc8ed..704a6334b0 100644
--- a/tests/qemuxml2argvdata/video-virtio-vga.args
+++ b/tests/qemuxml2argvdata/video-virtio-vga.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/var/lib/libvirt/images/QEMUGuest1,format=qcow2,if=none,id=drive-ide0-0-0,cache=none \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/QEMUGuest1","node-name":"libvirt-1-storage","cache":{"direct":true,"no-flush":false},"auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"cache":{"direct":true,"no-flush":false},"driver":"qcow2","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-vga,id=video0,max_outputs=1,bus=pci.0,addr=0x2 \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 \
diff --git a/tests/qemuxml2argvdata/virtio-rng-ccw.args b/tests/qemuxml2argvdata/virtio-rng-ccw.args
index 11650f12b3..a8de4a3789 100644
--- a/tests/qemuxml2argvdata/virtio-rng-ccw.args
+++ b/tests/qemuxml2argvdata/virtio-rng-ccw.args
@@ -25,8 +25,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-shutdown \
 -boot strict=on \
 -device virtio-serial-ccw,id=virtio-serial0,devno=fe.0.0001 \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-virtio-disk0 \
--device virtio-blk-ccw,devno=fe.0.0000,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device virtio-blk-ccw,devno=fe.0.0000,drive=libvirt-1-format,id=virtio-disk0,bootindex=1 \
 -chardev pty,id=charconsole0 \
 -device virtconsole,chardev=charconsole0,id=console0 \
 -audiodev '{"id":"audio1","driver":"none"}' \
diff --git a/tests/qemuxml2argvdata/vmcoreinfo.args b/tests/qemuxml2argvdata/vmcoreinfo.args
index b1912a19d9..e3a99cc8e7 100644
--- a/tests/qemuxml2argvdata/vmcoreinfo.args
+++ b/tests/qemuxml2argvdata/vmcoreinfo.args
@@ -26,8 +26,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
 -no-acpi \
 -boot strict=on \
 -usb \
--drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
+-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \
+-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \
+-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
 -device vmcoreinfo \
diff --git a/tests/testutilsqemu.c b/tests/testutilsqemu.c
index 6dabbaf36a..d44dc09219 100644
--- a/tests/testutilsqemu.c
+++ b/tests/testutilsqemu.c
@@ -856,6 +856,10 @@ testQemuInfoSetArgs(struct testQemuInfo *info,
     if (!(info->args.fakeCaps = virQEMUCapsNew()))
         abort();

+    /* until removal of the flags is completed we force them also in tests */
+    virQEMUCapsSet(info->args.fakeCaps, QEMU_CAPS_BLOCKDEV);
+    virQEMUCapsSet(info->args.fakeCaps, QEMU_CAPS_BLOCKDEV_HOSTDEV_SCSI);
+
     info->conf = conf;
     info->args.newargs = true;

-- 
2.36.1



More information about the libvir-list mailing list