[PATCH for 8.7.0 00/80] Remove pre-blockdev disk setup code

Starting with libvirt-8.7.0 we'll support qemu-4.2 as minimum and thus we'll only use -blockdev now. Remove the old cruft. This series applies on top of the patches bumping minimum qemu version to qemu-4.2 I've posted earlier. The whole branch can be fetched at: git fetch https://gitlab.com/pipo.sk/libvirt.git blockdev-remove-2 Peter Krempa (80): qemu: Allways assume QEMU_CAPS_CHANGE_BACKING_FILE qemu: capabilities: Retire QEMU_CAPS_CHANGE_BACKING_FILE qemu: Always assume support for QEMU_CAPS_ACTIVE_COMMIT qemu: capabilities: Retire QEMU_CAPS_ACTIVE_COMMIT qemu: Always assume support for QEMU_CAPS_GLUSTER_DEBUG_LEVEL qemu: capabilities: Retire QEMU_CAPS_GLUSTER_DEBUG_LEVEL qemu: Always assume support for QEMU_CAPS_DRIVE_DISCARD and QEMU_CAPS_DRIVE_DETECT_ZEROES qemu: capabilities: Retire QEMU_CAPS_DRIVE_DISCARD and QEMU_CAPS_DRIVE_DETECT_ZEROES qemuxml2argvtest: Use DO_TEST_CAPS_LATEST for all 'user-aliases' tests qemuxml2xmltest: Modernize all test cases using QEMU_CAPS_QCOW2_LUKS qemu: Always assume support for QEMU_CAPS_QCOW2_LUKS qemu: capabilities: Retire QEMU_CAPS_QCOW2_LUKS qemu: capabilities: Unconditionally set QEMU_CAPS_BLOCKDEV/QEMU_CAPS_BLOCKDEV_HOSTDEV_SCSI tests: Force QEMU_CAPS_BLOCKDEV(_HOSTDEV_SCSI) in fake caps tests qemu: Refactor access to 'qomName' field of the qemu disk private data qemu: command: Always assume support for QEMU_CAPS_SCSI_DISK_DEVICE_ID qemu: capabilities: Retire capabilities used for -blockdev detection qemu: Remove code conditional on QEMU_CAPS_BLOCKDEV_HOSTDEV_SCSI qemu: capabilities: Retire QEMU_CAPS_BLOCKDEV_HOSTDEV_SCSI qemu: block: Remove legacy spellings for InetSocketAddress qemu: migration: Remove pre-blockdev code paths qemuMigrationSrcNBDStorageCopyBlockdev: Remove some arguments qemu: migration: Assume support for QEMU_CAPS_BLOCKDEV_DEL qemu: capabilities: Retire QEMU_CAPS_BLOCKDEV_DEL qemu: snapshot: Remove pre-blockdev code paths qemu: Remove unused code for pre-blockdev disk snapshot monitor interaction qemu: block: Remove pre-blockdev code paths qemu: migration_cookie: Remove pre-blockdev code paths qemu: validate: Remove impossible validation checks qemu: process: Remove pre-blockdev code paths qemu: blockjob: Remove legacy block job completion code qemu: Remove legacy block job event processing handler qemu: monitor: Remove infrastructure for BLOCK_JOB_* events qemuDomainSetBlockThreshold: Remove pre-blockdev node name detection qemu: block: Remove 'qemuBlockNodeNamesDetect' and related infrastructure qemu: blockjob: Remove pre-blockdev blockjob setup qemu: alias: Remove check for QEMU_CAPS_BLOCKDEV qemuDomainGetStatsBlock: Remove pre-blockdev code paths qemu: block: Remove unused qemuBlockGetNodeData qemu: monitor: Remove unused qemuMonitorQueryNamedBlockNodes and clean up qemu: driver: Remove pre-blockdev code paths from qemuDomainBlockCopyCommon qemu: monitor: Remove unused qemuMonitorDriveMirror qemu: driver: Remove pre-blockdev code paths from qemuDomainBlockCommit qemu: monitor: Remove unused arguments of qemuMonitorBlockCommit qemu: driver: Remove pre-blockdev code paths from qemuDomainBlockPullCommon qemu: monitor: Remove unused arguments of qemuMonitorBlockStream qemu: monitor: Remove unused qemuMonitorDiskNameLookup qemu: driver: Remove pre-blockdev code paths from qemuDomainBlockPivot qemu: monitor: Remove unused qemuMonitorDrivePivot qemu: command: Remove pre-blockdev floppy setup qemu: Remove pre-blockdev PFLASH setup qemuDomainBlockResize: Always refuse resize of empty/readonly disks qemuDomainBlocksStatsGather: Remove pre-blockdev code paths qemu: monitor: Remove unused qemuMonitorBlockStatsUpdateCapacity qemu: driver: Remove remaining QEMU_CAPS_BLOCKDEV capability checks qemu: hotplug: Remove pre-blockdev code path from qemuDomainChangeEjectableMedia qemu: monitor: Remove unused qemuMonitor(Eject|Change)Media qemuhotplugtest: Switch to -blockdev mode qemuDomainRemoveDiskDevice: Remove special casing for disks on 'sd' bus qemu: hotplug: Remove pre-blockdev code paths qemu: block: Remove unused qemuBlockStorageSourceChainDetachPrepareLegacy qemu: Remove 'driveAlias' argument of qemuBlockStorageSourceDetachPrepare qemu: block: Remove support for legacy disk hotplug/unplug qemu: monitor: Remove unused qemuMonitorAddDrive/qemuMonitorDriveDel qemu: command: Delegate qemuBuildDriveStr to SD cards only qemu: command: Generate -drive for SD cards via JSON props qemu: command: Remove unused qemuGetDriveSourceString qemu: domain: Assume QEMU_CAPS_BLOCKDEV for the domain private code qemuDomainSecretStorageSourcePrepare: Remove cabapbility check when preparing cookies qemuDomainDiskBlockJobIsSupported: Assume QEMU_CAPS_BLOCKDEV is supported qemuDomainDiskGetBackendAlias: Assume QEMU_CAPS_BLOCKDEV is supported qemuDomainValidateStorageSource: Remove QEMU_CAPS_BLOCKDEV validation qemuDomainValidateStorageSource: Remove 'maskBlockdev' argument qemuDomainDetermineDiskChain: Assume QEMU_CAPS_BLOCKDEV qemu: Retire QEMU_CAPS_BLOCKDEV qemu: Setup disk throttling for SD cards via monitor qemu: capabilities: Retire QEMU_CAPS_QUERY_NAMED_BLOCK_NODES qemu: Assume support and retire QEMU_CAPS_BLOCK_WRITE_THRESHOLD qemu: Assume and retire QEMU_CAPS_BLOCKDEV_BACKUP qemuDomainDetermineDiskChain: Remove 'report_broken' argument src/qemu/qemu_alias.c | 10 +- src/qemu/qemu_alias.h | 5 +- src/qemu/qemu_backup.c | 10 +- src/qemu/qemu_block.c | 461 +----------- src/qemu/qemu_block.h | 27 +- src/qemu/qemu_blockjob.c | 170 +---- src/qemu/qemu_capabilities.c | 67 +- src/qemu/qemu_capabilities.h | 30 +- src/qemu/qemu_checkpoint.c | 2 +- src/qemu/qemu_command.c | 655 ++--------------- src/qemu/qemu_command.h | 4 - src/qemu/qemu_domain.c | 195 ++--- src/qemu/qemu_domain.h | 14 +- src/qemu/qemu_driver.c | 564 ++++----------- src/qemu/qemu_hotplug.c | 118 +-- src/qemu/qemu_migration.c | 147 +--- src/qemu/qemu_migration_cookie.c | 19 +- src/qemu/qemu_monitor.c | 184 +---- src/qemu/qemu_monitor.h | 62 -- src/qemu/qemu_monitor_json.c | 447 +----------- src/qemu/qemu_monitor_json.h | 53 -- src/qemu/qemu_monitor_text.c | 82 --- src/qemu/qemu_monitor_text.h | 6 - src/qemu/qemu_process.c | 209 +----- src/qemu/qemu_snapshot.c | 125 +--- src/qemu/qemu_validate.c | 34 +- tests/domaincapsdata/qemu_4.2.0.ppc64.xml | 2 +- tests/qemublocktest.c | 4 +- .../caps_4.2.0.aarch64.xml | 15 - .../qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 11 - .../qemucapabilitiesdata/caps_4.2.0.s390x.xml | 15 - .../caps_4.2.0.x86_64.xml | 15 - .../caps_5.0.0.aarch64.xml | 15 - .../qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 15 - .../caps_5.0.0.riscv64.xml | 15 - .../caps_5.0.0.x86_64.xml | 15 - .../qemucapabilitiesdata/caps_5.1.0.sparc.xml | 15 - .../caps_5.1.0.x86_64.xml | 15 - .../caps_5.2.0.aarch64.xml | 15 - .../qemucapabilitiesdata/caps_5.2.0.ppc64.xml | 15 - .../caps_5.2.0.riscv64.xml | 15 - .../qemucapabilitiesdata/caps_5.2.0.s390x.xml | 15 - .../caps_5.2.0.x86_64.xml | 15 - .../caps_6.0.0.aarch64.xml | 15 - .../qemucapabilitiesdata/caps_6.0.0.s390x.xml | 15 - .../caps_6.0.0.x86_64.xml | 15 - .../caps_6.1.0.x86_64.xml | 15 - .../caps_6.2.0.aarch64.xml | 15 - .../qemucapabilitiesdata/caps_6.2.0.ppc64.xml | 15 - .../caps_6.2.0.x86_64.xml | 15 - .../caps_7.0.0.aarch64.xml | 15 - .../qemucapabilitiesdata/caps_7.0.0.ppc64.xml | 15 - .../caps_7.0.0.x86_64.xml | 15 - .../caps_7.1.0.x86_64.xml | 15 - tests/qemuhotplugtest.c | 76 +- .../qemuhotplug-base-ccw-live+ccw-virtio.xml | 2 +- ...with-2-ccw-virtio+ccw-virtio-1-reverse.xml | 4 +- ...otplug-base-ccw-live-with-2-ccw-virtio.xml | 2 +- ...-with-ccw-virtio+ccw-virtio-2-explicit.xml | 2 +- ...-ccw-live-with-ccw-virtio+ccw-virtio-2.xml | 2 +- .../qemuhotplug-base-live+cdrom-scsi.xml | 2 +- .../qemuhotplug-base-live+cdrom-usb.xml | 2 +- ...uhotplug-base-live+disk-scsi-multipath.xml | 2 +- ...+disk-scsi-wwn+disk-scsi-duplicate-wwn.xml | 2 +- .../qemuhotplug-base-live+disk-scsi.xml | 2 +- .../qemuhotplug-base-live+disk-usb.xml | 2 +- .../qemuhotplug-base-live+disk-virtio.xml | 2 +- ...thout-scsi-controller-live+disk-scsi-2.xml | 2 +- ...monitorjson-nodename-basic-blockstats.json | 166 ----- ...onitorjson-nodename-basic-named-nodes.json | 268 ------- .../qemumonitorjson-nodename-basic.result | 16 - ...itorjson-nodename-blockjob-blockstats.json | 301 -------- ...torjson-nodename-blockjob-named-nodes.json | 682 ------------------ .../qemumonitorjson-nodename-blockjob.result | 26 - ...monitorjson-nodename-empty-blockstats.json | 2 - ...onitorjson-nodename-empty-named-nodes.json | 2 - .../qemumonitorjson-nodename-empty.result | 0 ...nitorjson-nodename-gluster-blockstats.json | 111 --- ...itorjson-nodename-gluster-named-nodes.json | 135 ---- .../qemumonitorjson-nodename-gluster.result | 11 - ...monitorjson-nodename-iscsi-blockstats.json | 113 --- ...onitorjson-nodename-iscsi-named-nodes.json | 114 --- .../qemumonitorjson-nodename-iscsi.result | 13 - ...umonitorjson-nodename-luks-blockstats.json | 58 -- ...monitorjson-nodename-luks-named-nodes.json | 109 --- .../qemumonitorjson-nodename-luks.result | 6 - ...mumonitorjson-nodename-old-blockstats.json | 160 ---- ...umonitorjson-nodename-old-named-nodes.json | 2 - .../qemumonitorjson-nodename-old.result | 0 ...itorjson-nodename-relative-blockstats.json | 329 --------- ...torjson-nodename-relative-named-nodes.json | 554 -------------- .../qemumonitorjson-nodename-relative.result | 33 - ...json-nodename-same-backing-blockstats.json | 221 ------ ...son-nodename-same-backing-named-nodes.json | 316 -------- ...mumonitorjson-nodename-same-backing.result | 23 - tests/qemumonitorjsontest.c | 105 +-- .../blockjob-mirror-in.xml | 1 + .../migration-in-params-in.xml | 1 + .../migration-out-nbd-out.xml | 1 + .../migration-out-nbd-tls-out.xml | 1 + .../migration-out-params-in.xml | 1 + tests/qemustatusxml2xmldata/upgrade-out.xml | 1 + .../qemustatusxml2xmldata/vcpus-multi-in.xml | 1 + .../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 +- tests/qemuxml2argvdata/disk-nvme.xml | 5 +- .../qemuxml2argvdata/encrypted-disk-usage.xml | 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 +- tests/qemuxml2argvdata/user-aliases-usb.args | 41 -- .../user-aliases-usb.x86_64-latest.args | 44 ++ tests/qemuxml2argvdata/user-aliases.args | 68 -- .../user-aliases.x86_64-latest.args | 74 ++ tests/qemuxml2argvdata/user-aliases.xml | 5 +- tests/qemuxml2argvdata/user-aliases2.args | 1 - .../user-aliases2.x86_64-latest.args | 39 + .../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/qemuxml2argvtest.c | 14 +- ...k-nvme.xml => disk-nvme.x86_64-latest.xml} | 0 ...=> encrypted-disk-usage.x86_64-latest.xml} | 0 ...k.xml => encrypted-disk.x86_64-latest.xml} | 5 +- ...ses.xml => user-aliases.x86_64-latest.xml} | 0 tests/qemuxml2xmltest.c | 15 +- 358 files changed, 1924 insertions(+), 8440 deletions(-) delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-basic-blockstats.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-basic-named-nodes.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-basic.result delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-blockjob-blockstats.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-blockjob-named-nodes.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-blockjob.result delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-empty-blockstats.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-empty-named-nodes.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-empty.result delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-gluster-blockstats.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-gluster-named-nodes.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-gluster.result delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-iscsi-blockstats.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-iscsi-named-nodes.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-iscsi.result delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-luks-blockstats.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-luks-named-nodes.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-luks.result delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-old-blockstats.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-old-named-nodes.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-old.result delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-relative-blockstats.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-relative-named-nodes.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-relative.result delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-same-backing-blockstats.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-same-backing-named-nodes.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-same-backing.result delete mode 100644 tests/qemuxml2argvdata/user-aliases-usb.args create mode 100644 tests/qemuxml2argvdata/user-aliases-usb.x86_64-latest.args delete mode 100644 tests/qemuxml2argvdata/user-aliases.args create mode 100644 tests/qemuxml2argvdata/user-aliases.x86_64-latest.args delete mode 120000 tests/qemuxml2argvdata/user-aliases2.args create mode 100644 tests/qemuxml2argvdata/user-aliases2.x86_64-latest.args rename tests/qemuxml2xmloutdata/{disk-nvme.xml => disk-nvme.x86_64-latest.xml} (100%) rename tests/qemuxml2xmloutdata/{encrypted-disk-usage.xml => encrypted-disk-usage.x86_64-latest.xml} (100%) rename tests/qemuxml2xmloutdata/{encrypted-disk.xml => encrypted-disk.x86_64-latest.xml} (89%) rename tests/qemuxml2xmloutdata/{user-aliases.xml => user-aliases.x86_64-latest.xml} (100%) -- 2.36.1

The 'change-backing-file' command was added in qemu-2.1 and doesn't have any dependancies. We use it as witness for using blockjobs with relative backing paths. Always assume it's support. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_driver.c | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 9013e6fb8d..15742706fc 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -14557,13 +14557,6 @@ qemuDomainBlockPullCommon(virDomainObj *vm, if (baseSource) { if (flags & VIR_DOMAIN_BLOCK_REBASE_RELATIVE) { - if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_CHANGE_BACKING_FILE)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("this QEMU binary doesn't support relative " - "block pull/rebase")); - goto endjob; - } - if (blockdev && qemuBlockUpdateRelativeBacking(vm, disk->src, disk->src) < 0) goto endjob; @@ -15697,12 +15690,6 @@ qemuDomainBlockCommit(virDomainPtr dom, if (flags & VIR_DOMAIN_BLOCK_COMMIT_RELATIVE && topSource != disk->src) { - if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_CHANGE_BACKING_FILE)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("this qemu doesn't support relative block commit")); - goto endjob; - } - if (blockdev && top_parent && qemuBlockUpdateRelativeBacking(vm, top_parent, disk->src) < 0) goto endjob; -- 2.36.1

On Tue, Jul 26, 2022 at 04:36:39PM +0200, Peter Krempa wrote:
The 'change-backing-file' command was added in qemu-2.1 and doesn't have any dependancies. We use it as witness for using blockjobs with relative backing paths. Always assume it's support.
s/dependancies/dependencies/
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_driver.c | 13 ------------- 1 file changed, 13 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

On 8/3/22 3:16 AM, Pavel Hrdina wrote:
On Tue, Jul 26, 2022 at 04:36:39PM +0200, Peter Krempa wrote:
The 'change-backing-file' command was added in qemu-2.1 and doesn't have any dependancies. We use it as witness for using blockjobs with relative backing paths. Always assume it's support.
s/dependancies/dependencies/
Also: s/support/supported/
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_driver.c | 13 ------------- 1 file changed, 13 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

The 'change-backing-file' command is unconditionally supported since qemu-2.1. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_capabilities.c | 3 +-- src/qemu/qemu_capabilities.h | 2 +- tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml | 1 - tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml | 1 - 28 files changed, 2 insertions(+), 29 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 7440bff111..2e99991740 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -299,7 +299,7 @@ VIR_ENUM_IMPL(virQEMUCaps, /* 165 */ "msg-timestamp", /* X_QEMU_CAPS_MSG_TIMESTAMP */ "active-commit", /* QEMU_CAPS_ACTIVE_COMMIT */ - "change-backing-file", /* QEMU_CAPS_CHANGE_BACKING_FILE */ + "change-backing-file", /* X_QEMU_CAPS_CHANGE_BACKING_FILE */ "memory-backend-ram", /* QEMU_CAPS_OBJECT_MEMORY_RAM */ "numa", /* QEMU_CAPS_NUMA */ @@ -1206,7 +1206,6 @@ struct virQEMUCapsStringFlags virQEMUCapsCommands[] = { { "query-spice", QEMU_CAPS_SPICE }, { "query-vnc", QEMU_CAPS_VNC }, { "nbd-server-start", QEMU_CAPS_NBD_SERVER }, - { "change-backing-file", QEMU_CAPS_CHANGE_BACKING_FILE }, { "rtc-reset-reinjection", QEMU_CAPS_RTC_RESET_REINJECTION }, { "query-hotpluggable-cpus", QEMU_CAPS_QUERY_HOTPLUGGABLE_CPUS }, { "query-cpu-model-expansion", QEMU_CAPS_QUERY_CPU_MODEL_EXPANSION }, diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index b49aa0dea6..7b4e85421c 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -277,7 +277,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */ /* 165 */ X_QEMU_CAPS_MSG_TIMESTAMP, /* -msg timestamp */ QEMU_CAPS_ACTIVE_COMMIT, /* block-commit works without 'top' */ - QEMU_CAPS_CHANGE_BACKING_FILE, /* change name of backing file in metadata */ + X_QEMU_CAPS_CHANGE_BACKING_FILE, /* change name of backing file in metadata */ QEMU_CAPS_OBJECT_MEMORY_RAM, /* -object memory-backend-ram */ QEMU_CAPS_NUMA, /* newer -numa handling with disjoint cpu ranges */ diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml index d2821bb67f..3ec3b21ef5 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml @@ -49,7 +49,6 @@ <flag name='enable-fips'/> <flag name='usb-kbd'/> <flag name='active-commit'/> - <flag name='change-backing-file'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml index e7316547e2..f32701da9b 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml @@ -48,7 +48,6 @@ <flag name='enable-fips'/> <flag name='usb-kbd'/> <flag name='active-commit'/> - <flag name='change-backing-file'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml b/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml index 8ed3d05316..e093ff8139 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml @@ -28,7 +28,6 @@ <flag name='drive-discard'/> <flag name='enable-fips'/> <flag name='active-commit'/> - <flag name='change-backing-file'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml index 5f44c61b4c..ae30737018 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml @@ -64,7 +64,6 @@ <flag name='enable-fips'/> <flag name='usb-kbd'/> <flag name='active-commit'/> - <flag name='change-backing-file'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml index c7a897c8ba..fcfbadb0db 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml @@ -51,7 +51,6 @@ <flag name='enable-fips'/> <flag name='usb-kbd'/> <flag name='active-commit'/> - <flag name='change-backing-file'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml index 500cd24797..429bfdbfcc 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml @@ -49,7 +49,6 @@ <flag name='enable-fips'/> <flag name='usb-kbd'/> <flag name='active-commit'/> - <flag name='change-backing-file'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml index fe7f570776..8e713d7ef7 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml @@ -52,7 +52,6 @@ <flag name='enable-fips'/> <flag name='usb-kbd'/> <flag name='active-commit'/> - <flag name='change-backing-file'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml index f21a139333..b028d5da94 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml @@ -64,7 +64,6 @@ <flag name='enable-fips'/> <flag name='usb-kbd'/> <flag name='active-commit'/> - <flag name='change-backing-file'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> diff --git a/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml b/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml index 0242203347..bc30d481fe 100644 --- a/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml +++ b/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml @@ -19,7 +19,6 @@ <flag name='drive-discard'/> <flag name='enable-fips'/> <flag name='active-commit'/> - <flag name='change-backing-file'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> diff --git a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml index 0adfa31c03..a5fd140d3e 100644 --- a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml @@ -64,7 +64,6 @@ <flag name='enable-fips'/> <flag name='usb-kbd'/> <flag name='active-commit'/> - <flag name='change-backing-file'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml index 207775c9e3..1077a9889f 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml @@ -50,7 +50,6 @@ <flag name='ich9-intel-hda'/> <flag name='usb-kbd'/> <flag name='active-commit'/> - <flag name='change-backing-file'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml index 825a848d17..6a099f8798 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml @@ -48,7 +48,6 @@ <flag name='ich9-intel-hda'/> <flag name='usb-kbd'/> <flag name='active-commit'/> - <flag name='change-backing-file'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml index 4dc145ac18..5dc1aa06f1 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml @@ -51,7 +51,6 @@ <flag name='ich9-intel-hda'/> <flag name='usb-kbd'/> <flag name='active-commit'/> - <flag name='change-backing-file'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml b/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml index a901c70613..a8388379bf 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml @@ -27,7 +27,6 @@ <flag name='vfio-pci'/> <flag name='drive-discard'/> <flag name='active-commit'/> - <flag name='change-backing-file'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml index 8b883cb612..713ba5f080 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml @@ -63,7 +63,6 @@ <flag name='pvpanic'/> <flag name='usb-kbd'/> <flag name='active-commit'/> - <flag name='change-backing-file'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml index c4b505b263..52b994a738 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml @@ -49,7 +49,6 @@ <flag name='ich9-intel-hda'/> <flag name='usb-kbd'/> <flag name='active-commit'/> - <flag name='change-backing-file'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml b/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml index 4203b672a1..bde1687064 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml @@ -27,7 +27,6 @@ <flag name='vfio-pci'/> <flag name='drive-discard'/> <flag name='active-commit'/> - <flag name='change-backing-file'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml index 407bd48e1b..4feeda8551 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml @@ -62,7 +62,6 @@ <flag name='pvpanic'/> <flag name='usb-kbd'/> <flag name='active-commit'/> - <flag name='change-backing-file'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> diff --git a/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml index 734fdd789c..f954fd784a 100644 --- a/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml @@ -62,7 +62,6 @@ <flag name='pvpanic'/> <flag name='usb-kbd'/> <flag name='active-commit'/> - <flag name='change-backing-file'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml index 9e23720e4b..2d0a19b121 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml @@ -54,7 +54,6 @@ <flag name='ich9-intel-hda'/> <flag name='usb-kbd'/> <flag name='active-commit'/> - <flag name='change-backing-file'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml index 3493d3d0a3..d0abf1ef27 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml @@ -48,7 +48,6 @@ <flag name='ich9-intel-hda'/> <flag name='usb-kbd'/> <flag name='active-commit'/> - <flag name='change-backing-file'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml index d8ac2cfac6..2c69cd23bf 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml @@ -62,7 +62,6 @@ <flag name='pvpanic'/> <flag name='usb-kbd'/> <flag name='active-commit'/> - <flag name='change-backing-file'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml index 91de7cd9f0..159f48d0b0 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml @@ -54,7 +54,6 @@ <flag name='ich9-intel-hda'/> <flag name='usb-kbd'/> <flag name='active-commit'/> - <flag name='change-backing-file'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml index 37b59ce6ac..a2c48366f7 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml @@ -54,7 +54,6 @@ <flag name='ich9-intel-hda'/> <flag name='usb-kbd'/> <flag name='active-commit'/> - <flag name='change-backing-file'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml index 9531c5b909..c4b68f4058 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml @@ -62,7 +62,6 @@ <flag name='pvpanic'/> <flag name='usb-kbd'/> <flag name='active-commit'/> - <flag name='change-backing-file'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> diff --git a/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml index 7646569ff8..579d220a95 100644 --- a/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml @@ -62,7 +62,6 @@ <flag name='pvpanic'/> <flag name='usb-kbd'/> <flag name='active-commit'/> - <flag name='change-backing-file'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> -- 2.36.1

On Tue, Jul 26, 2022 at 04:36:40PM +0200, Peter Krempa wrote:
The 'change-backing-file' command is unconditionally supported since qemu-2.1.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_capabilities.c | 3 +-- src/qemu/qemu_capabilities.h | 2 +- tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml | 1 - tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml | 1 - 28 files changed, 2 insertions(+), 29 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

Active layer block commit is unconditionally supported since qemu-2.0. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_driver.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 15742706fc..cfb02f7b0f 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -15637,11 +15637,6 @@ qemuDomainBlockCommit(virDomainPtr dom, goto endjob; if (topSource == disk->src) { - if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_ACTIVE_COMMIT)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("active commit not supported with this QEMU binary")); - goto endjob; - } /* XXX Should we auto-pivot when COMMIT_ACTIVE is not specified? */ if (!(flags & VIR_DOMAIN_BLOCK_COMMIT_ACTIVE)) { virReportError(VIR_ERR_INVALID_ARG, -- 2.36.1

On Tue, Jul 26, 2022 at 04:36:41PM +0200, Peter Krempa wrote:
Active layer block commit is unconditionally supported since qemu-2.0.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_driver.c | 5 ----- 1 file changed, 5 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

Active block commit is supported since qemu-2.0 Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_capabilities.c | 3 +-- src/qemu/qemu_capabilities.h | 2 +- tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml | 1 - tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml | 1 - 28 files changed, 2 insertions(+), 29 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 2e99991740..97c2268f57 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -298,7 +298,7 @@ VIR_ENUM_IMPL(virQEMUCaps, /* 165 */ "msg-timestamp", /* X_QEMU_CAPS_MSG_TIMESTAMP */ - "active-commit", /* QEMU_CAPS_ACTIVE_COMMIT */ + "active-commit", /* X_QEMU_CAPS_ACTIVE_COMMIT */ "change-backing-file", /* X_QEMU_CAPS_CHANGE_BACKING_FILE */ "memory-backend-ram", /* QEMU_CAPS_OBJECT_MEMORY_RAM */ "numa", /* QEMU_CAPS_NUMA */ @@ -1584,7 +1584,6 @@ static struct virQEMUCapsDevicePropsFlags virQEMUCapsDevicePropsVirtioIOMMU[] = /* see documentation for virQEMUQAPISchemaPathGet for the query format */ static struct virQEMUCapsStringFlags virQEMUCapsQMPSchemaQueries[] = { - { "block-commit/arg-type/*top", QEMU_CAPS_ACTIVE_COMMIT }, { "blockdev-add/arg-type/options/+gluster/debug-level", QEMU_CAPS_GLUSTER_DEBUG_LEVEL}, { "blockdev-add/arg-type/+gluster/debug", QEMU_CAPS_GLUSTER_DEBUG_LEVEL}, { "blockdev-add/arg-type/+vxhs", QEMU_CAPS_VXHS}, diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index 7b4e85421c..fcb6277538 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -276,7 +276,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */ /* 165 */ X_QEMU_CAPS_MSG_TIMESTAMP, /* -msg timestamp */ - QEMU_CAPS_ACTIVE_COMMIT, /* block-commit works without 'top' */ + X_QEMU_CAPS_ACTIVE_COMMIT, /* block-commit works without 'top' */ X_QEMU_CAPS_CHANGE_BACKING_FILE, /* change name of backing file in metadata */ QEMU_CAPS_OBJECT_MEMORY_RAM, /* -object memory-backend-ram */ QEMU_CAPS_NUMA, /* newer -numa handling with disjoint cpu ranges */ diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml index 3ec3b21ef5..79bf3d3363 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml @@ -48,7 +48,6 @@ <flag name='ich9-intel-hda'/> <flag name='enable-fips'/> <flag name='usb-kbd'/> - <flag name='active-commit'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml index f32701da9b..895c8b2491 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml @@ -47,7 +47,6 @@ <flag name='ich9-intel-hda'/> <flag name='enable-fips'/> <flag name='usb-kbd'/> - <flag name='active-commit'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml b/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml index e093ff8139..2b8bf907c5 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml @@ -27,7 +27,6 @@ <flag name='vfio-pci'/> <flag name='drive-discard'/> <flag name='enable-fips'/> - <flag name='active-commit'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml index ae30737018..4c91ed53a6 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml @@ -63,7 +63,6 @@ <flag name='pvpanic'/> <flag name='enable-fips'/> <flag name='usb-kbd'/> - <flag name='active-commit'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml index fcfbadb0db..25a3c05fb4 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml @@ -50,7 +50,6 @@ <flag name='ich9-intel-hda'/> <flag name='enable-fips'/> <flag name='usb-kbd'/> - <flag name='active-commit'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml index 429bfdbfcc..a6faf3a753 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml @@ -48,7 +48,6 @@ <flag name='ich9-intel-hda'/> <flag name='enable-fips'/> <flag name='usb-kbd'/> - <flag name='active-commit'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml index 8e713d7ef7..945faf25a1 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml @@ -51,7 +51,6 @@ <flag name='ich9-intel-hda'/> <flag name='enable-fips'/> <flag name='usb-kbd'/> - <flag name='active-commit'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml index b028d5da94..50b2dda15c 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml @@ -63,7 +63,6 @@ <flag name='pvpanic'/> <flag name='enable-fips'/> <flag name='usb-kbd'/> - <flag name='active-commit'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> diff --git a/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml b/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml index bc30d481fe..98661d651d 100644 --- a/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml +++ b/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml @@ -18,7 +18,6 @@ <flag name='rng-egd'/> <flag name='drive-discard'/> <flag name='enable-fips'/> - <flag name='active-commit'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> diff --git a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml index a5fd140d3e..b593c23e6b 100644 --- a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml @@ -63,7 +63,6 @@ <flag name='pvpanic'/> <flag name='enable-fips'/> <flag name='usb-kbd'/> - <flag name='active-commit'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml index 1077a9889f..6a0eac1128 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml @@ -49,7 +49,6 @@ <flag name='virtio-mmio'/> <flag name='ich9-intel-hda'/> <flag name='usb-kbd'/> - <flag name='active-commit'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml index 6a099f8798..76ce9e6f5e 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml @@ -47,7 +47,6 @@ <flag name='usb-storage.removable'/> <flag name='ich9-intel-hda'/> <flag name='usb-kbd'/> - <flag name='active-commit'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml index 5dc1aa06f1..ceb2eef871 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml @@ -50,7 +50,6 @@ <flag name='virtio-mmio'/> <flag name='ich9-intel-hda'/> <flag name='usb-kbd'/> - <flag name='active-commit'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml b/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml index a8388379bf..bc635ea64a 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml @@ -26,7 +26,6 @@ <flag name='pci-bridge'/> <flag name='vfio-pci'/> <flag name='drive-discard'/> - <flag name='active-commit'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml index 713ba5f080..0564c3e79a 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml @@ -62,7 +62,6 @@ <flag name='kvm-pit-lost-tick-policy'/> <flag name='pvpanic'/> <flag name='usb-kbd'/> - <flag name='active-commit'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml index 52b994a738..4c10416fca 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml @@ -48,7 +48,6 @@ <flag name='virtio-mmio'/> <flag name='ich9-intel-hda'/> <flag name='usb-kbd'/> - <flag name='active-commit'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml b/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml index bde1687064..67e1a3ec1f 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml @@ -26,7 +26,6 @@ <flag name='pci-bridge'/> <flag name='vfio-pci'/> <flag name='drive-discard'/> - <flag name='active-commit'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml index 4feeda8551..a9b62a310a 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml @@ -61,7 +61,6 @@ <flag name='kvm-pit-lost-tick-policy'/> <flag name='pvpanic'/> <flag name='usb-kbd'/> - <flag name='active-commit'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> diff --git a/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml index f954fd784a..b5814f23a9 100644 --- a/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml @@ -61,7 +61,6 @@ <flag name='kvm-pit-lost-tick-policy'/> <flag name='pvpanic'/> <flag name='usb-kbd'/> - <flag name='active-commit'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml index 2d0a19b121..24a24fc046 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml @@ -53,7 +53,6 @@ <flag name='virtio-mmio'/> <flag name='ich9-intel-hda'/> <flag name='usb-kbd'/> - <flag name='active-commit'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml index d0abf1ef27..6d70213b81 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml @@ -47,7 +47,6 @@ <flag name='usb-storage.removable'/> <flag name='ich9-intel-hda'/> <flag name='usb-kbd'/> - <flag name='active-commit'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml index 2c69cd23bf..b3448ad18d 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml @@ -61,7 +61,6 @@ <flag name='kvm-pit-lost-tick-policy'/> <flag name='pvpanic'/> <flag name='usb-kbd'/> - <flag name='active-commit'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml index 159f48d0b0..126197ecf2 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml @@ -53,7 +53,6 @@ <flag name='virtio-mmio'/> <flag name='ich9-intel-hda'/> <flag name='usb-kbd'/> - <flag name='active-commit'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml index a2c48366f7..4040dbd7f3 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml @@ -53,7 +53,6 @@ <flag name='usb-storage.removable'/> <flag name='ich9-intel-hda'/> <flag name='usb-kbd'/> - <flag name='active-commit'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml index c4b68f4058..fa10562609 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml @@ -61,7 +61,6 @@ <flag name='kvm-pit-lost-tick-policy'/> <flag name='pvpanic'/> <flag name='usb-kbd'/> - <flag name='active-commit'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> diff --git a/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml index 579d220a95..29bc0c15f9 100644 --- a/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml @@ -61,7 +61,6 @@ <flag name='kvm-pit-lost-tick-policy'/> <flag name='pvpanic'/> <flag name='usb-kbd'/> - <flag name='active-commit'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> -- 2.36.1

On Tue, Jul 26, 2022 at 04:36:42PM +0200, Peter Krempa wrote:
Active block commit is supported since qemu-2.0
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_capabilities.c | 3 +-- src/qemu/qemu_capabilities.h | 2 +- tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml | 1 - tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml | 1 - 28 files changed, 2 insertions(+), 29 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

The 'debug' level for the gluster driver was added in qemu-2.8 unconditionally so libvirt can always assume it. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_domain.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 7df8041adf..534de9e0ae 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -7667,22 +7667,19 @@ qemuDomainStorageSourceValidateDepth(virStorageSource *src, * qemuDomainPrepareStorageSourceConfig: * @src: storage source to configure * @cfg: qemu driver config object - * @qemuCaps: capabilities of qemu * * Set properties of @src based on the qemu driver config @cfg. * */ static void qemuDomainPrepareStorageSourceConfig(virStorageSource *src, - virQEMUDriverConfig *cfg, - virQEMUCaps *qemuCaps) + virQEMUDriverConfig *cfg) { if (!cfg) return; if (src->type == VIR_STORAGE_TYPE_NETWORK && - src->protocol == VIR_STORAGE_NET_PROTOCOL_GLUSTER && - virQEMUCapsGet(qemuCaps, QEMU_CAPS_GLUSTER_DEBUG_LEVEL)) { + src->protocol == VIR_STORAGE_NET_PROTOCOL_GLUSTER) { src->debug = true; src->debugLevel = cfg->glusterDebugLevel; } @@ -7802,7 +7799,7 @@ qemuDomainDetermineDiskChain(virQEMUDriver *driver, if (qemuDomainValidateStorageSource(n, priv->qemuCaps, isSD) < 0) return -1; - qemuDomainPrepareStorageSourceConfig(n, cfg, priv->qemuCaps); + qemuDomainPrepareStorageSourceConfig(n, cfg); qemuDomainPrepareDiskSourceData(disk, n); if (blockdev && !isSD && @@ -10864,7 +10861,7 @@ qemuDomainPrepareDiskSourceLegacy(virDomainDiskDef *disk, if (qemuDomainValidateStorageSource(disk->src, priv->qemuCaps, true) < 0) return -1; - qemuDomainPrepareStorageSourceConfig(disk->src, cfg, priv->qemuCaps); + qemuDomainPrepareStorageSourceConfig(disk->src, cfg); qemuDomainPrepareDiskSourceData(disk, disk->src); if (qemuDomainSecretStorageSourcePrepare(priv, disk->src, @@ -10902,7 +10899,7 @@ qemuDomainPrepareStorageSourceBlockdevNodename(virDomainDiskDef *disk, if (qemuDomainValidateStorageSource(src, priv->qemuCaps, false) < 0) return -1; - qemuDomainPrepareStorageSourceConfig(src, cfg, priv->qemuCaps); + qemuDomainPrepareStorageSourceConfig(src, cfg); qemuDomainPrepareDiskSourceData(disk, src); if (qemuDomainSecretStorageSourcePrepare(priv, src, -- 2.36.1

On Tue, Jul 26, 2022 at 04:36:43PM +0200, Peter Krempa wrote:
The 'debug' level for the gluster driver was added in qemu-2.8 unconditionally so libvirt can always assume it.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_domain.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

The debug level of gluster backend became configurable in qemu-2.8. This also removes the only old-style syntax for the 'blockdev-add' command prior to stabilization. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_capabilities.c | 4 +--- src/qemu/qemu_capabilities.h | 2 +- tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml | 1 - tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml | 1 - 28 files changed, 2 insertions(+), 30 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 97c2268f57..cb47da9b1a 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -402,7 +402,7 @@ VIR_ENUM_IMPL(virQEMUCaps, "query-qmp-schema", /* X_QEMU_CAPS_QUERY_QMP_SCHEMA */ /* 240 */ - "gluster.debug_level", /* QEMU_CAPS_GLUSTER_DEBUG_LEVEL */ + "gluster.debug_level", /* X_QEMU_CAPS_GLUSTER_DEBUG_LEVEL */ "vhost-scsi", /* QEMU_CAPS_DEVICE_VHOST_SCSI */ "drive-iotune-group", /* X_QEMU_CAPS_DRIVE_IOTUNE_GROUP */ "query-cpu-model-expansion", /* QEMU_CAPS_QUERY_CPU_MODEL_EXPANSION */ @@ -1584,8 +1584,6 @@ static struct virQEMUCapsDevicePropsFlags virQEMUCapsDevicePropsVirtioIOMMU[] = /* see documentation for virQEMUQAPISchemaPathGet for the query format */ static struct virQEMUCapsStringFlags virQEMUCapsQMPSchemaQueries[] = { - { "blockdev-add/arg-type/options/+gluster/debug-level", QEMU_CAPS_GLUSTER_DEBUG_LEVEL}, - { "blockdev-add/arg-type/+gluster/debug", QEMU_CAPS_GLUSTER_DEBUG_LEVEL}, { "blockdev-add/arg-type/+vxhs", QEMU_CAPS_VXHS}, { "blockdev-add/arg-type/+qcow2/encrypt/+luks/key-secret", QEMU_CAPS_QCOW2_LUKS }, { "blockdev-add/arg-type/+file/drop-cache", QEMU_CAPS_MIGRATION_FILE_DROP_CACHE }, diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index fcb6277538..5a258d9bf4 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -381,7 +381,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */ X_QEMU_CAPS_QUERY_QMP_SCHEMA, /* query-qmp-schema command */ /* 240 */ - QEMU_CAPS_GLUSTER_DEBUG_LEVEL, /* -drive gluster.debug_level={0..9} */ + X_QEMU_CAPS_GLUSTER_DEBUG_LEVEL, /* -drive gluster.debug_level={0..9} */ QEMU_CAPS_DEVICE_VHOST_SCSI, /* -device vhost-scsi-{ccw,pci} */ X_QEMU_CAPS_DRIVE_IOTUNE_GROUP, /* -drive throttling.group=<name> */ QEMU_CAPS_QUERY_CPU_MODEL_EXPANSION, /* qmp query-cpu-model-expansion */ diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml index 79bf3d3363..3184b54dfb 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml @@ -85,7 +85,6 @@ <flag name='virtio-net.rx_queue_size'/> <flag name='ivshmem-plain'/> <flag name='ivshmem-doorbell'/> - <flag name='gluster.debug_level'/> <flag name='vhost-scsi'/> <flag name='query-cpu-model-expansion'/> <flag name='virtio-net.host_mtu'/> diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml index 895c8b2491..0d1d7d709f 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml @@ -82,7 +82,6 @@ <flag name='virtio-vga'/> <flag name='ivshmem-plain'/> <flag name='ivshmem-doorbell'/> - <flag name='gluster.debug_level'/> <flag name='vhost-scsi'/> <flag name='virtio-net.host_mtu'/> <flag name='pcie-root-port'/> diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml b/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml index 2b8bf907c5..0d0878f911 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml @@ -50,7 +50,6 @@ <flag name='virtio-pci-disable-legacy'/> <flag name='query-hotpluggable-cpus'/> <flag name='virtio-net.rx_queue_size'/> - <flag name='gluster.debug_level'/> <flag name='vhost-scsi'/> <flag name='query-cpu-model-expansion'/> <flag name='virtio-net.host_mtu'/> diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml index 4c91ed53a6..fd68a0a068 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml @@ -109,7 +109,6 @@ <flag name='virtio-vga'/> <flag name='ivshmem-plain'/> <flag name='ivshmem-doorbell'/> - <flag name='gluster.debug_level'/> <flag name='vhost-scsi'/> <flag name='query-cpu-model-expansion'/> <flag name='virtio-net.host_mtu'/> diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml index 25a3c05fb4..7da83d5437 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml @@ -87,7 +87,6 @@ <flag name='virtio-net.rx_queue_size'/> <flag name='ivshmem-plain'/> <flag name='ivshmem-doorbell'/> - <flag name='gluster.debug_level'/> <flag name='vhost-scsi'/> <flag name='query-cpu-model-expansion'/> <flag name='virtio-net.host_mtu'/> diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml index a6faf3a753..9cf5648e51 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml @@ -83,7 +83,6 @@ <flag name='virtio-vga'/> <flag name='ivshmem-plain'/> <flag name='ivshmem-doorbell'/> - <flag name='gluster.debug_level'/> <flag name='vhost-scsi'/> <flag name='virtio-net.host_mtu'/> <flag name='nvdimm'/> diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml index 945faf25a1..97e0b95eeb 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml @@ -87,7 +87,6 @@ <flag name='virtio-net.rx_queue_size'/> <flag name='ivshmem-plain'/> <flag name='ivshmem-doorbell'/> - <flag name='gluster.debug_level'/> <flag name='vhost-scsi'/> <flag name='virtio-net.host_mtu'/> <flag name='spice-rendernode'/> diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml index 50b2dda15c..f80ea261aa 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml @@ -109,7 +109,6 @@ <flag name='virtio-vga'/> <flag name='ivshmem-plain'/> <flag name='ivshmem-doorbell'/> - <flag name='gluster.debug_level'/> <flag name='vhost-scsi'/> <flag name='query-cpu-model-expansion'/> <flag name='virtio-net.host_mtu'/> diff --git a/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml b/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml index 98661d651d..4ba06b3cb7 100644 --- a/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml +++ b/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml @@ -29,7 +29,6 @@ <flag name='chardev-logfile'/> <flag name='drive-detect-zeroes'/> <flag name='query-hotpluggable-cpus'/> - <flag name='gluster.debug_level'/> <flag name='spice-rendernode'/> <flag name='block-write-threshold'/> <flag name='query-named-block-nodes'/> diff --git a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml index b593c23e6b..d580800664 100644 --- a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml @@ -109,7 +109,6 @@ <flag name='virtio-vga'/> <flag name='ivshmem-plain'/> <flag name='ivshmem-doorbell'/> - <flag name='gluster.debug_level'/> <flag name='vhost-scsi'/> <flag name='query-cpu-model-expansion'/> <flag name='virtio-net.host_mtu'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml index 6a0eac1128..a79b5f75eb 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml @@ -86,7 +86,6 @@ <flag name='virtio-net.rx_queue_size'/> <flag name='ivshmem-plain'/> <flag name='ivshmem-doorbell'/> - <flag name='gluster.debug_level'/> <flag name='vhost-scsi'/> <flag name='query-cpu-model-expansion'/> <flag name='virtio-net.host_mtu'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml index 76ce9e6f5e..9b2e7cbed4 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml @@ -82,7 +82,6 @@ <flag name='virtio-vga'/> <flag name='ivshmem-plain'/> <flag name='ivshmem-doorbell'/> - <flag name='gluster.debug_level'/> <flag name='vhost-scsi'/> <flag name='virtio-net.host_mtu'/> <flag name='nvdimm'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml index ceb2eef871..a9c3501108 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml @@ -86,7 +86,6 @@ <flag name='virtio-net.rx_queue_size'/> <flag name='ivshmem-plain'/> <flag name='ivshmem-doorbell'/> - <flag name='gluster.debug_level'/> <flag name='vhost-scsi'/> <flag name='virtio-net.host_mtu'/> <flag name='spice-rendernode'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml b/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml index bc635ea64a..21737b1d50 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml @@ -49,7 +49,6 @@ <flag name='virtio-pci-disable-legacy'/> <flag name='query-hotpluggable-cpus'/> <flag name='virtio-net.rx_queue_size'/> - <flag name='gluster.debug_level'/> <flag name='vhost-scsi'/> <flag name='query-cpu-model-expansion'/> <flag name='virtio-net.host_mtu'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml index 0564c3e79a..75370d1afe 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml @@ -109,7 +109,6 @@ <flag name='virtio-vga'/> <flag name='ivshmem-plain'/> <flag name='ivshmem-doorbell'/> - <flag name='gluster.debug_level'/> <flag name='vhost-scsi'/> <flag name='query-cpu-model-expansion'/> <flag name='virtio-net.host_mtu'/> diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml index 4c10416fca..799e77cb79 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml @@ -87,7 +87,6 @@ <flag name='virtio-net.rx_queue_size'/> <flag name='ivshmem-plain'/> <flag name='ivshmem-doorbell'/> - <flag name='gluster.debug_level'/> <flag name='vhost-scsi'/> <flag name='query-cpu-model-expansion'/> <flag name='virtio-net.host_mtu'/> diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml b/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml index 67e1a3ec1f..3c31cffa80 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml @@ -49,7 +49,6 @@ <flag name='virtio-pci-disable-legacy'/> <flag name='query-hotpluggable-cpus'/> <flag name='virtio-net.rx_queue_size'/> - <flag name='gluster.debug_level'/> <flag name='vhost-scsi'/> <flag name='query-cpu-model-expansion'/> <flag name='virtio-net.host_mtu'/> diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml index a9b62a310a..1b59879e0f 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml @@ -108,7 +108,6 @@ <flag name='virtio-vga'/> <flag name='ivshmem-plain'/> <flag name='ivshmem-doorbell'/> - <flag name='gluster.debug_level'/> <flag name='vhost-scsi'/> <flag name='query-cpu-model-expansion'/> <flag name='virtio-net.host_mtu'/> diff --git a/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml index b5814f23a9..25ccf44776 100644 --- a/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml @@ -107,7 +107,6 @@ <flag name='virtio-vga'/> <flag name='ivshmem-plain'/> <flag name='ivshmem-doorbell'/> - <flag name='gluster.debug_level'/> <flag name='vhost-scsi'/> <flag name='query-cpu-model-expansion'/> <flag name='virtio-net.host_mtu'/> diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml index 24a24fc046..8cede64f5b 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml @@ -93,7 +93,6 @@ <flag name='virtio-net.rx_queue_size'/> <flag name='ivshmem-plain'/> <flag name='ivshmem-doorbell'/> - <flag name='gluster.debug_level'/> <flag name='vhost-scsi'/> <flag name='query-cpu-model-expansion'/> <flag name='virtio-net.host_mtu'/> diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml index 6d70213b81..f74f1f3d73 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml @@ -82,7 +82,6 @@ <flag name='virtio-vga'/> <flag name='ivshmem-plain'/> <flag name='ivshmem-doorbell'/> - <flag name='gluster.debug_level'/> <flag name='vhost-scsi'/> <flag name='virtio-net.host_mtu'/> <flag name='nvdimm'/> diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml index b3448ad18d..b1846bc64e 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml @@ -107,7 +107,6 @@ <flag name='virtio-vga'/> <flag name='ivshmem-plain'/> <flag name='ivshmem-doorbell'/> - <flag name='gluster.debug_level'/> <flag name='vhost-scsi'/> <flag name='query-cpu-model-expansion'/> <flag name='virtio-net.host_mtu'/> diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml index 126197ecf2..b7af87d6d7 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml @@ -93,7 +93,6 @@ <flag name='virtio-net.rx_queue_size'/> <flag name='ivshmem-plain'/> <flag name='ivshmem-doorbell'/> - <flag name='gluster.debug_level'/> <flag name='vhost-scsi'/> <flag name='query-cpu-model-expansion'/> <flag name='virtio-net.host_mtu'/> diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml index 4040dbd7f3..5da35e4a61 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml @@ -88,7 +88,6 @@ <flag name='virtio-vga'/> <flag name='ivshmem-plain'/> <flag name='ivshmem-doorbell'/> - <flag name='gluster.debug_level'/> <flag name='vhost-scsi'/> <flag name='virtio-net.host_mtu'/> <flag name='nvdimm'/> diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml index fa10562609..7c7a08e6ee 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml @@ -107,7 +107,6 @@ <flag name='virtio-vga'/> <flag name='ivshmem-plain'/> <flag name='ivshmem-doorbell'/> - <flag name='gluster.debug_level'/> <flag name='vhost-scsi'/> <flag name='query-cpu-model-expansion'/> <flag name='virtio-net.host_mtu'/> diff --git a/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml index 29bc0c15f9..d33336922d 100644 --- a/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml @@ -107,7 +107,6 @@ <flag name='virtio-vga'/> <flag name='ivshmem-plain'/> <flag name='ivshmem-doorbell'/> - <flag name='gluster.debug_level'/> <flag name='vhost-scsi'/> <flag name='query-cpu-model-expansion'/> <flag name='virtio-net.host_mtu'/> -- 2.36.1

On Tue, Jul 26, 2022 at 04:36:44PM +0200, Peter Krempa wrote:
The debug level of gluster backend became configurable in qemu-2.8.
This also removes the only old-style syntax for the 'blockdev-add' command prior to stabilization.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_capabilities.c | 4 +--- src/qemu/qemu_capabilities.h | 2 +- tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml | 1 - tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml | 1 - 28 files changed, 2 insertions(+), 30 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

Discard and zero-detection for disk sources is supported since qemu-2.1 so we can always assume it's support. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_validate.c | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c index 1b23f1a2ca..b949e1aa42 100644 --- a/src/qemu/qemu_validate.c +++ b/src/qemu/qemu_validate.c @@ -3069,20 +3069,6 @@ qemuValidateDomainDeviceDefDiskFrontend(const virDomainDiskDef *disk, return -1; } - if (disk->discard && - !virQEMUCapsGet(qemuCaps, QEMU_CAPS_DRIVE_DISCARD)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("discard is not supported by this QEMU binary")); - return -1; - } - - if (disk->detect_zeroes && - !virQEMUCapsGet(qemuCaps, QEMU_CAPS_DRIVE_DETECT_ZEROES)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("detect_zeroes is not supported by this QEMU binary")); - return -1; - } - if (disk->serial && qemuValidateDomainDeviceDefDiskSerial(disk->serial) < 0) return -1; -- 2.36.1

On Tue, Jul 26, 2022 at 04:36:45PM +0200, Peter Krempa wrote:
Discard and zero-detection for disk sources is supported since qemu-2.1 so we can always assume it's support.
s/it's/its/
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_validate.c | 14 -------------- 1 file changed, 14 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

On 8/3/22 3:31 AM, Pavel Hrdina wrote:
On Tue, Jul 26, 2022 at 04:36:45PM +0200, Peter Krempa wrote:
Discard and zero-detection for disk sources is supported since qemu-2.1 so we can always assume it's support.
s/it's/its/
alternatively: "it's supported"
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_validate.c | 14 -------------- 1 file changed, 14 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_capabilities.c | 6 ++---- src/qemu/qemu_capabilities.h | 4 ++-- tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml | 2 -- tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 2 -- tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml | 2 -- tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml | 2 -- tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml | 2 -- tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 2 -- tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml | 2 -- tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml | 2 -- tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml | 2 -- tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml | 2 -- tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml | 2 -- tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml | 2 -- tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml | 2 -- tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml | 2 -- tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml | 2 -- tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml | 2 -- tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml | 2 -- tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml | 2 -- tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml | 2 -- tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml | 2 -- tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml | 2 -- tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml | 2 -- tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml | 2 -- tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml | 2 -- tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml | 2 -- tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml | 2 -- 28 files changed, 4 insertions(+), 58 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index cb47da9b1a..a01de90c29 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -270,7 +270,7 @@ VIR_ENUM_IMPL(virQEMUCaps, /* 145 */ "vnc-websocket", /* X_QEMU_CAPS_VNC_WEBSOCKET */ - "drive-discard", /* QEMU_CAPS_DRIVE_DISCARD */ + "drive-discard", /* X_QEMU_CAPS_DRIVE_DISCARD */ "mlock", /* X_QEMU_CAPS_REALTIME_MLOCK */ "vnc-share-policy", /* X_QEMU_CAPS_VNC_SHARE_POLICY */ "device-del-event", /* X_QEMU_CAPS_DEVICE_DEL_EVENT */ @@ -382,7 +382,7 @@ VIR_ENUM_IMPL(virQEMUCaps, /* 225 */ "spice-unix", /* X_QEMU_CAPS_SPICE_UNIX */ - "drive-detect-zeroes", /* QEMU_CAPS_DRIVE_DETECT_ZEROES */ + "drive-detect-zeroes", /* X_QEMU_CAPS_DRIVE_DETECT_ZEROES */ "tls-creds-x509", /* X_QEMU_CAPS_OBJECT_TLS_CREDS_X509 */ "display", /* X_QEMU_CAPS_DISPLAY */ "intel-iommu", /* QEMU_CAPS_DEVICE_INTEL_IOMMU */ @@ -1591,8 +1591,6 @@ static struct virQEMUCapsStringFlags virQEMUCapsQMPSchemaQueries[] = { { "blockdev-add/arg-type/+nvme", QEMU_CAPS_DRIVE_NVME }, { "blockdev-add/arg-type/+file/aio/^io_uring", QEMU_CAPS_AIO_IO_URING }, { "blockdev-add/arg-type/+rbd/encrypt", QEMU_CAPS_RBD_ENCRYPTION }, - { "blockdev-add/arg-type/discard", QEMU_CAPS_DRIVE_DISCARD }, - { "blockdev-add/arg-type/detect-zeroes", QEMU_CAPS_DRIVE_DETECT_ZEROES }, { "blockdev-add/arg-type/+nbd/tls-hostname", QEMU_CAPS_BLOCKDEV_NBD_TLS_HOSTNAME }, { "blockdev-backup", QEMU_CAPS_BLOCKDEV_BACKUP }, { "blockdev-snapshot/$allow-write-only-overlay", QEMU_CAPS_BLOCKDEV_SNAPSHOT_ALLOW_WRITE_ONLY }, diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index 5a258d9bf4..cfa916c846 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -248,7 +248,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */ /* 145 */ X_QEMU_CAPS_VNC_WEBSOCKET, /* -vnc x:y,websocket */ - QEMU_CAPS_DRIVE_DISCARD, /* -drive discard=off(ignore)|on(unmap) */ + X_QEMU_CAPS_DRIVE_DISCARD, /* -drive discard=off(ignore)|on(unmap) */ X_QEMU_CAPS_REALTIME_MLOCK, /* -realtime mlock=on|off */ X_QEMU_CAPS_VNC_SHARE_POLICY, /* set display sharing policy */ X_QEMU_CAPS_DEVICE_DEL_EVENT, /* DEVICE_DELETED event */ @@ -361,7 +361,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */ /* 225 */ X_QEMU_CAPS_SPICE_UNIX, /* -spice unix */ - QEMU_CAPS_DRIVE_DETECT_ZEROES, /* -drive detect-zeroes= */ + X_QEMU_CAPS_DRIVE_DETECT_ZEROES, /* -drive detect-zeroes= */ X_QEMU_CAPS_OBJECT_TLS_CREDS_X509, /* -object tls-creds-x509 */ X_QEMU_CAPS_DISPLAY, /* -display */ QEMU_CAPS_DEVICE_INTEL_IOMMU, /* -device intel-iommu */ diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml index 3184b54dfb..9dfe93ef45 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml @@ -40,7 +40,6 @@ <flag name='megasas'/> <flag name='pci-bridge'/> <flag name='vfio-pci'/> - <flag name='drive-discard'/> <flag name='dmi-to-pci-bridge'/> <flag name='usb-storage'/> <flag name='usb-storage.removable'/> @@ -79,7 +78,6 @@ <flag name='chardev-logfile'/> <flag name='nec-usb-xhci-ports'/> <flag name='virtio-scsi-pci.iothread'/> - <flag name='drive-detect-zeroes'/> <flag name='virtio-pci-disable-legacy'/> <flag name='query-hotpluggable-cpus'/> <flag name='virtio-net.rx_queue_size'/> diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml index 0d1d7d709f..120e7221a3 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml @@ -40,7 +40,6 @@ <flag name='nvram'/> <flag name='pci-bridge'/> <flag name='vfio-pci'/> - <flag name='drive-discard'/> <flag name='dmi-to-pci-bridge'/> <flag name='usb-storage'/> <flag name='usb-storage.removable'/> @@ -75,7 +74,6 @@ <flag name='chardev-logfile'/> <flag name='nec-usb-xhci-ports'/> <flag name='virtio-scsi-pci.iothread'/> - <flag name='drive-detect-zeroes'/> <flag name='virtio-pci-disable-legacy'/> <flag name='query-hotpluggable-cpus'/> <flag name='virtio-net.rx_queue_size'/> diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml b/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml index 0d0878f911..9bafdc08ff 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml @@ -25,7 +25,6 @@ <flag name='virtio-ccw'/> <flag name='pci-bridge'/> <flag name='vfio-pci'/> - <flag name='drive-discard'/> <flag name='enable-fips'/> <flag name='memory-backend-ram'/> <flag name='numa'/> @@ -46,7 +45,6 @@ <flag name='virtio-balloon-pci.deflate-on-oom'/> <flag name='chardev-logfile'/> <flag name='virtio-scsi-pci.iothread'/> - <flag name='drive-detect-zeroes'/> <flag name='virtio-pci-disable-legacy'/> <flag name='query-hotpluggable-cpus'/> <flag name='virtio-net.rx_queue_size'/> diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml index fd68a0a068..2cb38642e7 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml @@ -51,7 +51,6 @@ <flag name='tpm-tis'/> <flag name='pci-bridge'/> <flag name='vfio-pci'/> - <flag name='drive-discard'/> <flag name='dmi-to-pci-bridge'/> <flag name='i440fx-pci-hole64-size'/> <flag name='q35-pci-hole64-size'/> @@ -101,7 +100,6 @@ <flag name='pxb-pcie'/> <flag name='nec-usb-xhci-ports'/> <flag name='virtio-scsi-pci.iothread'/> - <flag name='drive-detect-zeroes'/> <flag name='intel-iommu'/> <flag name='virtio-pci-disable-legacy'/> <flag name='query-hotpluggable-cpus'/> diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml index 7da83d5437..e5fcc07d14 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml @@ -42,7 +42,6 @@ <flag name='tpm-tis'/> <flag name='pci-bridge'/> <flag name='vfio-pci'/> - <flag name='drive-discard'/> <flag name='dmi-to-pci-bridge'/> <flag name='usb-storage'/> <flag name='usb-storage.removable'/> @@ -81,7 +80,6 @@ <flag name='chardev-logfile'/> <flag name='nec-usb-xhci-ports'/> <flag name='virtio-scsi-pci.iothread'/> - <flag name='drive-detect-zeroes'/> <flag name='virtio-pci-disable-legacy'/> <flag name='query-hotpluggable-cpus'/> <flag name='virtio-net.rx_queue_size'/> diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml index 9cf5648e51..8834e745dc 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml @@ -41,7 +41,6 @@ <flag name='nvram'/> <flag name='pci-bridge'/> <flag name='vfio-pci'/> - <flag name='drive-discard'/> <flag name='dmi-to-pci-bridge'/> <flag name='usb-storage'/> <flag name='usb-storage.removable'/> @@ -76,7 +75,6 @@ <flag name='chardev-logfile'/> <flag name='nec-usb-xhci-ports'/> <flag name='virtio-scsi-pci.iothread'/> - <flag name='drive-detect-zeroes'/> <flag name='virtio-pci-disable-legacy'/> <flag name='query-hotpluggable-cpus'/> <flag name='virtio-net.rx_queue_size'/> diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml index 97e0b95eeb..841e935438 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml @@ -43,7 +43,6 @@ <flag name='megasas'/> <flag name='pci-bridge'/> <flag name='vfio-pci'/> - <flag name='drive-discard'/> <flag name='dmi-to-pci-bridge'/> <flag name='usb-storage'/> <flag name='usb-storage.removable'/> @@ -81,7 +80,6 @@ <flag name='chardev-logfile'/> <flag name='nec-usb-xhci-ports'/> <flag name='virtio-scsi-pci.iothread'/> - <flag name='drive-detect-zeroes'/> <flag name='virtio-pci-disable-legacy'/> <flag name='query-hotpluggable-cpus'/> <flag name='virtio-net.rx_queue_size'/> diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml index f80ea261aa..89ed03e279 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml @@ -51,7 +51,6 @@ <flag name='tpm-tis'/> <flag name='pci-bridge'/> <flag name='vfio-pci'/> - <flag name='drive-discard'/> <flag name='dmi-to-pci-bridge'/> <flag name='i440fx-pci-hole64-size'/> <flag name='q35-pci-hole64-size'/> @@ -101,7 +100,6 @@ <flag name='pxb-pcie'/> <flag name='nec-usb-xhci-ports'/> <flag name='virtio-scsi-pci.iothread'/> - <flag name='drive-detect-zeroes'/> <flag name='intel-iommu'/> <flag name='virtio-pci-disable-legacy'/> <flag name='query-hotpluggable-cpus'/> diff --git a/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml b/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml index 4ba06b3cb7..551c4dcb79 100644 --- a/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml +++ b/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml @@ -16,7 +16,6 @@ <flag name='nbd-server'/> <flag name='rng-random'/> <flag name='rng-egd'/> - <flag name='drive-discard'/> <flag name='enable-fips'/> <flag name='memory-backend-ram'/> <flag name='numa'/> @@ -27,7 +26,6 @@ <flag name='vserport-change-event'/> <flag name='spice-gl'/> <flag name='chardev-logfile'/> - <flag name='drive-detect-zeroes'/> <flag name='query-hotpluggable-cpus'/> <flag name='spice-rendernode'/> <flag name='block-write-threshold'/> diff --git a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml index d580800664..e5d4b355b1 100644 --- a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml @@ -51,7 +51,6 @@ <flag name='tpm-tis'/> <flag name='pci-bridge'/> <flag name='vfio-pci'/> - <flag name='drive-discard'/> <flag name='dmi-to-pci-bridge'/> <flag name='i440fx-pci-hole64-size'/> <flag name='q35-pci-hole64-size'/> @@ -101,7 +100,6 @@ <flag name='pxb-pcie'/> <flag name='nec-usb-xhci-ports'/> <flag name='virtio-scsi-pci.iothread'/> - <flag name='drive-detect-zeroes'/> <flag name='intel-iommu'/> <flag name='virtio-pci-disable-legacy'/> <flag name='query-hotpluggable-cpus'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml index a79b5f75eb..3b30fae3b7 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml @@ -42,7 +42,6 @@ <flag name='tpm-tis'/> <flag name='pci-bridge'/> <flag name='vfio-pci'/> - <flag name='drive-discard'/> <flag name='dmi-to-pci-bridge'/> <flag name='usb-storage'/> <flag name='usb-storage.removable'/> @@ -80,7 +79,6 @@ <flag name='chardev-logfile'/> <flag name='nec-usb-xhci-ports'/> <flag name='virtio-scsi-pci.iothread'/> - <flag name='drive-detect-zeroes'/> <flag name='virtio-pci-disable-legacy'/> <flag name='query-hotpluggable-cpus'/> <flag name='virtio-net.rx_queue_size'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml index 9b2e7cbed4..f0a1c6d424 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml @@ -41,7 +41,6 @@ <flag name='nvram'/> <flag name='pci-bridge'/> <flag name='vfio-pci'/> - <flag name='drive-discard'/> <flag name='dmi-to-pci-bridge'/> <flag name='usb-storage'/> <flag name='usb-storage.removable'/> @@ -75,7 +74,6 @@ <flag name='chardev-logfile'/> <flag name='nec-usb-xhci-ports'/> <flag name='virtio-scsi-pci.iothread'/> - <flag name='drive-detect-zeroes'/> <flag name='virtio-pci-disable-legacy'/> <flag name='query-hotpluggable-cpus'/> <flag name='virtio-net.rx_queue_size'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml index a9c3501108..4b3a7e4e0b 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml @@ -43,7 +43,6 @@ <flag name='megasas'/> <flag name='pci-bridge'/> <flag name='vfio-pci'/> - <flag name='drive-discard'/> <flag name='dmi-to-pci-bridge'/> <flag name='usb-storage'/> <flag name='usb-storage.removable'/> @@ -80,7 +79,6 @@ <flag name='chardev-logfile'/> <flag name='nec-usb-xhci-ports'/> <flag name='virtio-scsi-pci.iothread'/> - <flag name='drive-detect-zeroes'/> <flag name='virtio-pci-disable-legacy'/> <flag name='query-hotpluggable-cpus'/> <flag name='virtio-net.rx_queue_size'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml b/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml index 21737b1d50..62b6bc6e77 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml @@ -25,7 +25,6 @@ <flag name='virtio-ccw'/> <flag name='pci-bridge'/> <flag name='vfio-pci'/> - <flag name='drive-discard'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> @@ -45,7 +44,6 @@ <flag name='virtio-balloon-pci.deflate-on-oom'/> <flag name='chardev-logfile'/> <flag name='virtio-scsi-pci.iothread'/> - <flag name='drive-detect-zeroes'/> <flag name='virtio-pci-disable-legacy'/> <flag name='query-hotpluggable-cpus'/> <flag name='virtio-net.rx_queue_size'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml index 75370d1afe..2f1dbec6dc 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml @@ -51,7 +51,6 @@ <flag name='tpm-tis'/> <flag name='pci-bridge'/> <flag name='vfio-pci'/> - <flag name='drive-discard'/> <flag name='dmi-to-pci-bridge'/> <flag name='i440fx-pci-hole64-size'/> <flag name='q35-pci-hole64-size'/> @@ -101,7 +100,6 @@ <flag name='pxb-pcie'/> <flag name='nec-usb-xhci-ports'/> <flag name='virtio-scsi-pci.iothread'/> - <flag name='drive-detect-zeroes'/> <flag name='intel-iommu'/> <flag name='virtio-pci-disable-legacy'/> <flag name='query-hotpluggable-cpus'/> diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml index 799e77cb79..6ab242ef09 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml @@ -41,7 +41,6 @@ <flag name='tpm-tis'/> <flag name='pci-bridge'/> <flag name='vfio-pci'/> - <flag name='drive-discard'/> <flag name='dmi-to-pci-bridge'/> <flag name='usb-storage'/> <flag name='usb-storage.removable'/> @@ -81,7 +80,6 @@ <flag name='pxb-pcie'/> <flag name='nec-usb-xhci-ports'/> <flag name='virtio-scsi-pci.iothread'/> - <flag name='drive-detect-zeroes'/> <flag name='virtio-pci-disable-legacy'/> <flag name='query-hotpluggable-cpus'/> <flag name='virtio-net.rx_queue_size'/> diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml b/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml index 3c31cffa80..4b30f544e8 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml @@ -25,7 +25,6 @@ <flag name='virtio-ccw'/> <flag name='pci-bridge'/> <flag name='vfio-pci'/> - <flag name='drive-discard'/> <flag name='memory-backend-ram'/> <flag name='numa'/> <flag name='memory-backend-file'/> @@ -45,7 +44,6 @@ <flag name='virtio-balloon-pci.deflate-on-oom'/> <flag name='chardev-logfile'/> <flag name='virtio-scsi-pci.iothread'/> - <flag name='drive-detect-zeroes'/> <flag name='virtio-pci-disable-legacy'/> <flag name='query-hotpluggable-cpus'/> <flag name='virtio-net.rx_queue_size'/> diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml index 1b59879e0f..935148a8a1 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml @@ -50,7 +50,6 @@ <flag name='tpm-tis'/> <flag name='pci-bridge'/> <flag name='vfio-pci'/> - <flag name='drive-discard'/> <flag name='dmi-to-pci-bridge'/> <flag name='i440fx-pci-hole64-size'/> <flag name='q35-pci-hole64-size'/> @@ -100,7 +99,6 @@ <flag name='pxb-pcie'/> <flag name='nec-usb-xhci-ports'/> <flag name='virtio-scsi-pci.iothread'/> - <flag name='drive-detect-zeroes'/> <flag name='intel-iommu'/> <flag name='virtio-pci-disable-legacy'/> <flag name='query-hotpluggable-cpus'/> diff --git a/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml index 25ccf44776..c4ae311be8 100644 --- a/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml @@ -50,7 +50,6 @@ <flag name='tpm-tis'/> <flag name='pci-bridge'/> <flag name='vfio-pci'/> - <flag name='drive-discard'/> <flag name='dmi-to-pci-bridge'/> <flag name='i440fx-pci-hole64-size'/> <flag name='q35-pci-hole64-size'/> @@ -99,7 +98,6 @@ <flag name='pxb-pcie'/> <flag name='nec-usb-xhci-ports'/> <flag name='virtio-scsi-pci.iothread'/> - <flag name='drive-detect-zeroes'/> <flag name='intel-iommu'/> <flag name='virtio-pci-disable-legacy'/> <flag name='query-hotpluggable-cpus'/> diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml index 8cede64f5b..870cf154f1 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml @@ -46,7 +46,6 @@ <flag name='tpm-tis'/> <flag name='pci-bridge'/> <flag name='vfio-pci'/> - <flag name='drive-discard'/> <flag name='dmi-to-pci-bridge'/> <flag name='usb-storage'/> <flag name='usb-storage.removable'/> @@ -87,7 +86,6 @@ <flag name='pxb-pcie'/> <flag name='nec-usb-xhci-ports'/> <flag name='virtio-scsi-pci.iothread'/> - <flag name='drive-detect-zeroes'/> <flag name='virtio-pci-disable-legacy'/> <flag name='query-hotpluggable-cpus'/> <flag name='virtio-net.rx_queue_size'/> diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml index f74f1f3d73..a904dea43a 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml @@ -41,7 +41,6 @@ <flag name='nvram'/> <flag name='pci-bridge'/> <flag name='vfio-pci'/> - <flag name='drive-discard'/> <flag name='dmi-to-pci-bridge'/> <flag name='usb-storage'/> <flag name='usb-storage.removable'/> @@ -75,7 +74,6 @@ <flag name='chardev-logfile'/> <flag name='nec-usb-xhci-ports'/> <flag name='virtio-scsi-pci.iothread'/> - <flag name='drive-detect-zeroes'/> <flag name='virtio-pci-disable-legacy'/> <flag name='query-hotpluggable-cpus'/> <flag name='virtio-net.rx_queue_size'/> diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml index b1846bc64e..fecb2cb03f 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml @@ -50,7 +50,6 @@ <flag name='tpm-tis'/> <flag name='pci-bridge'/> <flag name='vfio-pci'/> - <flag name='drive-discard'/> <flag name='dmi-to-pci-bridge'/> <flag name='i440fx-pci-hole64-size'/> <flag name='q35-pci-hole64-size'/> @@ -99,7 +98,6 @@ <flag name='pxb-pcie'/> <flag name='nec-usb-xhci-ports'/> <flag name='virtio-scsi-pci.iothread'/> - <flag name='drive-detect-zeroes'/> <flag name='intel-iommu'/> <flag name='virtio-pci-disable-legacy'/> <flag name='query-hotpluggable-cpus'/> diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml index b7af87d6d7..5a47530d26 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml @@ -46,7 +46,6 @@ <flag name='tpm-tis'/> <flag name='pci-bridge'/> <flag name='vfio-pci'/> - <flag name='drive-discard'/> <flag name='dmi-to-pci-bridge'/> <flag name='usb-storage'/> <flag name='usb-storage.removable'/> @@ -87,7 +86,6 @@ <flag name='pxb-pcie'/> <flag name='nec-usb-xhci-ports'/> <flag name='virtio-scsi-pci.iothread'/> - <flag name='drive-detect-zeroes'/> <flag name='virtio-pci-disable-legacy'/> <flag name='query-hotpluggable-cpus'/> <flag name='virtio-net.rx_queue_size'/> diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml index 5da35e4a61..46db0d7832 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml @@ -47,7 +47,6 @@ <flag name='nvram'/> <flag name='pci-bridge'/> <flag name='vfio-pci'/> - <flag name='drive-discard'/> <flag name='dmi-to-pci-bridge'/> <flag name='usb-storage'/> <flag name='usb-storage.removable'/> @@ -81,7 +80,6 @@ <flag name='chardev-logfile'/> <flag name='nec-usb-xhci-ports'/> <flag name='virtio-scsi-pci.iothread'/> - <flag name='drive-detect-zeroes'/> <flag name='virtio-pci-disable-legacy'/> <flag name='query-hotpluggable-cpus'/> <flag name='virtio-net.rx_queue_size'/> diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml index 7c7a08e6ee..99b4d860f9 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml @@ -50,7 +50,6 @@ <flag name='tpm-tis'/> <flag name='pci-bridge'/> <flag name='vfio-pci'/> - <flag name='drive-discard'/> <flag name='dmi-to-pci-bridge'/> <flag name='i440fx-pci-hole64-size'/> <flag name='q35-pci-hole64-size'/> @@ -99,7 +98,6 @@ <flag name='pxb-pcie'/> <flag name='nec-usb-xhci-ports'/> <flag name='virtio-scsi-pci.iothread'/> - <flag name='drive-detect-zeroes'/> <flag name='intel-iommu'/> <flag name='virtio-pci-disable-legacy'/> <flag name='query-hotpluggable-cpus'/> diff --git a/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml index d33336922d..06e1afe692 100644 --- a/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml @@ -50,7 +50,6 @@ <flag name='tpm-tis'/> <flag name='pci-bridge'/> <flag name='vfio-pci'/> - <flag name='drive-discard'/> <flag name='dmi-to-pci-bridge'/> <flag name='i440fx-pci-hole64-size'/> <flag name='q35-pci-hole64-size'/> @@ -99,7 +98,6 @@ <flag name='pxb-pcie'/> <flag name='nec-usb-xhci-ports'/> <flag name='virtio-scsi-pci.iothread'/> - <flag name='drive-detect-zeroes'/> <flag name='intel-iommu'/> <flag name='virtio-pci-disable-legacy'/> <flag name='query-hotpluggable-cpus'/> -- 2.36.1

On Tue, Jul 26, 2022 at 04:36:46PM +0200, Peter Krempa wrote:
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_capabilities.c | 6 ++---- src/qemu/qemu_capabilities.h | 4 ++-- tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml | 2 -- tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 2 -- tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml | 2 -- tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml | 2 -- tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml | 2 -- tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 2 -- tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml | 2 -- tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml | 2 -- tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml | 2 -- tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml | 2 -- tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml | 2 -- tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml | 2 -- tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml | 2 -- tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml | 2 -- tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml | 2 -- tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml | 2 -- tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml | 2 -- tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml | 2 -- tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml | 2 -- tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml | 2 -- tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml | 2 -- tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml | 2 -- tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml | 2 -- tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml | 2 -- tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml | 2 -- tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml | 2 -- 28 files changed, 4 insertions(+), 58 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

Modernize the tests as they mostly care that the aliases are properly propagated to qemu. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- tests/qemuxml2argvdata/user-aliases-usb.args | 41 ---------- .../user-aliases-usb.x86_64-latest.args | 44 +++++++++++ tests/qemuxml2argvdata/user-aliases.args | 68 ----------------- .../user-aliases.x86_64-latest.args | 74 +++++++++++++++++++ tests/qemuxml2argvdata/user-aliases2.args | 1 - .../user-aliases2.x86_64-latest.args | 39 ++++++++++ tests/qemuxml2argvtest.c | 14 +--- 7 files changed, 160 insertions(+), 121 deletions(-) delete mode 100644 tests/qemuxml2argvdata/user-aliases-usb.args create mode 100644 tests/qemuxml2argvdata/user-aliases-usb.x86_64-latest.args delete mode 100644 tests/qemuxml2argvdata/user-aliases.args create mode 100644 tests/qemuxml2argvdata/user-aliases.x86_64-latest.args delete mode 120000 tests/qemuxml2argvdata/user-aliases2.args create mode 100644 tests/qemuxml2argvdata/user-aliases2.x86_64-latest.args diff --git a/tests/qemuxml2argvdata/user-aliases-usb.args b/tests/qemuxml2argvdata/user-aliases-usb.args deleted file mode 100644 index 932c3ea296..0000000000 --- a/tests/qemuxml2argvdata/user-aliases-usb.args +++ /dev/null @@ -1,41 +0,0 @@ -LC_ALL=C \ -PATH=/bin \ -HOME=/tmp/lib/domain--1-gentoo \ -USER=test \ -LOGNAME=test \ -XDG_DATA_HOME=/tmp/lib/domain--1-gentoo/.local/share \ -XDG_CACHE_HOME=/tmp/lib/domain--1-gentoo/.cache \ -XDG_CONFIG_HOME=/tmp/lib/domain--1-gentoo/.config \ -/usr/bin/qemu-system-x86_64 \ --name guest=gentoo,debug-threads=on \ --S \ --object secret,id=masterKey0,format=raw,file=/tmp/lib/domain--1-gentoo/master-key.aes \ --machine pc,usb=off,dump-guest-core=off \ --accel kvm \ --m 4096 \ --overcommit mem-lock=off \ --smp 4,sockets=4,cores=1,threads=1 \ --uuid a75aca4b-a02f-2bcb-4a91-c93cd848c34b \ --display none \ --no-user-config \ --nodefaults \ --chardev socket,id=charmonitor,fd=1729,server=on,wait=off \ --mon chardev=charmonitor,id=monitor,mode=control \ --rtc base=utc \ --no-shutdown \ --global PIIX4_PM.disable_s3=0 \ --global PIIX4_PM.disable_s4=0 \ --boot strict=on \ --device ich9-usb-ehci1,id=ua-myUSB1,bus=pci.0,addr=0x4.0x7 \ --device ich9-usb-uhci1,masterbus=ua-myUSB1.0,firstport=0,bus=pci.0,multifunction=on,addr=0x4 \ --device ich9-usb-uhci2,masterbus=ua-myUSB1.0,firstport=2,bus=pci.0,addr=0x4.0x1 \ --device ich9-usb-uhci3,masterbus=ua-myUSB1.0,firstport=4,bus=pci.0,addr=0x4.0x2 \ --device ich9-usb-ehci1,id=ua-myUSB5,bus=pci.0,addr=0x5.0x7 \ --device ich9-usb-uhci1,masterbus=ua-myUSB5.0,firstport=0,bus=pci.0,multifunction=on,addr=0x5 \ --device ich9-usb-uhci2,masterbus=ua-myUSB5.0,firstport=2,bus=pci.0,addr=0x5.0x1 \ --device ich9-usb-uhci3,masterbus=ua-myUSB5.0,firstport=4,bus=pci.0,addr=0x5.0x2 \ --audiodev '{"id":"audio1","driver":"none"}' \ --device usb-host,hostbus=14,hostaddr=6,id=hostdev0,bus=ua-myUSB1.0,port=3 \ --device usb-host,hostbus=15,hostaddr=6,id=hostdev1,bus=ua-myUSB5.0,port=3 \ --device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \ --msg timestamp=on diff --git a/tests/qemuxml2argvdata/user-aliases-usb.x86_64-latest.args b/tests/qemuxml2argvdata/user-aliases-usb.x86_64-latest.args new file mode 100644 index 0000000000..fd5c161f19 --- /dev/null +++ b/tests/qemuxml2argvdata/user-aliases-usb.x86_64-latest.args @@ -0,0 +1,44 @@ +LC_ALL=C \ +PATH=/bin \ +HOME=/tmp/lib/domain--1-gentoo \ +USER=test \ +LOGNAME=test \ +XDG_DATA_HOME=/tmp/lib/domain--1-gentoo/.local/share \ +XDG_CACHE_HOME=/tmp/lib/domain--1-gentoo/.cache \ +XDG_CONFIG_HOME=/tmp/lib/domain--1-gentoo/.config \ +/usr/bin/qemu-system-x86_64 \ +-name guest=gentoo,debug-threads=on \ +-S \ +-object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/tmp/lib/domain--1-gentoo/master-key.aes"}' \ +-machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram \ +-accel kvm \ +-cpu qemu64 \ +-m 4096 \ +-object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":4294967296}' \ +-overcommit mem-lock=off \ +-smp 4,sockets=4,cores=1,threads=1 \ +-uuid a75aca4b-a02f-2bcb-4a91-c93cd848c34b \ +-display none \ +-no-user-config \ +-nodefaults \ +-chardev socket,id=charmonitor,fd=1729,server=on,wait=off \ +-mon chardev=charmonitor,id=monitor,mode=control \ +-rtc base=utc \ +-no-shutdown \ +-global PIIX4_PM.disable_s3=0 \ +-global PIIX4_PM.disable_s4=0 \ +-boot strict=on \ +-device '{"driver":"ich9-usb-ehci1","id":"ua-myUSB1","bus":"pci.0","addr":"0x4.0x7"}' \ +-device '{"driver":"ich9-usb-uhci1","masterbus":"ua-myUSB1.0","firstport":0,"bus":"pci.0","multifunction":true,"addr":"0x4"}' \ +-device '{"driver":"ich9-usb-uhci2","masterbus":"ua-myUSB1.0","firstport":2,"bus":"pci.0","addr":"0x4.0x1"}' \ +-device '{"driver":"ich9-usb-uhci3","masterbus":"ua-myUSB1.0","firstport":4,"bus":"pci.0","addr":"0x4.0x2"}' \ +-device '{"driver":"ich9-usb-ehci1","id":"ua-myUSB5","bus":"pci.0","addr":"0x5.0x7"}' \ +-device '{"driver":"ich9-usb-uhci1","masterbus":"ua-myUSB5.0","firstport":0,"bus":"pci.0","multifunction":true,"addr":"0x5"}' \ +-device '{"driver":"ich9-usb-uhci2","masterbus":"ua-myUSB5.0","firstport":2,"bus":"pci.0","addr":"0x5.0x1"}' \ +-device '{"driver":"ich9-usb-uhci3","masterbus":"ua-myUSB5.0","firstport":4,"bus":"pci.0","addr":"0x5.0x2"}' \ +-audiodev '{"id":"audio1","driver":"none"}' \ +-device '{"driver":"usb-host","hostdevice":"/dev/bus/usb/014/006","id":"hostdev0","bus":"ua-myUSB1.0","port":"3"}' \ +-device '{"driver":"usb-host","hostdevice":"/dev/bus/usb/015/006","id":"hostdev1","bus":"ua-myUSB5.0","port":"3"}' \ +-device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.0","addr":"0x2"}' \ +-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \ +-msg timestamp=on diff --git a/tests/qemuxml2argvdata/user-aliases.args b/tests/qemuxml2argvdata/user-aliases.args deleted file mode 100644 index 25eb4f4f90..0000000000 --- a/tests/qemuxml2argvdata/user-aliases.args +++ /dev/null @@ -1,68 +0,0 @@ -LC_ALL=C \ -PATH=/bin \ -HOME=/tmp/lib/domain--1-gentoo \ -USER=test \ -LOGNAME=test \ -XDG_DATA_HOME=/tmp/lib/domain--1-gentoo/.local/share \ -XDG_CACHE_HOME=/tmp/lib/domain--1-gentoo/.cache \ -XDG_CONFIG_HOME=/tmp/lib/domain--1-gentoo/.config \ -/usr/bin/qemu-system-x86_64 \ --name guest=gentoo,debug-threads=on \ --S \ --object secret,id=masterKey0,format=raw,file=/tmp/lib/domain--1-gentoo/master-key.aes \ --machine pc,usb=off,dump-guest-core=off \ --accel kvm \ --m 4096 \ --overcommit mem-lock=off \ --smp 4,sockets=4,cores=1,threads=1 \ --object memory-backend-file,id=ram-node0,mem-path=/dev/hugepages1G/libvirt/qemu/-1-gentoo,prealloc=on,size=1073741824 \ --numa node,nodeid=0,cpus=0,memdev=ram-node0 \ --object memory-backend-file,id=ram-node1,mem-path=/dev/hugepages1G/libvirt/qemu/-1-gentoo,prealloc=on,size=1073741824 \ --numa node,nodeid=1,cpus=1,memdev=ram-node1 \ --object memory-backend-file,id=ram-node2,mem-path=/dev/hugepages1G/libvirt/qemu/-1-gentoo,prealloc=on,size=1073741824 \ --numa node,nodeid=2,cpus=2,memdev=ram-node2 \ --object memory-backend-file,id=ram-node3,mem-path=/dev/hugepages1G/libvirt/qemu/-1-gentoo,prealloc=on,size=1073741824 \ --numa node,nodeid=3,cpus=3,memdev=ram-node3 \ --uuid a75aca4b-a02f-2bcb-4a91-c93cd848c34b \ --no-user-config \ --nodefaults \ --chardev socket,id=charmonitor,fd=1729,server=on,wait=off \ --mon chardev=charmonitor,id=monitor,mode=control \ --rtc base=utc \ --no-shutdown \ --global PIIX4_PM.disable_s3=0 \ --global PIIX4_PM.disable_s4=0 \ --boot strict=on \ --device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x8 \ --usb \ --device usb-ccid,id=ua-myCCID,bus=ua-SomeWeirdController.0,port=1 \ --device usb-ccid,id=ua-myCCID2,bus=ua-SomeWeirdController.0,port=2 \ --drive file=/var/lib/libvirt/images/fd.img,format=raw,if=none,id=drive-ua-myDisk1,cache=none \ --drive file=/var/lib/libvirt/images/gentoo.qcow2,format=qcow2,if=none,id=drive-ua-myDisk2 \ --device virtio-blk-pci,bus=pci.0,addr=0x5,drive=drive-ua-myDisk2,id=ua-myDisk2,bootindex=1 \ --object secret,id=ua-myEncryptedDisk1-encryption-secret0,data=9eao5F8qtkGt+seB1HYivWIxbtwUu6MQtg1zpj/oDtUsPr1q8wBYM91uEHCn6j/1,keyid=masterKey0,iv=AAECAwQFBgcICQoLDA0ODw==,format=base64 \ --drive file=/var/lib/libvirt/images/OtherDemo.img,encrypt.format=luks,encrypt.key-secret=ua-myEncryptedDisk1-encryption-secret0,format=qcow2,if=none,id=drive-ua-myEncryptedDisk1 \ --device virtio-blk-pci,bus=pci.0,addr=0x7,drive=drive-ua-myEncryptedDisk1,id=ua-myEncryptedDisk1 \ --drive file=/home/zippy/tmp/install-amd64-minimal-20140619.iso,format=raw,if=none,id=drive-ua-WhatAnAwesomeCDROM,readonly=on,cache=none \ --device ide-cd,bus=ide.1,unit=0,drive=drive-ua-WhatAnAwesomeCDROM,id=ua-WhatAnAwesomeCDROM,bootindex=2 \ --global isa-fdc.driveA=drive-ua-myDisk1 \ --netdev tap,fd=3,vhost=on,vhostfd=44,id=hostua-CheckoutThisNIC \ --device virtio-net-pci,netdev=hostua-CheckoutThisNIC,id=ua-CheckoutThisNIC,mac=52:54:00:d6:c0:0b,bus=pci.0,addr=0x3 \ --netdev socket,listen=127.0.0.1:1234,id=hostua-WeCanAlsoDoServerMode \ --device rtl8139,netdev=hostua-WeCanAlsoDoServerMode,id=ua-WeCanAlsoDoServerMode,mac=52:54:00:22:c9:42,bus=pci.0,addr=0x9 \ --netdev socket,connect=127.0.0.1:1234,id=hostua-AndAlsoClientMode \ --device rtl8139,netdev=hostua-AndAlsoClientMode,id=ua-AndAlsoClientMode,mac=52:54:00:8c:b1:f8,bus=pci.0,addr=0xa \ --device ccid-card-emulated,backend=nss-emulated,id=smartcard0,bus=ua-myCCID.0 \ --chardev pty,id=charserial0 \ --device isa-serial,chardev=charserial0,id=serial0,index=0 \ --chardev pty,id=charserial1 \ --device isa-serial,chardev=charserial1,id=serial1,index=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 \ --audiodev '{"id":"audio1","driver":"none"}' \ --vnc 127.0.0.1:0,audiodev=audio1 \ --device cirrus-vga,id=video0,bus=pci.0,addr=0x2 \ --device intel-hda,id=sound0,bus=pci.0,addr=0x4 \ --device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0,audiodev=audio1 \ --device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x6 \ --msg timestamp=on diff --git a/tests/qemuxml2argvdata/user-aliases.x86_64-latest.args b/tests/qemuxml2argvdata/user-aliases.x86_64-latest.args new file mode 100644 index 0000000000..d1a3f4af07 --- /dev/null +++ b/tests/qemuxml2argvdata/user-aliases.x86_64-latest.args @@ -0,0 +1,74 @@ +LC_ALL=C \ +PATH=/bin \ +HOME=/tmp/lib/domain--1-gentoo \ +USER=test \ +LOGNAME=test \ +XDG_DATA_HOME=/tmp/lib/domain--1-gentoo/.local/share \ +XDG_CACHE_HOME=/tmp/lib/domain--1-gentoo/.cache \ +XDG_CONFIG_HOME=/tmp/lib/domain--1-gentoo/.config \ +/usr/bin/qemu-system-x86_64 \ +-name guest=gentoo,debug-threads=on \ +-S \ +-object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/tmp/lib/domain--1-gentoo/master-key.aes"}' \ +-machine pc,usb=off,dump-guest-core=off \ +-accel kvm \ +-cpu qemu64 \ +-m 4096 \ +-overcommit mem-lock=off \ +-smp 4,sockets=4,cores=1,threads=1 \ +-object '{"qom-type":"memory-backend-file","id":"ram-node0","mem-path":"/dev/hugepages1G/libvirt/qemu/-1-gentoo","prealloc":true,"size":1073741824}' \ +-numa node,nodeid=0,cpus=0,memdev=ram-node0 \ +-object '{"qom-type":"memory-backend-file","id":"ram-node1","mem-path":"/dev/hugepages1G/libvirt/qemu/-1-gentoo","prealloc":true,"size":1073741824}' \ +-numa node,nodeid=1,cpus=1,memdev=ram-node1 \ +-object '{"qom-type":"memory-backend-file","id":"ram-node2","mem-path":"/dev/hugepages1G/libvirt/qemu/-1-gentoo","prealloc":true,"size":1073741824}' \ +-numa node,nodeid=2,cpus=2,memdev=ram-node2 \ +-object '{"qom-type":"memory-backend-file","id":"ram-node3","mem-path":"/dev/hugepages1G/libvirt/qemu/-1-gentoo","prealloc":true,"size":1073741824}' \ +-numa node,nodeid=3,cpus=3,memdev=ram-node3 \ +-uuid a75aca4b-a02f-2bcb-4a91-c93cd848c34b \ +-no-user-config \ +-nodefaults \ +-chardev socket,id=charmonitor,fd=1729,server=on,wait=off \ +-mon chardev=charmonitor,id=monitor,mode=control \ +-rtc base=utc \ +-no-shutdown \ +-global PIIX4_PM.disable_s3=0 \ +-global PIIX4_PM.disable_s4=0 \ +-boot strict=on \ +-device '{"driver":"piix3-usb-uhci","id":"ua-SomeWeirdController","bus":"pci.0","addr":"0x1.0x2"}' \ +-device '{"driver":"virtio-serial-pci","id":"virtio-serial0","bus":"pci.0","addr":"0x8"}' \ +-device '{"driver":"usb-ccid","id":"ua-myCCID","bus":"ua-SomeWeirdController.0","port":"1"}' \ +-device '{"driver":"usb-ccid","id":"ua-myCCID2","bus":"ua-SomeWeirdController.0","port":"2"}' \ +-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/fd.img","node-name":"libvirt-4-storage","cache":{"direct":true,"no-flush":false},"auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-4-format","read-only":false,"cache":{"direct":true,"no-flush":false},"driver":"raw","file":"libvirt-4-storage"}' \ +-device '{"driver":"floppy","unit":0,"drive":"libvirt-4-format","id":"ua-myDisk1","write-cache":"on"}' \ +-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/gentoo.qcow2","node-name":"libvirt-3-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-3-format","read-only":false,"driver":"qcow2","file":"libvirt-3-storage"}' \ +-device '{"driver":"virtio-blk-pci","bus":"pci.0","addr":"0x5","drive":"libvirt-3-format","id":"ua-myDisk2","bootindex":1}' \ +-object '{"qom-type":"secret","id":"libvirt-2-format-encryption-secret0","data":"9eao5F8qtkGt+seB1HYivWIxbtwUu6MQtg1zpj/oDtUsPr1q8wBYM91uEHCn6j/1","keyid":"masterKey0","iv":"AAECAwQFBgcICQoLDA0ODw==","format":"base64"}' \ +-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/OtherDemo.img","node-name":"libvirt-2-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-2-format","read-only":false,"driver":"qcow2","encrypt":{"format":"luks","key-secret":"libvirt-2-format-encryption-secret0"},"file":"libvirt-2-storage"}' \ +-device '{"driver":"virtio-blk-pci","bus":"pci.0","addr":"0x7","drive":"libvirt-2-format","id":"ua-myEncryptedDisk1"}' \ +-blockdev '{"driver":"file","filename":"/home/zippy/tmp/install-amd64-minimal-20140619.iso","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":true,"cache":{"direct":true,"no-flush":false},"driver":"raw","file":"libvirt-1-storage"}' \ +-device '{"driver":"ide-cd","bus":"ide.1","unit":0,"share-rw":true,"drive":"libvirt-1-format","id":"ua-WhatAnAwesomeCDROM","bootindex":2,"write-cache":"on"}' \ +-netdev tap,fd=3,vhost=on,vhostfd=44,id=hostua-CheckoutThisNIC \ +-device '{"driver":"virtio-net-pci","netdev":"hostua-CheckoutThisNIC","id":"ua-CheckoutThisNIC","mac":"52:54:00:d6:c0:0b","bus":"pci.0","addr":"0x3"}' \ +-netdev socket,listen=127.0.0.1:1234,id=hostua-WeCanAlsoDoServerMode \ +-device '{"driver":"rtl8139","netdev":"hostua-WeCanAlsoDoServerMode","id":"ua-WeCanAlsoDoServerMode","mac":"52:54:00:22:c9:42","bus":"pci.0","addr":"0x9"}' \ +-netdev socket,connect=127.0.0.1:1234,id=hostua-AndAlsoClientMode \ +-device '{"driver":"rtl8139","netdev":"hostua-AndAlsoClientMode","id":"ua-AndAlsoClientMode","mac":"52:54:00:8c:b1:f8","bus":"pci.0","addr":"0xa"}' \ +-device '{"driver":"ccid-card-emulated","backend":"nss-emulated","id":"smartcard0","bus":"ua-myCCID.0"}' \ +-chardev pty,id=charserial0 \ +-device '{"driver":"isa-serial","chardev":"charserial0","id":"serial0","index":0}' \ +-chardev pty,id=charserial1 \ +-device '{"driver":"isa-serial","chardev":"charserial1","id":"serial1","index":1}' \ +-chardev socket,id=charchannel0,fd=1729,server=on,wait=off \ +-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":1,"chardev":"charchannel0","id":"channel0","name":"org.qemu.guest_agent.0"}' \ +-audiodev '{"id":"audio1","driver":"none"}' \ +-vnc 127.0.0.1:0,audiodev=audio1 \ +-device '{"driver":"cirrus-vga","id":"video0","bus":"pci.0","addr":"0x2"}' \ +-device '{"driver":"intel-hda","id":"sound0","bus":"pci.0","addr":"0x4"}' \ +-device '{"driver":"hda-duplex","id":"sound0-codec0","bus":"sound0.0","cad":0,"audiodev":"audio1"}' \ +-device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.0","addr":"0x6"}' \ +-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \ +-msg timestamp=on diff --git a/tests/qemuxml2argvdata/user-aliases2.args b/tests/qemuxml2argvdata/user-aliases2.args deleted file mode 120000 index d63573a9a5..0000000000 --- a/tests/qemuxml2argvdata/user-aliases2.args +++ /dev/null @@ -1 +0,0 @@ -boot-floppy-q35.args \ No newline at end of file diff --git a/tests/qemuxml2argvdata/user-aliases2.x86_64-latest.args b/tests/qemuxml2argvdata/user-aliases2.x86_64-latest.args new file mode 100644 index 0000000000..7f34c7a965 --- /dev/null +++ b/tests/qemuxml2argvdata/user-aliases2.x86_64-latest.args @@ -0,0 +1,39 @@ +LC_ALL=C \ +PATH=/bin \ +HOME=/tmp/lib/domain--1-QEMUGuest1 \ +USER=test \ +LOGNAME=test \ +XDG_DATA_HOME=/tmp/lib/domain--1-QEMUGuest1/.local/share \ +XDG_CACHE_HOME=/tmp/lib/domain--1-QEMUGuest1/.cache \ +XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \ +/usr/bin/qemu-system-x86_64 \ +-name guest=QEMUGuest1,debug-threads=on \ +-S \ +-object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/tmp/lib/domain--1-QEMUGuest1/master-key.aes"}' \ +-machine q35,usb=off,dump-guest-core=off,memory-backend=pc.ram \ +-accel tcg \ +-cpu qemu64 \ +-m 214 \ +-object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ +-overcommit mem-lock=off \ +-smp 1,sockets=1,cores=1,threads=1 \ +-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \ +-display none \ +-no-user-config \ +-nodefaults \ +-chardev socket,id=charmonitor,fd=1729,server=on,wait=off \ +-mon chardev=charmonitor,id=monitor,mode=control \ +-rtc base=utc \ +-no-shutdown \ +-no-acpi \ +-boot strict=on \ +-device '{"driver":"pcie-root-port","port":8,"chassis":1,"id":"pci.1","bus":"pcie.0","multifunction":true,"addr":"0x1"}' \ +-device '{"driver":"pcie-root-port","port":9,"chassis":2,"id":"pci.2","bus":"pcie.0","addr":"0x1.0x1"}' \ +-device '{"driver":"qemu-xhci","id":"usb","bus":"pci.1","addr":"0x0"}' \ +-device '{"driver":"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 '{"driver":"floppy","unit":0,"drive":"libvirt-1-format","id":"fdc0-0-0"}' \ +-audiodev '{"id":"audio1","driver":"none"}' \ +-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \ +-msg timestamp=on diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index 9eba7c02a4..6bcceaad0e 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -3249,17 +3249,9 @@ mymain(void) DO_TEST_PARSE_ERROR("cpu-cache-passthrough-l3", QEMU_CAPS_KVM); DO_TEST("vmcoreinfo", QEMU_CAPS_DEVICE_VMCOREINFO); - DO_TEST("user-aliases", QEMU_CAPS_KVM, QEMU_CAPS_DEVICE_CIRRUS_VGA, - QEMU_CAPS_OBJECT_MEMORY_FILE, QEMU_CAPS_PIIX_DISABLE_S3, - QEMU_CAPS_PIIX_DISABLE_S4, QEMU_CAPS_VNC, - QEMU_CAPS_DEVICE_ISA_SERIAL, - QEMU_CAPS_HDA_DUPLEX, - QEMU_CAPS_CCID_EMULATED, - QEMU_CAPS_QCOW2_LUKS); - DO_TEST("user-aliases2", QEMU_CAPS_DEVICE_IOH3420, QEMU_CAPS_ICH9_AHCI); - DO_TEST("user-aliases-usb", QEMU_CAPS_KVM, - QEMU_CAPS_PIIX_DISABLE_S3, QEMU_CAPS_PIIX_DISABLE_S4, - QEMU_CAPS_ICH9_USB_EHCI1); + DO_TEST_CAPS_LATEST("user-aliases"); + DO_TEST_CAPS_LATEST("user-aliases2"); + DO_TEST_CAPS_LATEST("user-aliases-usb"); DO_TEST_CAPS_LATEST("tseg-explicit-size"); DO_TEST_CAPS_LATEST_PARSE_ERROR("tseg-i440fx"); -- 2.36.1

On Tue, Jul 26, 2022 at 04:36:47PM +0200, Peter Krempa wrote:
Modernize the tests as they mostly care that the aliases are properly propagated to qemu.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- tests/qemuxml2argvdata/user-aliases-usb.args | 41 ---------- .../user-aliases-usb.x86_64-latest.args | 44 +++++++++++ tests/qemuxml2argvdata/user-aliases.args | 68 ----------------- .../user-aliases.x86_64-latest.args | 74 +++++++++++++++++++ tests/qemuxml2argvdata/user-aliases2.args | 1 - .../user-aliases2.x86_64-latest.args | 39 ++++++++++ tests/qemuxml2argvtest.c | 14 +--- 7 files changed, 160 insertions(+), 121 deletions(-) delete mode 100644 tests/qemuxml2argvdata/user-aliases-usb.args create mode 100644 tests/qemuxml2argvdata/user-aliases-usb.x86_64-latest.args delete mode 100644 tests/qemuxml2argvdata/user-aliases.args create mode 100644 tests/qemuxml2argvdata/user-aliases.x86_64-latest.args delete mode 120000 tests/qemuxml2argvdata/user-aliases2.args create mode 100644 tests/qemuxml2argvdata/user-aliases2.x86_64-latest.args
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

Modernize 'disk-nvme', 'encrypted-disk-usage', 'encrypted-disk', and 'user-aliases' cases to use DO_TEST_CAPS_LATEST. This will remove all uses of QEMU_CAPS_QCOW2_LUKS from the test suite. Since the output files are done via symlinks to input files, the input files need to be modernized with few auto-added XML bits. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- tests/qemuxml2argvdata/disk-nvme.xml | 5 ++++- tests/qemuxml2argvdata/encrypted-disk-usage.xml | 5 ++++- tests/qemuxml2argvdata/user-aliases.xml | 5 +++-- ...{disk-nvme.xml => disk-nvme.x86_64-latest.xml} | 0 ...xml => encrypted-disk-usage.x86_64-latest.xml} | 0 ...-disk.xml => encrypted-disk.x86_64-latest.xml} | 5 ++++- ...aliases.xml => user-aliases.x86_64-latest.xml} | 0 tests/qemuxml2xmltest.c | 15 ++++----------- 8 files changed, 19 insertions(+), 16 deletions(-) rename tests/qemuxml2xmloutdata/{disk-nvme.xml => disk-nvme.x86_64-latest.xml} (100%) rename tests/qemuxml2xmloutdata/{encrypted-disk-usage.xml => encrypted-disk-usage.x86_64-latest.xml} (100%) rename tests/qemuxml2xmloutdata/{encrypted-disk.xml => encrypted-disk.x86_64-latest.xml} (89%) rename tests/qemuxml2xmloutdata/{user-aliases.xml => user-aliases.x86_64-latest.xml} (100%) diff --git a/tests/qemuxml2argvdata/disk-nvme.xml b/tests/qemuxml2argvdata/disk-nvme.xml index 226ea3d686..5e521ad6d3 100644 --- a/tests/qemuxml2argvdata/disk-nvme.xml +++ b/tests/qemuxml2argvdata/disk-nvme.xml @@ -8,6 +8,9 @@ <type arch='x86_64' machine='pc'>hvm</type> <boot dev='hd'/> </os> + <cpu mode='custom' match='exact' check='none'> + <model fallback='forbid'>qemu64</model> + </cpu> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> @@ -49,7 +52,7 @@ <target dev='vdd' bus='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/> </disk> - <controller type='usb' index='0'> + <controller type='usb' index='0' model='piix3-uhci'> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/> </controller> <controller type='pci' index='0' model='pci-root'/> diff --git a/tests/qemuxml2argvdata/encrypted-disk-usage.xml b/tests/qemuxml2argvdata/encrypted-disk-usage.xml index 43afacf220..7c5781b96f 100644 --- a/tests/qemuxml2argvdata/encrypted-disk-usage.xml +++ b/tests/qemuxml2argvdata/encrypted-disk-usage.xml @@ -8,6 +8,9 @@ <type arch='x86_64' machine='pc'>hvm</type> <boot dev='hd'/> </os> + <cpu mode='custom' match='exact' check='none'> + <model fallback='forbid'>qemu64</model> + </cpu> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> @@ -23,7 +26,7 @@ </encryption> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> </disk> - <controller type='usb' index='0'> + <controller type='usb' index='0' model='piix3-uhci'> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/> </controller> <controller type='pci' index='0' model='pci-root'/> diff --git a/tests/qemuxml2argvdata/user-aliases.xml b/tests/qemuxml2argvdata/user-aliases.xml index b688b84b56..9998c1e08f 100644 --- a/tests/qemuxml2argvdata/user-aliases.xml +++ b/tests/qemuxml2argvdata/user-aliases.xml @@ -19,7 +19,8 @@ <apic/> <pae/> </features> - <cpu> + <cpu mode='custom' match='exact' check='none'> + <model fallback='forbid'>qemu64</model> <numa> <cell id='0' cpus='0' memory='1048576' unit='KiB'/> <cell id='1' cpus='1' memory='1048576' unit='KiB'/> @@ -70,7 +71,7 @@ <alias name='ua-WhatAnAwesomeCDROM'/> <address type='drive' controller='0' bus='1' target='0' unit='0'/> </disk> - <controller type='usb' index='0'> + <controller type='usb' index='0' model='piix3-uhci'> <alias name='ua-SomeWeirdController'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/> </controller> diff --git a/tests/qemuxml2xmloutdata/disk-nvme.xml b/tests/qemuxml2xmloutdata/disk-nvme.x86_64-latest.xml similarity index 100% rename from tests/qemuxml2xmloutdata/disk-nvme.xml rename to tests/qemuxml2xmloutdata/disk-nvme.x86_64-latest.xml diff --git a/tests/qemuxml2xmloutdata/encrypted-disk-usage.xml b/tests/qemuxml2xmloutdata/encrypted-disk-usage.x86_64-latest.xml similarity index 100% rename from tests/qemuxml2xmloutdata/encrypted-disk-usage.xml rename to tests/qemuxml2xmloutdata/encrypted-disk-usage.x86_64-latest.xml diff --git a/tests/qemuxml2xmloutdata/encrypted-disk.xml b/tests/qemuxml2xmloutdata/encrypted-disk.x86_64-latest.xml similarity index 89% rename from tests/qemuxml2xmloutdata/encrypted-disk.xml rename to tests/qemuxml2xmloutdata/encrypted-disk.x86_64-latest.xml index b840f35fa7..abf0bf59fe 100644 --- a/tests/qemuxml2xmloutdata/encrypted-disk.xml +++ b/tests/qemuxml2xmloutdata/encrypted-disk.x86_64-latest.xml @@ -8,6 +8,9 @@ <type arch='x86_64' machine='pc'>hvm</type> <boot dev='hd'/> </os> + <cpu mode='custom' match='exact' check='none'> + <model fallback='forbid'>qemu64</model> + </cpu> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> @@ -23,7 +26,7 @@ </encryption> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> </disk> - <controller type='usb' index='0'> + <controller type='usb' index='0' model='piix3-uhci'> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/> </controller> <controller type='pci' index='0' model='pci-root'/> diff --git a/tests/qemuxml2xmloutdata/user-aliases.xml b/tests/qemuxml2xmloutdata/user-aliases.x86_64-latest.xml similarity index 100% rename from tests/qemuxml2xmloutdata/user-aliases.xml rename to tests/qemuxml2xmloutdata/user-aliases.x86_64-latest.xml diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c index da0f6eabb7..6bf2ed8d30 100644 --- a/tests/qemuxml2xmltest.c +++ b/tests/qemuxml2xmltest.c @@ -349,7 +349,7 @@ mymain(void) DO_TEST_NOCAPS("disk-network-tlsx509-nbd"); DO_TEST_CAPS_LATEST("disk-network-tlsx509-nbd-hostname"); DO_TEST_NOCAPS("disk-network-tlsx509-vxhs"); - DO_TEST("disk-nvme", QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_QCOW2_LUKS); + DO_TEST_CAPS_LATEST("disk-nvme"); DO_TEST_CAPS_LATEST("disk-vhostuser"); DO_TEST_CAPS_LATEST("disk-scsi"); DO_TEST("disk-virtio-scsi-reservations", @@ -570,8 +570,8 @@ mymain(void) DO_TEST_CAPS_LATEST("disk-slices"); DO_TEST_CAPS_LATEST("disk-rotation"); - DO_TEST("encrypted-disk", QEMU_CAPS_QCOW2_LUKS); - DO_TEST("encrypted-disk-usage", QEMU_CAPS_QCOW2_LUKS); + DO_TEST_CAPS_LATEST("encrypted-disk"); + DO_TEST_CAPS_LATEST("encrypted-disk-usage"); DO_TEST_CAPS_LATEST("luks-disks"); DO_TEST_CAPS_LATEST("luks-disks-source"); DO_TEST_CAPS_LATEST("luks-disks-source-qcow2"); @@ -1293,14 +1293,7 @@ mymain(void) DO_TEST_CAPS_ARCH_LATEST("pseries-cpu-compat", "ppc64"); DO_TEST_CAPS_ARCH_LATEST("pseries-cpu-exact", "ppc64"); - DO_TEST("user-aliases", - QEMU_CAPS_DEVICE_CIRRUS_VGA, - QEMU_CAPS_QCOW2_LUKS, - QEMU_CAPS_OBJECT_MEMORY_FILE, - QEMU_CAPS_PIIX_DISABLE_S3, - QEMU_CAPS_PIIX_DISABLE_S4, - QEMU_CAPS_VNC, - QEMU_CAPS_CCID_EMULATED); + DO_TEST_CAPS_LATEST("user-aliases"); DO_TEST("input-virtio-ccw", QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_KEYBOARD, -- 2.36.1

On Tue, Jul 26, 2022 at 04:36:48PM +0200, Peter Krempa wrote:
Modernize 'disk-nvme', 'encrypted-disk-usage', 'encrypted-disk', and 'user-aliases' cases to use DO_TEST_CAPS_LATEST.
This will remove all uses of QEMU_CAPS_QCOW2_LUKS from the test suite.
Since the output files are done via symlinks to input files, the input files need to be modernized with few auto-added XML bits.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- tests/qemuxml2argvdata/disk-nvme.xml | 5 ++++- tests/qemuxml2argvdata/encrypted-disk-usage.xml | 5 ++++- tests/qemuxml2argvdata/user-aliases.xml | 5 +++-- ...{disk-nvme.xml => disk-nvme.x86_64-latest.xml} | 0 ...xml => encrypted-disk-usage.x86_64-latest.xml} | 0 ...-disk.xml => encrypted-disk.x86_64-latest.xml} | 5 ++++- ...aliases.xml => user-aliases.x86_64-latest.xml} | 0 tests/qemuxml2xmltest.c | 15 ++++----------- 8 files changed, 19 insertions(+), 16 deletions(-) rename tests/qemuxml2xmloutdata/{disk-nvme.xml => disk-nvme.x86_64-latest.xml} (100%) rename tests/qemuxml2xmloutdata/{encrypted-disk-usage.xml => encrypted-disk-usage.x86_64-latest.xml} (100%) rename tests/qemuxml2xmloutdata/{encrypted-disk.xml => encrypted-disk.x86_64-latest.xml} (89%) rename tests/qemuxml2xmloutdata/{user-aliases.xml => user-aliases.x86_64-latest.xml} (100%)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

luks-encrypted QCOW2 files were introduced in qemu-2.6 unconditionally. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_domain.c | 8 -------- 1 file changed, 8 deletions(-) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 534de9e0ae..245cae9c60 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -5079,14 +5079,6 @@ qemuDomainValidateStorageSource(virStorageSource *src, src->encryption->engine); return -1; } - - if (src->format == VIR_STORAGE_FILE_QCOW2 && - src->encryption->format == VIR_STORAGE_ENCRYPTION_FORMAT_LUKS && - !virQEMUCapsGet(qemuCaps, QEMU_CAPS_QCOW2_LUKS)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("LUKS encrypted QCOW2 images are not supported by this QEMU")); - return -1; - } } if (src->tlsHostname) { -- 2.36.1

On Tue, Jul 26, 2022 at 04:36:49PM +0200, Peter Krempa wrote:
luks-encrypted QCOW2 files were introduced in qemu-2.6 unconditionally.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_domain.c | 8 -------- 1 file changed, 8 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_capabilities.c | 3 +-- src/qemu/qemu_capabilities.h | 2 +- tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml | 1 - tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml | 1 - 28 files changed, 2 insertions(+), 29 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index a01de90c29..e8b7d91062 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -465,7 +465,7 @@ VIR_ENUM_IMPL(virQEMUCaps, "virtio-tablet-ccw", /* QEMU_CAPS_DEVICE_VIRTIO_TABLET_CCW */ /* 285 */ - "qcow2-luks", /* QEMU_CAPS_QCOW2_LUKS */ + "qcow2-luks", /* X_QEMU_CAPS_QCOW2_LUKS */ "pcie-pci-bridge", /* QEMU_CAPS_DEVICE_PCIE_PCI_BRIDGE */ "seccomp-blacklist", /* X_QEMU_CAPS_SECCOMP_BLACKLIST */ "query-cpus-fast", /* QEMU_CAPS_QUERY_CPUS_FAST */ @@ -1585,7 +1585,6 @@ static struct virQEMUCapsDevicePropsFlags virQEMUCapsDevicePropsVirtioIOMMU[] = /* see documentation for virQEMUQAPISchemaPathGet for the query format */ static struct virQEMUCapsStringFlags virQEMUCapsQMPSchemaQueries[] = { { "blockdev-add/arg-type/+vxhs", QEMU_CAPS_VXHS}, - { "blockdev-add/arg-type/+qcow2/encrypt/+luks/key-secret", QEMU_CAPS_QCOW2_LUKS }, { "blockdev-add/arg-type/+file/drop-cache", QEMU_CAPS_MIGRATION_FILE_DROP_CACHE }, { "blockdev-add/arg-type/+file/$dynamic-auto-read-only", QEMU_CAPS_BLOCK_FILE_AUTO_READONLY_DYNAMIC }, { "blockdev-add/arg-type/+nvme", QEMU_CAPS_DRIVE_NVME }, diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index cfa916c846..7c5df0554b 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -444,7 +444,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */ QEMU_CAPS_DEVICE_VIRTIO_TABLET_CCW, /* -device virtio-tablet-ccw */ /* 285 */ - QEMU_CAPS_QCOW2_LUKS, /* qcow2 format support LUKS encryption */ + X_QEMU_CAPS_QCOW2_LUKS, /* qcow2 format support LUKS encryption */ QEMU_CAPS_DEVICE_PCIE_PCI_BRIDGE, /* -device pcie-pci-bridge */ X_QEMU_CAPS_SECCOMP_BLACKLIST, /* -sandbox.elevateprivileges */ QEMU_CAPS_QUERY_CPUS_FAST, /* query-cpus-fast command */ diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml index 9dfe93ef45..c801c11391 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml @@ -99,7 +99,6 @@ <flag name='disk-share-rw'/> <flag name='pl011'/> <flag name='dump-completed'/> - <flag name='qcow2-luks'/> <flag name='pcie-pci-bridge'/> <flag name='query-cpus-fast'/> <flag name='disk-write-cache'/> diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml index 120e7221a3..cbdc1dd09a 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml @@ -97,7 +97,6 @@ <flag name='disk-share-rw'/> <flag name='isa-serial'/> <flag name='dump-completed'/> - <flag name='qcow2-luks'/> <flag name='pcie-pci-bridge'/> <flag name='query-cpus-fast'/> <flag name='disk-write-cache'/> diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml b/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml index 9bafdc08ff..290a663904 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml @@ -66,7 +66,6 @@ <flag name='virtio-keyboard-ccw'/> <flag name='virtio-mouse-ccw'/> <flag name='virtio-tablet-ccw'/> - <flag name='qcow2-luks'/> <flag name='query-cpus-fast'/> <flag name='disk-write-cache'/> <flag name='nbd-tls'/> diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml index 2cb38642e7..a2e36da5bf 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml @@ -130,7 +130,6 @@ <flag name='disk-share-rw'/> <flag name='isa-serial'/> <flag name='dump-completed'/> - <flag name='qcow2-luks'/> <flag name='pcie-pci-bridge'/> <flag name='query-cpus-fast'/> <flag name='disk-write-cache'/> diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml index e5fcc07d14..ba0be2518e 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml @@ -101,7 +101,6 @@ <flag name='disk-share-rw'/> <flag name='pl011'/> <flag name='dump-completed'/> - <flag name='qcow2-luks'/> <flag name='pcie-pci-bridge'/> <flag name='query-cpus-fast'/> <flag name='disk-write-cache'/> diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml index 8834e745dc..15c4beea98 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml @@ -99,7 +99,6 @@ <flag name='disk-share-rw'/> <flag name='isa-serial'/> <flag name='dump-completed'/> - <flag name='qcow2-luks'/> <flag name='pcie-pci-bridge'/> <flag name='query-cpus-fast'/> <flag name='disk-write-cache'/> diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml index 841e935438..9d24daa1a9 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml @@ -98,7 +98,6 @@ <flag name='virtio-blk.num-queues'/> <flag name='disk-share-rw'/> <flag name='dump-completed'/> - <flag name='qcow2-luks'/> <flag name='pcie-pci-bridge'/> <flag name='query-cpus-fast'/> <flag name='disk-write-cache'/> diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml index 89ed03e279..18970c1f90 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml @@ -130,7 +130,6 @@ <flag name='disk-share-rw'/> <flag name='isa-serial'/> <flag name='dump-completed'/> - <flag name='qcow2-luks'/> <flag name='pcie-pci-bridge'/> <flag name='query-cpus-fast'/> <flag name='disk-write-cache'/> diff --git a/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml b/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml index 551c4dcb79..6052009362 100644 --- a/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml +++ b/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml @@ -34,7 +34,6 @@ <flag name='disk-share-rw'/> <flag name='isa-serial'/> <flag name='dump-completed'/> - <flag name='qcow2-luks'/> <flag name='query-cpus-fast'/> <flag name='disk-write-cache'/> <flag name='nbd-tls'/> diff --git a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml index e5d4b355b1..630d69d8ff 100644 --- a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml @@ -129,7 +129,6 @@ <flag name='disk-share-rw'/> <flag name='isa-serial'/> <flag name='dump-completed'/> - <flag name='qcow2-luks'/> <flag name='pcie-pci-bridge'/> <flag name='query-cpus-fast'/> <flag name='disk-write-cache'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml index 3b30fae3b7..182694aca5 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml @@ -100,7 +100,6 @@ <flag name='disk-share-rw'/> <flag name='pl011'/> <flag name='dump-completed'/> - <flag name='qcow2-luks'/> <flag name='pcie-pci-bridge'/> <flag name='query-cpus-fast'/> <flag name='disk-write-cache'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml index f0a1c6d424..14f648efd6 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml @@ -97,7 +97,6 @@ <flag name='disk-share-rw'/> <flag name='isa-serial'/> <flag name='dump-completed'/> - <flag name='qcow2-luks'/> <flag name='pcie-pci-bridge'/> <flag name='query-cpus-fast'/> <flag name='disk-write-cache'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml index 4b3a7e4e0b..09998c9564 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml @@ -96,7 +96,6 @@ <flag name='virtio-blk.num-queues'/> <flag name='disk-share-rw'/> <flag name='dump-completed'/> - <flag name='qcow2-luks'/> <flag name='pcie-pci-bridge'/> <flag name='query-cpus-fast'/> <flag name='disk-write-cache'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml b/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml index 62b6bc6e77..9c24f45f69 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml @@ -64,7 +64,6 @@ <flag name='virtio-keyboard-ccw'/> <flag name='virtio-mouse-ccw'/> <flag name='virtio-tablet-ccw'/> - <flag name='qcow2-luks'/> <flag name='query-cpus-fast'/> <flag name='disk-write-cache'/> <flag name='nbd-tls'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml index 2f1dbec6dc..25cbeaacf0 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml @@ -129,7 +129,6 @@ <flag name='disk-share-rw'/> <flag name='isa-serial'/> <flag name='dump-completed'/> - <flag name='qcow2-luks'/> <flag name='pcie-pci-bridge'/> <flag name='query-cpus-fast'/> <flag name='disk-write-cache'/> diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml index 6ab242ef09..4e386dd29a 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml @@ -101,7 +101,6 @@ <flag name='disk-share-rw'/> <flag name='pl011'/> <flag name='dump-completed'/> - <flag name='qcow2-luks'/> <flag name='pcie-pci-bridge'/> <flag name='query-cpus-fast'/> <flag name='disk-write-cache'/> diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml b/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml index 4b30f544e8..66763ef480 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml @@ -64,7 +64,6 @@ <flag name='virtio-keyboard-ccw'/> <flag name='virtio-mouse-ccw'/> <flag name='virtio-tablet-ccw'/> - <flag name='qcow2-luks'/> <flag name='query-cpus-fast'/> <flag name='disk-write-cache'/> <flag name='nbd-tls'/> diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml index 935148a8a1..b4f31cdebd 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml @@ -128,7 +128,6 @@ <flag name='disk-share-rw'/> <flag name='isa-serial'/> <flag name='dump-completed'/> - <flag name='qcow2-luks'/> <flag name='pcie-pci-bridge'/> <flag name='query-cpus-fast'/> <flag name='disk-write-cache'/> diff --git a/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml index c4ae311be8..67e68ce7c8 100644 --- a/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml @@ -127,7 +127,6 @@ <flag name='disk-share-rw'/> <flag name='isa-serial'/> <flag name='dump-completed'/> - <flag name='qcow2-luks'/> <flag name='pcie-pci-bridge'/> <flag name='query-cpus-fast'/> <flag name='disk-write-cache'/> diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml index 870cf154f1..20ba835984 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml @@ -108,7 +108,6 @@ <flag name='disk-share-rw'/> <flag name='pl011'/> <flag name='dump-completed'/> - <flag name='qcow2-luks'/> <flag name='pcie-pci-bridge'/> <flag name='query-cpus-fast'/> <flag name='disk-write-cache'/> diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml index a904dea43a..2d1ca291a9 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml @@ -97,7 +97,6 @@ <flag name='disk-share-rw'/> <flag name='isa-serial'/> <flag name='dump-completed'/> - <flag name='qcow2-luks'/> <flag name='pcie-pci-bridge'/> <flag name='query-cpus-fast'/> <flag name='disk-write-cache'/> diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml index fecb2cb03f..7dc962f9c4 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml @@ -127,7 +127,6 @@ <flag name='disk-share-rw'/> <flag name='isa-serial'/> <flag name='dump-completed'/> - <flag name='qcow2-luks'/> <flag name='pcie-pci-bridge'/> <flag name='query-cpus-fast'/> <flag name='disk-write-cache'/> diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml index 5a47530d26..7627b5b03c 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml @@ -108,7 +108,6 @@ <flag name='disk-share-rw'/> <flag name='pl011'/> <flag name='dump-completed'/> - <flag name='qcow2-luks'/> <flag name='pcie-pci-bridge'/> <flag name='query-cpus-fast'/> <flag name='disk-write-cache'/> diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml index 46db0d7832..5710c609f9 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml @@ -103,7 +103,6 @@ <flag name='disk-share-rw'/> <flag name='isa-serial'/> <flag name='dump-completed'/> - <flag name='qcow2-luks'/> <flag name='pcie-pci-bridge'/> <flag name='query-cpus-fast'/> <flag name='disk-write-cache'/> diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml index 99b4d860f9..8c5aea8aa5 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml @@ -127,7 +127,6 @@ <flag name='disk-share-rw'/> <flag name='isa-serial'/> <flag name='dump-completed'/> - <flag name='qcow2-luks'/> <flag name='pcie-pci-bridge'/> <flag name='query-cpus-fast'/> <flag name='disk-write-cache'/> diff --git a/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml index 06e1afe692..84c598a286 100644 --- a/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml @@ -127,7 +127,6 @@ <flag name='disk-share-rw'/> <flag name='isa-serial'/> <flag name='dump-completed'/> - <flag name='qcow2-luks'/> <flag name='pcie-pci-bridge'/> <flag name='query-cpus-fast'/> <flag name='disk-write-cache'/> -- 2.36.1

On Tue, Jul 26, 2022 at 04:36:50PM +0200, Peter Krempa wrote:
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_capabilities.c | 3 +-- src/qemu/qemu_capabilities.h | 2 +- tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml | 1 - tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml | 1 - 28 files changed, 2 insertions(+), 29 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

The cleanup of the code to always assume support for QEMU_CAPS_BLOCKDEV will not be simple, so for now we hardcode the support and the code will be cleaned up gradually. We also disallow users to clear the flags via the namespace property or qemu.conf configuration. The change to the PPC64 test data originatest from the fact that the capability dump is not from the release version but is lacking one of the necessary flags to enable -blockdev. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_capabilities.c | 18 +++++------------- src/qemu/qemu_process.c | 12 ++++++++++++ tests/domaincapsdata/qemu_4.2.0.ppc64.xml | 2 +- .../qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 3 +++ 4 files changed, 21 insertions(+), 14 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index e8b7d91062..9cffb07b9d 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -5228,6 +5228,11 @@ virQEMUCapsInitQMPBasicArch(virQEMUCaps *qemuCaps) static void virQEMUCapsInitQMPVersionCaps(virQEMUCaps *qemuCaps) { + /* While the removal of pre-blockdev code is in progress we always hard-code + * the support for QEMU_CAPS_BLOCKDEV */ + virQEMUCapsSet(qemuCaps, QEMU_CAPS_BLOCKDEV); + virQEMUCapsSet(qemuCaps, QEMU_CAPS_BLOCKDEV_HOSTDEV_SCSI); + /* -enable-fips is deprecated in QEMU 5.2.0, and QEMU * should be built with gcrypt to achieve FIPS compliance * automatically / implicitly @@ -5247,17 +5252,11 @@ virQEMUCapsInitQMPVersionCaps(virQEMUCaps *qemuCaps) void virQEMUCapsInitProcessCapsInterlock(virQEMUCaps *qemuCaps) { - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_BLOCKDEV)) - virQEMUCapsClear(qemuCaps, QEMU_CAPS_BLOCKDEV_BACKUP); - if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_BLOCKDEV_BACKUP) && virQEMUCapsGet(qemuCaps, QEMU_CAPS_BLOCKDEV_REOPEN) && virQEMUCapsGet(qemuCaps, QEMU_CAPS_MIGRATION_PARAM_BLOCK_BITMAP_MAPPING)) virQEMUCapsSet(qemuCaps, QEMU_CAPS_INCREMENTAL_BACKUP); - if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_BLOCKDEV)) - virQEMUCapsSet(qemuCaps, QEMU_CAPS_BLOCKDEV_HOSTDEV_SCSI); - /* The -compat qemu command line argument is implemented using a newer * method which doesn't show up in query-command-line-options. As we'll use * it only for development and testing purposes we can base the capability @@ -5302,13 +5301,6 @@ virQEMUCapsInitProcessCaps(virQEMUCaps *qemuCaps) if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_CPU_UNAVAILABLE_FEATURES)) virQEMUCapsSet(qemuCaps, QEMU_CAPS_CANONICAL_CPU_FEATURES); - /* To avoid guest ABI regression, blockdev shall be enabled only when - * we are able to pass the custom 'device_id' for SCSI disks and cdroms. */ - if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_BLOCK_FILE_AUTO_READONLY_DYNAMIC) && - virQEMUCapsGet(qemuCaps, QEMU_CAPS_SCSI_DISK_DEVICE_ID) && - virQEMUCapsGet(qemuCaps, QEMU_CAPS_SAVEVM_MONITOR_NODES)) - virQEMUCapsSet(qemuCaps, QEMU_CAPS_BLOCKDEV); - /* We can't probe "esp" as a type via virQEMUCapsObjectTypes * array as it is only usable when builtin to the machine type */ diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index d42333195a..438c903578 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -5644,6 +5644,12 @@ qemuProcessStartUpdateCustomCaps(virDomainObj *vm) return -1; } + /* The code is being cleaned up to always assume the support for + * -blockdev thus we must no longer allow users to clear it */ + if (tmp == QEMU_CAPS_BLOCKDEV || + tmp == QEMU_CAPS_BLOCKDEV_HOSTDEV_SCSI) + continue; + virQEMUCapsClear(priv->qemuCaps, tmp); } } @@ -5668,6 +5674,12 @@ qemuProcessStartUpdateCustomCaps(virDomainObj *vm) return -1; } + /* The code is being cleaned up to always assume the support for + * -blockdev thus we must no longer allow users to clear it */ + if (tmp == QEMU_CAPS_BLOCKDEV || + tmp == QEMU_CAPS_BLOCKDEV_HOSTDEV_SCSI) + continue; + virQEMUCapsClear(priv->qemuCaps, tmp); } } diff --git a/tests/domaincapsdata/qemu_4.2.0.ppc64.xml b/tests/domaincapsdata/qemu_4.2.0.ppc64.xml index 4c3a2c6d98..7d3dd3c917 100644 --- a/tests/domaincapsdata/qemu_4.2.0.ppc64.xml +++ b/tests/domaincapsdata/qemu_4.2.0.ppc64.xml @@ -138,7 +138,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='no'/> - <backingStoreInput supported='no'/> + <backingStoreInput supported='yes'/> <backup supported='no'/> <sev supported='no'/> </features> diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml index cbdc1dd09a..702f6551a4 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml @@ -112,6 +112,7 @@ <flag name='machine.pseries.cap-htm'/> <flag name='egl-headless'/> <flag name='vfio-pci.display'/> + <flag name='blockdev'/> <flag name='memory-backend-memfd'/> <flag name='memory-backend-memfd.hugetlb'/> <flag name='iothread.poll-max-ns'/> @@ -140,11 +141,13 @@ <flag name='tcg'/> <flag name='pvscsi'/> <flag name='spapr-tpm-proxy'/> + <flag name='blockdev-hostdev-scsi'/> <flag name='dc390'/> <flag name='am53c974'/> <flag name='vhost-user-blk'/> <flag name='cpu-max'/> <flag name='memory-backend-file.x-use-canonical-path-for-ramblock-id'/> + <flag name='blockdev-backup'/> <flag name='rotation-rate'/> <flag name='input-linux'/> <flag name='query-display-options'/> -- 2.36.1

On Tue, Jul 26, 2022 at 04:36:51PM +0200, Peter Krempa wrote:
The cleanup of the code to always assume support for QEMU_CAPS_BLOCKDEV will not be simple, so for now we hardcode the support and the code will be cleaned up gradually.
We also disallow users to clear the flags via the namespace property or qemu.conf configuration.
The change to the PPC64 test data originatest from the fact that the capability dump is not from the release version but is lacking one of the necessary flags to enable -blockdev.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_capabilities.c | 18 +++++------------- src/qemu/qemu_process.c | 12 ++++++++++++ tests/domaincapsdata/qemu_4.2.0.ppc64.xml | 2 +- .../qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 3 +++ 4 files changed, 21 insertions(+), 14 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

On a Tuesday in 2022, Peter Krempa wrote:
The cleanup of the code to always assume support for QEMU_CAPS_BLOCKDEV will not be simple, so for now we hardcode the support and the code will be cleaned up gradually.
We also disallow users to clear the flags via the namespace property or qemu.conf configuration.
The change to the PPC64 test data originatest from the fact that the
*originates
capability dump is not from the release version but is lacking one of the necessary flags to enable -blockdev.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_capabilities.c | 18 +++++------------- src/qemu/qemu_process.c | 12 ++++++++++++ tests/domaincapsdata/qemu_4.2.0.ppc64.xml | 2 +- .../qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 3 +++ 4 files changed, 21 insertions(+), 14 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

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@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

On Tue, Jul 26, 2022 at 04:36:52PM +0200, Peter Krempa wrote:
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@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(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

The code which fills 'qomName' does so only when the blockdev capability is enabled so we don't have to check it separately as it can be only non-NULL when blockdev is used. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_driver.c | 29 ++++++++++++----------------- src/qemu/qemu_process.c | 3 +-- 2 files changed, 13 insertions(+), 19 deletions(-) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index cfb02f7b0f..d5a3181c0d 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -10119,16 +10119,15 @@ qemuDomainBlocksStatsGather(virQEMUDriver *driver, return -1; } - if (blockdev && QEMU_DOMAIN_DISK_PRIVATE(disk)->qomName) { + if (QEMU_DOMAIN_DISK_PRIVATE(disk)->qomName) entryname = QEMU_DOMAIN_DISK_PRIVATE(disk)->qomName; - } else { - if (!disk->info.alias) { - virReportError(VIR_ERR_INTERNAL_ERROR, - _("missing disk device alias name for %s"), disk->dst); - return -1; - } - + else entryname = disk->info.alias; + + if (!entryname) { + virReportError(VIR_ERR_INTERNAL_ERROR, + _("missing disk device alias name for %s"), disk->dst); + return -1; } } @@ -10180,7 +10179,7 @@ qemuDomainBlocksStatsGather(virQEMUDriver *driver, if (virStorageSourceGetActualType(disk->src) == VIR_STORAGE_TYPE_VHOST_USER) continue; - if (blockdev && QEMU_DOMAIN_DISK_PRIVATE(disk)->qomName) + if (QEMU_DOMAIN_DISK_PRIVATE(disk)->qomName) entryname = QEMU_DOMAIN_DISK_PRIVATE(disk)->qomName; if (!entryname) @@ -16312,8 +16311,7 @@ qemuDomainSetBlockIoTune(virDomainPtr dom, if (!qemuDomainDiskBlockIoTuneIsSupported(disk->src)) goto endjob; - if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV) && - QEMU_DOMAIN_DISK_PRIVATE(disk)->qomName) { + if (QEMU_DOMAIN_DISK_PRIVATE(disk)->qomName) { qdevid = QEMU_DOMAIN_DISK_PRIVATE(disk)->qomName; } else { if (!(drivealias = qemuAliasDiskDriveFromDisk(disk))) @@ -16497,8 +16495,7 @@ qemuDomainGetBlockIoTune(virDomainPtr dom, if (!qemuDomainDiskBlockIoTuneIsSupported(disk->src)) goto endjob; - if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV) && - QEMU_DOMAIN_DISK_PRIVATE(disk)->qomName) { + if (QEMU_DOMAIN_DISK_PRIVATE(disk)->qomName) { qdevid = QEMU_DOMAIN_DISK_PRIVATE(disk)->qomName; } else { if (!(drivealias = qemuAliasDiskDriveFromDisk(disk))) @@ -16597,7 +16594,6 @@ qemuDomainGetDiskErrors(virDomainPtr dom, virDomainObj *vm = NULL; qemuDomainObjPrivate *priv; g_autoptr(GHashTable) table = NULL; - bool blockdev = false; int ret = -1; size_t i; int n = 0; @@ -16608,7 +16604,6 @@ qemuDomainGetDiskErrors(virDomainPtr dom, goto cleanup; priv = vm->privateData; - blockdev = virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV); if (virDomainGetDiskErrorsEnsureACL(dom->conn, vm->def) < 0) goto cleanup; @@ -16636,7 +16631,7 @@ qemuDomainGetDiskErrors(virDomainPtr dom, qemuDomainDiskPrivate *diskPriv = QEMU_DOMAIN_DISK_PRIVATE(disk); const char *entryname = disk->info.alias; - if (blockdev && diskPriv->qomName) + if (diskPriv->qomName) entryname = diskPriv->qomName; if ((info = virHashLookup(table, entryname)) && @@ -18505,7 +18500,7 @@ qemuDomainGetStatsBlockExportDisk(virDomainDiskDef *disk, /* for 'sd' disks we won't be displaying stats for the backing chain * as we don't update the stats correctly */ - if (blockdev && QEMU_DOMAIN_DISK_PRIVATE(disk)->qomName) { + if (QEMU_DOMAIN_DISK_PRIVATE(disk)->qomName) { frontendalias = QEMU_DOMAIN_DISK_PRIVATE(disk)->qomName; backendalias = n->nodeformat; backendstoragealias = n->nodestorage; diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 438c903578..260116dc67 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -8593,7 +8593,6 @@ qemuProcessRefreshDisks(virQEMUDriver *driver, virDomainAsyncJob asyncJob) { qemuDomainObjPrivate *priv = vm->privateData; - bool blockdev = virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV); g_autoptr(GHashTable) table = NULL; size_t i; @@ -8611,7 +8610,7 @@ qemuProcessRefreshDisks(virQEMUDriver *driver, struct qemuDomainDiskInfo *info; const char *entryname = disk->info.alias; - if (blockdev && diskpriv->qomName) + if (diskpriv->qomName) entryname = diskpriv->qomName; if (!(info = virHashLookup(table, entryname))) -- 2.36.1

On Tue, Jul 26, 2022 at 04:36:53PM +0200, Peter Krempa wrote:
The code which fills 'qomName' does so only when the blockdev capability is enabled so we don't have to check it separately as it can be only non-NULL when blockdev is used.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_driver.c | 29 ++++++++++++----------------- src/qemu/qemu_process.c | 3 +-- 2 files changed, 13 insertions(+), 19 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

The 'device_id' property of 'scsi_disk' was added in qemu-4.0 and it's unconditionally present, thus we can now always assume it's presence. Update some fake-caps test which didn't yet assert the capability. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_command.c | 12 +++++------- .../aarch64-virtio-pci-manual-addresses.args | 2 +- tests/qemuxml2argvdata/multifunction-pci-device.args | 2 +- .../qemuxml2argvdata/pseries-vio-user-assigned.args | 2 +- tests/qemuxml2argvdata/pseries-vio.args | 2 +- tests/qemuxml2argvdata/sparc-minimal.args | 4 ++-- 6 files changed, 11 insertions(+), 13 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 17aac57b03..cb54190780 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -2141,13 +2141,11 @@ qemuBuildDiskDeviceProps(const virDomainDef *def, * disk serial was not set and the disk serial otherwise. * To avoid a guest-visible regression we need to provide it * ourselves especially for cases when -blockdev will be used */ - if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_SCSI_DISK_DEVICE_ID)) { - if (disk->serial) { - scsiVPDDeviceId = g_strdup(disk->serial); - } else { - if (!(scsiVPDDeviceId = qemuAliasDiskDriveFromDisk(disk))) - return NULL; - } + if (disk->serial) { + scsiVPDDeviceId = g_strdup(disk->serial); + } else { + if (!(scsiVPDDeviceId = qemuAliasDiskDriveFromDisk(disk))) + return NULL; } } diff --git a/tests/qemuxml2argvdata/aarch64-virtio-pci-manual-addresses.args b/tests/qemuxml2argvdata/aarch64-virtio-pci-manual-addresses.args index 3000fea1a6..5242f680d2 100644 --- a/tests/qemuxml2argvdata/aarch64-virtio-pci-manual-addresses.args +++ b/tests/qemuxml2argvdata/aarch64-virtio-pci-manual-addresses.args @@ -36,7 +36,7 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-aarch64test/.config \ -device virtio-scsi-pci,id=scsi0,bus=pci.3,addr=0x1 \ -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 \ +-device scsi-hd,bus=scsi0.0,channel=0,scsi-id=0,lun=0,device_id=drive-scsi0-0-0-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/multifunction-pci-device.args b/tests/qemuxml2argvdata/multifunction-pci-device.args index accb08bd33..2569c3ec71 100644 --- a/tests/qemuxml2argvdata/multifunction-pci-device.args +++ b/tests/qemuxml2argvdata/multifunction-pci-device.args @@ -37,7 +37,7 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \ -usb \ -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 \ +-device scsi-hd,bus=scsi0.0,scsi-id=0,device_id=drive-scsi0-0-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/pseries-vio-user-assigned.args b/tests/qemuxml2argvdata/pseries-vio-user-assigned.args index 5989b38a25..88ff276a4b 100644 --- a/tests/qemuxml2argvdata/pseries-vio-user-assigned.args +++ b/tests/qemuxml2argvdata/pseries-vio-user-assigned.args @@ -29,7 +29,7 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \ -usb \ -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 \ +-device scsi-hd,bus=scsi1.0,channel=0,scsi-id=0,lun=0,device_id=drive-scsi1-0-0-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 53277f2287..f83d891682 100644 --- a/tests/qemuxml2argvdata/pseries-vio.args +++ b/tests/qemuxml2argvdata/pseries-vio.args @@ -29,7 +29,7 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \ -usb \ -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 \ +-device scsi-hd,bus=scsi1.0,channel=0,scsi-id=0,lun=0,device_id=drive-scsi1-0-0-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/sparc-minimal.args b/tests/qemuxml2argvdata/sparc-minimal.args index a265a3ad38..63930f20c4 100644 --- a/tests/qemuxml2argvdata/sparc-minimal.args +++ b/tests/qemuxml2argvdata/sparc-minimal.args @@ -27,9 +27,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-redhat62sparc/.config \ -usb \ -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 \ +-device scsi-hd,bus=scsi.0,scsi-id=0,device_id=drive-scsi0-0-0-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 \ +-device scsi-cd,bus=scsi.0,scsi-id=1,device_id=drive-scsi0-0-0-1,drive=libvirt-1-format,id=scsi0-0-0-1 \ -audiodev '{"id":"audio1","driver":"none"}' \ -msg timestamp=on -- 2.36.1

On Tue, Jul 26, 2022 at 04:36:54PM +0200, Peter Krempa wrote:
The 'device_id' property of 'scsi_disk' was added in qemu-4.0 and it's unconditionally present, thus we can now always assume it's presence.
s/it's presence/its presence/
Update some fake-caps test which didn't yet assert the capability.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_command.c | 12 +++++------- .../aarch64-virtio-pci-manual-addresses.args | 2 +- tests/qemuxml2argvdata/multifunction-pci-device.args | 2 +- .../qemuxml2argvdata/pseries-vio-user-assigned.args | 2 +- tests/qemuxml2argvdata/pseries-vio.args | 2 +- tests/qemuxml2argvdata/sparc-minimal.args | 4 ++-- 6 files changed, 11 insertions(+), 13 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

Retire: QEMU_CAPS_BLOCK_FILE_AUTO_READONLY_DYNAMIC QEMU_CAPS_SCSI_DISK_DEVICE_ID QEMU_CAPS_SAVEVM_MONITOR_NODES Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_capabilities.c | 9 +++------ src/qemu/qemu_capabilities.h | 6 +++--- tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml | 3 --- tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 2 -- tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml | 3 --- tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml | 3 --- tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml | 3 --- tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 3 --- tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml | 3 --- tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml | 3 --- tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml | 3 --- tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml | 3 --- tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml | 3 --- tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml | 3 --- tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml | 3 --- tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml | 3 --- tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml | 3 --- tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml | 3 --- tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml | 3 --- tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml | 3 --- tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml | 3 --- tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml | 3 --- tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml | 3 --- tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml | 3 --- tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml | 3 --- tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml | 3 --- tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml | 3 --- tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml | 3 --- 28 files changed, 6 insertions(+), 86 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 9cffb07b9d..d660b3b9f0 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -521,7 +521,7 @@ VIR_ENUM_IMPL(virQEMUCaps, "nvdimm.unarmed", /* QEMU_CAPS_DEVICE_NVDIMM_UNARMED */ /* 325 */ - "scsi-disk.device_id", /* QEMU_CAPS_SCSI_DISK_DEVICE_ID */ + "scsi-disk.device_id", /* X_QEMU_CAPS_SCSI_DISK_DEVICE_ID */ "virtio-pci-non-transitional", /* QEMU_CAPS_VIRTIO_PCI_TRANSITIONAL */ "overcommit", /* X_QEMU_CAPS_OVERCOMMIT */ "query-current-machine", /* QEMU_CAPS_QUERY_CURRENT_MACHINE */ @@ -550,8 +550,8 @@ VIR_ENUM_IMPL(virQEMUCaps, /* 345 */ "arm-max-cpu", /* QEMU_CAPS_ARM_MAX_CPU */ - "blockdev-file-dynamic-auto-read-only", /* QEMU_CAPS_BLOCK_FILE_AUTO_READONLY_DYNAMIC */ - "savevm-monitor-nodes", /* QEMU_CAPS_SAVEVM_MONITOR_NODES */ + "blockdev-file-dynamic-auto-read-only", /* X_QEMU_CAPS_BLOCK_FILE_AUTO_READONLY_DYNAMIC */ + "savevm-monitor-nodes", /* X_QEMU_CAPS_SAVEVM_MONITOR_NODES */ "drive-nvme", /* QEMU_CAPS_DRIVE_NVME */ "smp-dies", /* QEMU_CAPS_SMP_DIES */ @@ -1483,7 +1483,6 @@ static struct virQEMUCapsDevicePropsFlags virQEMUCapsDevicePropsSCSIDisk[] = { { "wwn", QEMU_CAPS_SCSI_DISK_WWN, NULL }, { "share-rw", QEMU_CAPS_DISK_SHARE_RW, NULL }, { "write-cache", QEMU_CAPS_DISK_WRITE_CACHE, NULL }, - { "device_id", QEMU_CAPS_SCSI_DISK_DEVICE_ID, NULL }, { "rotation_rate", QEMU_CAPS_ROTATION_RATE, NULL }, }; @@ -1586,7 +1585,6 @@ static struct virQEMUCapsDevicePropsFlags virQEMUCapsDevicePropsVirtioIOMMU[] = static struct virQEMUCapsStringFlags virQEMUCapsQMPSchemaQueries[] = { { "blockdev-add/arg-type/+vxhs", QEMU_CAPS_VXHS}, { "blockdev-add/arg-type/+file/drop-cache", QEMU_CAPS_MIGRATION_FILE_DROP_CACHE }, - { "blockdev-add/arg-type/+file/$dynamic-auto-read-only", QEMU_CAPS_BLOCK_FILE_AUTO_READONLY_DYNAMIC }, { "blockdev-add/arg-type/+nvme", QEMU_CAPS_DRIVE_NVME }, { "blockdev-add/arg-type/+file/aio/^io_uring", QEMU_CAPS_AIO_IO_URING }, { "blockdev-add/arg-type/+rbd/encrypt", QEMU_CAPS_RBD_ENCRYPTION }, @@ -1597,7 +1595,6 @@ static struct virQEMUCapsStringFlags virQEMUCapsQMPSchemaQueries[] = { { "chardev-add/arg-type/backend/+file/data/logfile", QEMU_CAPS_CHARDEV_LOGFILE }, { "chardev-add/arg-type/backend/+file/data/logappend", QEMU_CAPS_CHARDEV_FILE_APPEND }, { "device_add/$json-cli-hotplug", QEMU_CAPS_DEVICE_JSON }, - { "human-monitor-command/$savevm-monitor-nodes", QEMU_CAPS_SAVEVM_MONITOR_NODES }, { "migrate-set-parameters/arg-type/block-bitmap-mapping/bitmaps/transform", QEMU_CAPS_MIGRATION_PARAM_BLOCK_BITMAP_MAPPING }, { "nbd-server-start/arg-type/tls-creds", QEMU_CAPS_NBD_TLS }, { "nbd-server-add/arg-type/bitmap", QEMU_CAPS_NBD_BITMAP }, diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index 7c5df0554b..5ca177b599 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -500,7 +500,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */ QEMU_CAPS_DEVICE_NVDIMM_UNARMED, /* -device nvdimm,unarmed= */ /* 325 */ - QEMU_CAPS_SCSI_DISK_DEVICE_ID, /* 'device_id' property of scsi disk */ + X_QEMU_CAPS_SCSI_DISK_DEVICE_ID, /* 'device_id' property of scsi disk */ QEMU_CAPS_VIRTIO_PCI_TRANSITIONAL, /* virtio *-pci-{non-}transitional devices */ X_QEMU_CAPS_OVERCOMMIT, /* -overcommit */ QEMU_CAPS_QUERY_CURRENT_MACHINE, /* query-current-machine command */ @@ -529,8 +529,8 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */ /* 345 */ QEMU_CAPS_ARM_MAX_CPU, /* max-arm-cpu type exists */ - QEMU_CAPS_BLOCK_FILE_AUTO_READONLY_DYNAMIC, /* the auto-read-only property of block backends for files is dynamic */ - QEMU_CAPS_SAVEVM_MONITOR_NODES, /* 'savevm' handles monitor-owned nodes properly */ + X_QEMU_CAPS_BLOCK_FILE_AUTO_READONLY_DYNAMIC, /* the auto-read-only property of block backends for files is dynamic */ + X_QEMU_CAPS_SAVEVM_MONITOR_NODES, /* 'savevm' handles monitor-owned nodes properly */ QEMU_CAPS_DRIVE_NVME, /* -drive file.driver=nvme */ QEMU_CAPS_SMP_DIES, /* -smp dies= */ diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml index c801c11391..e1f69fbcde 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml @@ -119,7 +119,6 @@ <flag name='egl-headless.rendernode'/> <flag name='memory-backend-file.align'/> <flag name='memory-backend-file.pmem'/> - <flag name='scsi-disk.device_id'/> <flag name='virtio-pci-non-transitional'/> <flag name='query-current-machine'/> <flag name='machine.virt.iommu'/> @@ -130,8 +129,6 @@ <flag name='vhost-user-gpu'/> <flag name='ramfb'/> <flag name='arm-max-cpu'/> - <flag name='blockdev-file-dynamic-auto-read-only'/> - <flag name='savevm-monitor-nodes'/> <flag name='drive-nvme'/> <flag name='smp-dies'/> <flag name='rng-builtin'/> diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml index 702f6551a4..c78ae4ee45 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml @@ -120,7 +120,6 @@ <flag name='egl-headless.rendernode'/> <flag name='memory-backend-file.align'/> <flag name='memory-backend-file.pmem'/> - <flag name='scsi-disk.device_id'/> <flag name='virtio-pci-non-transitional'/> <flag name='query-current-machine'/> <flag name='bitmap-merge'/> @@ -130,7 +129,6 @@ <flag name='vhost-user-gpu'/> <flag name='vhost-user-vga'/> <flag name='machine.pseries.cap-ccf-assist'/> - <flag name='blockdev-file-dynamic-auto-read-only'/> <flag name='drive-nvme'/> <flag name='smp-dies'/> <flag name='i8042'/> diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml b/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml index 290a663904..8c88873fc5 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml @@ -89,7 +89,6 @@ <flag name='egl-headless.rendernode'/> <flag name='memory-backend-file.align'/> <flag name='memory-backend-file.pmem'/> - <flag name='scsi-disk.device_id'/> <flag name='virtio-pci-non-transitional'/> <flag name='query-current-machine'/> <flag name='bitmap-merge'/> @@ -98,8 +97,6 @@ <flag name='vhost-user-gpu'/> <flag name='query-cpu-model-baseline'/> <flag name='query-cpu-model-comparison'/> - <flag name='blockdev-file-dynamic-auto-read-only'/> - <flag name='savevm-monitor-nodes'/> <flag name='drive-nvme'/> <flag name='smp-dies'/> <flag name='rng-builtin'/> diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml index a2e36da5bf..5fb954a7d2 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml @@ -156,7 +156,6 @@ <flag name='memory-backend-file.align'/> <flag name='memory-backend-file.pmem'/> <flag name='nvdimm.unarmed'/> - <flag name='scsi-disk.device_id'/> <flag name='virtio-pci-non-transitional'/> <flag name='query-current-machine'/> <flag name='bitmap-merge'/> @@ -169,8 +168,6 @@ <flag name='vhost-user-gpu'/> <flag name='vhost-user-vga'/> <flag name='ramfb'/> - <flag name='blockdev-file-dynamic-auto-read-only'/> - <flag name='savevm-monitor-nodes'/> <flag name='drive-nvme'/> <flag name='smp-dies'/> <flag name='i8042'/> diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml index ba0be2518e..c4e2fb70aa 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml @@ -122,7 +122,6 @@ <flag name='egl-headless.rendernode'/> <flag name='memory-backend-file.align'/> <flag name='memory-backend-file.pmem'/> - <flag name='scsi-disk.device_id'/> <flag name='virtio-pci-non-transitional'/> <flag name='query-current-machine'/> <flag name='machine.virt.iommu'/> @@ -134,8 +133,6 @@ <flag name='vhost-user-gpu'/> <flag name='ramfb'/> <flag name='arm-max-cpu'/> - <flag name='blockdev-file-dynamic-auto-read-only'/> - <flag name='savevm-monitor-nodes'/> <flag name='drive-nvme'/> <flag name='smp-dies'/> <flag name='rng-builtin'/> diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml index 15c4beea98..2c10b10122 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml @@ -124,7 +124,6 @@ <flag name='memory-backend-file.align'/> <flag name='memory-backend-file.pmem'/> <flag name='nvdimm.unarmed'/> - <flag name='scsi-disk.device_id'/> <flag name='virtio-pci-non-transitional'/> <flag name='query-current-machine'/> <flag name='bitmap-merge'/> @@ -135,8 +134,6 @@ <flag name='vhost-user-gpu'/> <flag name='vhost-user-vga'/> <flag name='machine.pseries.cap-ccf-assist'/> - <flag name='blockdev-file-dynamic-auto-read-only'/> - <flag name='savevm-monitor-nodes'/> <flag name='drive-nvme'/> <flag name='smp-dies'/> <flag name='i8042'/> diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml index 9d24daa1a9..c170036059 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml @@ -118,7 +118,6 @@ <flag name='egl-headless.rendernode'/> <flag name='memory-backend-file.align'/> <flag name='memory-backend-file.pmem'/> - <flag name='scsi-disk.device_id'/> <flag name='virtio-pci-non-transitional'/> <flag name='query-current-machine'/> <flag name='bitmap-merge'/> @@ -127,8 +126,6 @@ <flag name='migration-file-drop-cache'/> <flag name='dbus-vmstate'/> <flag name='vhost-user-gpu'/> - <flag name='blockdev-file-dynamic-auto-read-only'/> - <flag name='savevm-monitor-nodes'/> <flag name='drive-nvme'/> <flag name='smp-dies'/> <flag name='rng-builtin'/> diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml index 18970c1f90..bf43ded774 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml @@ -156,7 +156,6 @@ <flag name='memory-backend-file.align'/> <flag name='memory-backend-file.pmem'/> <flag name='nvdimm.unarmed'/> - <flag name='scsi-disk.device_id'/> <flag name='virtio-pci-non-transitional'/> <flag name='query-current-machine'/> <flag name='bitmap-merge'/> @@ -170,8 +169,6 @@ <flag name='vhost-user-gpu'/> <flag name='vhost-user-vga'/> <flag name='ramfb'/> - <flag name='blockdev-file-dynamic-auto-read-only'/> - <flag name='savevm-monitor-nodes'/> <flag name='drive-nvme'/> <flag name='smp-dies'/> <flag name='i8042'/> diff --git a/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml b/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml index 6052009362..ce86189e15 100644 --- a/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml +++ b/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml @@ -50,14 +50,11 @@ <flag name='egl-headless.rendernode'/> <flag name='memory-backend-file.align'/> <flag name='memory-backend-file.pmem'/> - <flag name='scsi-disk.device_id'/> <flag name='query-current-machine'/> <flag name='bitmap-merge'/> <flag name='nbd-bitmap'/> <flag name='migration-file-drop-cache'/> <flag name='dbus-vmstate'/> - <flag name='blockdev-file-dynamic-auto-read-only'/> - <flag name='savevm-monitor-nodes'/> <flag name='drive-nvme'/> <flag name='smp-dies'/> <flag name='rng-builtin'/> diff --git a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml index 630d69d8ff..ea5df78e4b 100644 --- a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml @@ -155,7 +155,6 @@ <flag name='memory-backend-file.align'/> <flag name='memory-backend-file.pmem'/> <flag name='nvdimm.unarmed'/> - <flag name='scsi-disk.device_id'/> <flag name='virtio-pci-non-transitional'/> <flag name='query-current-machine'/> <flag name='bitmap-merge'/> @@ -169,8 +168,6 @@ <flag name='vhost-user-gpu'/> <flag name='vhost-user-vga'/> <flag name='ramfb'/> - <flag name='blockdev-file-dynamic-auto-read-only'/> - <flag name='savevm-monitor-nodes'/> <flag name='drive-nvme'/> <flag name='smp-dies'/> <flag name='i8042'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml index 182694aca5..174bd93bf2 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml @@ -122,7 +122,6 @@ <flag name='memory-backend-file.align'/> <flag name='memory-backend-file.pmem'/> <flag name='nvdimm.unarmed'/> - <flag name='scsi-disk.device_id'/> <flag name='virtio-pci-non-transitional'/> <flag name='query-current-machine'/> <flag name='machine.virt.iommu'/> @@ -134,8 +133,6 @@ <flag name='vhost-user-gpu'/> <flag name='ramfb'/> <flag name='arm-max-cpu'/> - <flag name='blockdev-file-dynamic-auto-read-only'/> - <flag name='savevm-monitor-nodes'/> <flag name='drive-nvme'/> <flag name='smp-dies'/> <flag name='rng-builtin'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml index 14f648efd6..61ae1574e4 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml @@ -122,7 +122,6 @@ <flag name='memory-backend-file.align'/> <flag name='memory-backend-file.pmem'/> <flag name='nvdimm.unarmed'/> - <flag name='scsi-disk.device_id'/> <flag name='virtio-pci-non-transitional'/> <flag name='query-current-machine'/> <flag name='bitmap-merge'/> @@ -133,8 +132,6 @@ <flag name='vhost-user-gpu'/> <flag name='vhost-user-vga'/> <flag name='machine.pseries.cap-ccf-assist'/> - <flag name='blockdev-file-dynamic-auto-read-only'/> - <flag name='savevm-monitor-nodes'/> <flag name='drive-nvme'/> <flag name='smp-dies'/> <flag name='i8042'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml index 09998c9564..612c73b851 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml @@ -116,7 +116,6 @@ <flag name='egl-headless.rendernode'/> <flag name='memory-backend-file.align'/> <flag name='memory-backend-file.pmem'/> - <flag name='scsi-disk.device_id'/> <flag name='virtio-pci-non-transitional'/> <flag name='query-current-machine'/> <flag name='bitmap-merge'/> @@ -125,8 +124,6 @@ <flag name='migration-file-drop-cache'/> <flag name='dbus-vmstate'/> <flag name='vhost-user-gpu'/> - <flag name='blockdev-file-dynamic-auto-read-only'/> - <flag name='savevm-monitor-nodes'/> <flag name='drive-nvme'/> <flag name='smp-dies'/> <flag name='rng-builtin'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml b/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml index 9c24f45f69..2cb60c98c8 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml @@ -87,7 +87,6 @@ <flag name='egl-headless.rendernode'/> <flag name='memory-backend-file.align'/> <flag name='memory-backend-file.pmem'/> - <flag name='scsi-disk.device_id'/> <flag name='virtio-pci-non-transitional'/> <flag name='query-current-machine'/> <flag name='bitmap-merge'/> @@ -97,8 +96,6 @@ <flag name='vhost-user-gpu'/> <flag name='query-cpu-model-baseline'/> <flag name='query-cpu-model-comparison'/> - <flag name='blockdev-file-dynamic-auto-read-only'/> - <flag name='savevm-monitor-nodes'/> <flag name='drive-nvme'/> <flag name='smp-dies'/> <flag name='rng-builtin'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml index 25cbeaacf0..087b721a61 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml @@ -155,7 +155,6 @@ <flag name='memory-backend-file.align'/> <flag name='memory-backend-file.pmem'/> <flag name='nvdimm.unarmed'/> - <flag name='scsi-disk.device_id'/> <flag name='virtio-pci-non-transitional'/> <flag name='query-current-machine'/> <flag name='bitmap-merge'/> @@ -169,8 +168,6 @@ <flag name='vhost-user-gpu'/> <flag name='vhost-user-vga'/> <flag name='ramfb'/> - <flag name='blockdev-file-dynamic-auto-read-only'/> - <flag name='savevm-monitor-nodes'/> <flag name='drive-nvme'/> <flag name='smp-dies'/> <flag name='i8042'/> diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml index 4e386dd29a..ca3dca4369 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml @@ -122,7 +122,6 @@ <flag name='egl-headless.rendernode'/> <flag name='memory-backend-file.align'/> <flag name='nvdimm.unarmed'/> - <flag name='scsi-disk.device_id'/> <flag name='virtio-pci-non-transitional'/> <flag name='query-current-machine'/> <flag name='machine.virt.iommu'/> @@ -134,8 +133,6 @@ <flag name='vhost-user-gpu'/> <flag name='ramfb'/> <flag name='arm-max-cpu'/> - <flag name='blockdev-file-dynamic-auto-read-only'/> - <flag name='savevm-monitor-nodes'/> <flag name='drive-nvme'/> <flag name='smp-dies'/> <flag name='rng-builtin'/> diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml b/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml index 66763ef480..65cb666714 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml @@ -86,7 +86,6 @@ <flag name='iothread.poll-max-ns'/> <flag name='egl-headless.rendernode'/> <flag name='memory-backend-file.align'/> - <flag name='scsi-disk.device_id'/> <flag name='virtio-pci-non-transitional'/> <flag name='query-current-machine'/> <flag name='bitmap-merge'/> @@ -96,8 +95,6 @@ <flag name='vhost-user-gpu'/> <flag name='query-cpu-model-baseline'/> <flag name='query-cpu-model-comparison'/> - <flag name='blockdev-file-dynamic-auto-read-only'/> - <flag name='savevm-monitor-nodes'/> <flag name='drive-nvme'/> <flag name='smp-dies'/> <flag name='rng-builtin'/> diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml index b4f31cdebd..aabcac1f5d 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml @@ -155,7 +155,6 @@ <flag name='memory-backend-file.align'/> <flag name='memory-backend-file.pmem'/> <flag name='nvdimm.unarmed'/> - <flag name='scsi-disk.device_id'/> <flag name='virtio-pci-non-transitional'/> <flag name='query-current-machine'/> <flag name='bitmap-merge'/> @@ -169,8 +168,6 @@ <flag name='vhost-user-gpu'/> <flag name='vhost-user-vga'/> <flag name='ramfb'/> - <flag name='blockdev-file-dynamic-auto-read-only'/> - <flag name='savevm-monitor-nodes'/> <flag name='drive-nvme'/> <flag name='smp-dies'/> <flag name='i8042'/> diff --git a/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml index 67e68ce7c8..5d398181c2 100644 --- a/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml @@ -153,7 +153,6 @@ <flag name='memory-backend-file.align'/> <flag name='memory-backend-file.pmem'/> <flag name='nvdimm.unarmed'/> - <flag name='scsi-disk.device_id'/> <flag name='virtio-pci-non-transitional'/> <flag name='query-current-machine'/> <flag name='bitmap-merge'/> @@ -168,8 +167,6 @@ <flag name='vhost-user-vga'/> <flag name='incremental-backup'/> <flag name='ramfb'/> - <flag name='blockdev-file-dynamic-auto-read-only'/> - <flag name='savevm-monitor-nodes'/> <flag name='drive-nvme'/> <flag name='smp-dies'/> <flag name='i8042'/> diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml index 20ba835984..ec1a2d9cca 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml @@ -129,7 +129,6 @@ <flag name='egl-headless.rendernode'/> <flag name='memory-backend-file.align'/> <flag name='nvdimm.unarmed'/> - <flag name='scsi-disk.device_id'/> <flag name='virtio-pci-non-transitional'/> <flag name='query-current-machine'/> <flag name='machine.virt.iommu'/> @@ -142,8 +141,6 @@ <flag name='incremental-backup'/> <flag name='ramfb'/> <flag name='arm-max-cpu'/> - <flag name='blockdev-file-dynamic-auto-read-only'/> - <flag name='savevm-monitor-nodes'/> <flag name='drive-nvme'/> <flag name='smp-dies'/> <flag name='rng-builtin'/> diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml index 2d1ca291a9..52b0af3d6e 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml @@ -119,7 +119,6 @@ <flag name='machine.pseries.cap-nested-hv'/> <flag name='memory-backend-file.align'/> <flag name='nvdimm.unarmed'/> - <flag name='scsi-disk.device_id'/> <flag name='virtio-pci-non-transitional'/> <flag name='query-current-machine'/> <flag name='bitmap-merge'/> @@ -131,8 +130,6 @@ <flag name='vhost-user-vga'/> <flag name='incremental-backup'/> <flag name='machine.pseries.cap-ccf-assist'/> - <flag name='blockdev-file-dynamic-auto-read-only'/> - <flag name='savevm-monitor-nodes'/> <flag name='drive-nvme'/> <flag name='smp-dies'/> <flag name='i8042'/> diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml index 7dc962f9c4..243fb41ca8 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml @@ -153,7 +153,6 @@ <flag name='memory-backend-file.align'/> <flag name='memory-backend-file.pmem'/> <flag name='nvdimm.unarmed'/> - <flag name='scsi-disk.device_id'/> <flag name='virtio-pci-non-transitional'/> <flag name='query-current-machine'/> <flag name='bitmap-merge'/> @@ -168,8 +167,6 @@ <flag name='vhost-user-vga'/> <flag name='incremental-backup'/> <flag name='ramfb'/> - <flag name='blockdev-file-dynamic-auto-read-only'/> - <flag name='savevm-monitor-nodes'/> <flag name='drive-nvme'/> <flag name='smp-dies'/> <flag name='i8042'/> diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml index 7627b5b03c..5700c5e06b 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml @@ -129,7 +129,6 @@ <flag name='egl-headless.rendernode'/> <flag name='memory-backend-file.align'/> <flag name='nvdimm.unarmed'/> - <flag name='scsi-disk.device_id'/> <flag name='virtio-pci-non-transitional'/> <flag name='query-current-machine'/> <flag name='machine.virt.iommu'/> @@ -142,8 +141,6 @@ <flag name='incremental-backup'/> <flag name='ramfb'/> <flag name='arm-max-cpu'/> - <flag name='blockdev-file-dynamic-auto-read-only'/> - <flag name='savevm-monitor-nodes'/> <flag name='drive-nvme'/> <flag name='smp-dies'/> <flag name='rng-builtin'/> diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml index 5710c609f9..b2d48cc081 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml @@ -128,7 +128,6 @@ <flag name='memory-backend-file.align'/> <flag name='memory-backend-file.pmem'/> <flag name='nvdimm.unarmed'/> - <flag name='scsi-disk.device_id'/> <flag name='virtio-pci-non-transitional'/> <flag name='query-current-machine'/> <flag name='bitmap-merge'/> @@ -140,8 +139,6 @@ <flag name='vhost-user-vga'/> <flag name='incremental-backup'/> <flag name='machine.pseries.cap-ccf-assist'/> - <flag name='blockdev-file-dynamic-auto-read-only'/> - <flag name='savevm-monitor-nodes'/> <flag name='drive-nvme'/> <flag name='smp-dies'/> <flag name='i8042'/> diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml index 8c5aea8aa5..528be3c459 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml @@ -153,7 +153,6 @@ <flag name='memory-backend-file.align'/> <flag name='memory-backend-file.pmem'/> <flag name='nvdimm.unarmed'/> - <flag name='scsi-disk.device_id'/> <flag name='virtio-pci-non-transitional'/> <flag name='query-current-machine'/> <flag name='bitmap-merge'/> @@ -168,8 +167,6 @@ <flag name='vhost-user-vga'/> <flag name='incremental-backup'/> <flag name='ramfb'/> - <flag name='blockdev-file-dynamic-auto-read-only'/> - <flag name='savevm-monitor-nodes'/> <flag name='drive-nvme'/> <flag name='smp-dies'/> <flag name='i8042'/> diff --git a/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml index 84c598a286..a9cc271892 100644 --- a/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml @@ -153,7 +153,6 @@ <flag name='memory-backend-file.align'/> <flag name='memory-backend-file.pmem'/> <flag name='nvdimm.unarmed'/> - <flag name='scsi-disk.device_id'/> <flag name='virtio-pci-non-transitional'/> <flag name='query-current-machine'/> <flag name='bitmap-merge'/> @@ -168,8 +167,6 @@ <flag name='vhost-user-vga'/> <flag name='incremental-backup'/> <flag name='ramfb'/> - <flag name='blockdev-file-dynamic-auto-read-only'/> - <flag name='savevm-monitor-nodes'/> <flag name='drive-nvme'/> <flag name='smp-dies'/> <flag name='i8042'/> -- 2.36.1

On Tue, Jul 26, 2022 at 04:36:55PM +0200, Peter Krempa wrote:
Retire: QEMU_CAPS_BLOCK_FILE_AUTO_READONLY_DYNAMIC QEMU_CAPS_SCSI_DISK_DEVICE_ID QEMU_CAPS_SAVEVM_MONITOR_NODES
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_capabilities.c | 9 +++------ src/qemu/qemu_capabilities.h | 6 +++--- tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml | 3 --- tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 2 -- tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml | 3 --- tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml | 3 --- tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml | 3 --- tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 3 --- tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml | 3 --- tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml | 3 --- tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml | 3 --- tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml | 3 --- tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml | 3 --- tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml | 3 --- tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml | 3 --- tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml | 3 --- tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml | 3 --- tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml | 3 --- tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml | 3 --- tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml | 3 --- tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml | 3 --- tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml | 3 --- tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml | 3 --- tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml | 3 --- tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml | 3 --- tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml | 3 --- tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml | 3 --- tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml | 3 --- 28 files changed, 6 insertions(+), 86 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

Now that QEMU_CAPS_BLOCKDEV_HOSTDEV_SCSI is always set we can remove the code which handled cases when the capability was not set. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_command.c | 142 +++++++++++----------------------------- src/qemu/qemu_domain.c | 18 ++--- 2 files changed, 43 insertions(+), 117 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index cb54190780..e0c5e15a63 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -5091,27 +5091,6 @@ qemuBuildHubCommandLine(virCommand *cmd, } -static char * -qemuBuildSCSIiSCSIHostdevDrvStr(virDomainHostdevDef *dev) -{ - g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; - g_autoptr(virJSONValue) srcprops = NULL; - virDomainHostdevSubsysSCSI *scsisrc = &dev->source.subsys.u.scsi; - virDomainHostdevSubsysSCSIiSCSI *iscsisrc = &scsisrc->u.iscsi; - - if (!(srcprops = qemuDiskSourceGetProps(iscsisrc->src))) - return NULL; - - if (virQEMUBuildCommandLineJSON(srcprops, &buf, NULL, - virQEMUBuildCommandLineJSONArrayNumbered) < 0) - return NULL; - - virBufferAddLit(&buf, ",if=none,format=raw"); - - return virBufferContentAndReset(&buf); -} - - virJSONValue * qemuBuildSCSIVHostHostdevDevProps(const virDomainDef *def, virDomainHostdevDef *dev, @@ -5138,32 +5117,6 @@ qemuBuildSCSIVHostHostdevDevProps(const virDomainDef *def, } -static char * -qemuBuildSCSIHostdevDrvStr(virDomainHostdevDef *dev) -{ - g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; - g_autofree char *source = NULL; - g_autofree char *drivealias = NULL; - virDomainHostdevSubsysSCSI *scsisrc = &dev->source.subsys.u.scsi; - - if (scsisrc->protocol == VIR_DOMAIN_HOSTDEV_SCSI_PROTOCOL_TYPE_ISCSI) { - if (!(source = qemuBuildSCSIiSCSIHostdevDrvStr(dev))) - return NULL; - virBufferAdd(&buf, source, -1); - } else { - virBufferAsprintf(&buf, "file=%s,if=none,format=raw", scsisrc->u.host.src->path); - } - - if (!(drivealias = qemuAliasFromHostdev(dev))) - return NULL; - virBufferAsprintf(&buf, ",id=%s", drivealias); - - if (dev->readonly) - virBufferAddLit(&buf, ",readonly=on"); - - return virBufferContentAndReset(&buf); -} - virJSONValue * qemuBuildSCSIHostdevDevProps(const virDomainDef *def, virDomainHostdevDef *dev, @@ -5286,41 +5239,34 @@ qemuBuildHostdevMediatedDevProps(const virDomainDef *def, qemuBlockStorageSourceAttachData * qemuBuildHostdevSCSIDetachPrepare(virDomainHostdevDef *hostdev, - virQEMUCaps *qemuCaps) + virQEMUCaps *qemuCaps G_GNUC_UNUSED) { virDomainHostdevSubsysSCSI *scsisrc = &hostdev->source.subsys.u.scsi; g_autoptr(qemuBlockStorageSourceAttachData) ret = g_new0(qemuBlockStorageSourceAttachData, 1); + virStorageSource *src; + qemuDomainStorageSourcePrivate *srcpriv; - if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_BLOCKDEV_HOSTDEV_SCSI)) { - virStorageSource *src; - qemuDomainStorageSourcePrivate *srcpriv; - - switch ((virDomainHostdevSCSIProtocolType) scsisrc->protocol) { - case VIR_DOMAIN_HOSTDEV_SCSI_PROTOCOL_TYPE_NONE: - src = scsisrc->u.host.src; - break; - - case VIR_DOMAIN_HOSTDEV_SCSI_PROTOCOL_TYPE_ISCSI: - src = scsisrc->u.iscsi.src; - break; + switch ((virDomainHostdevSCSIProtocolType) scsisrc->protocol) { + case VIR_DOMAIN_HOSTDEV_SCSI_PROTOCOL_TYPE_NONE: + src = scsisrc->u.host.src; + break; - case VIR_DOMAIN_HOSTDEV_SCSI_PROTOCOL_TYPE_LAST: - default: - virReportEnumRangeError(virDomainHostdevSCSIProtocolType, scsisrc->protocol); - return NULL; - } + case VIR_DOMAIN_HOSTDEV_SCSI_PROTOCOL_TYPE_ISCSI: + src = scsisrc->u.iscsi.src; + break; - srcpriv = QEMU_DOMAIN_STORAGE_SOURCE_PRIVATE(src); - ret->storageNodeName = src->nodestorage; - ret->storageAttached = true; + case VIR_DOMAIN_HOSTDEV_SCSI_PROTOCOL_TYPE_LAST: + default: + virReportEnumRangeError(virDomainHostdevSCSIProtocolType, scsisrc->protocol); + return NULL; + } - if (srcpriv && srcpriv->secinfo) - ret->authsecretAlias = g_strdup(srcpriv->secinfo->alias); + srcpriv = QEMU_DOMAIN_STORAGE_SOURCE_PRIVATE(src); + ret->storageNodeName = src->nodestorage; + ret->storageAttached = true; - } else { - ret->driveAlias = qemuAliasFromHostdev(hostdev); - ret->driveAdded = true; - } + if (srcpriv && srcpriv->secinfo) + ret->authsecretAlias = g_strdup(srcpriv->secinfo->alias); return g_steal_pointer(&ret); } @@ -5329,45 +5275,35 @@ qemuBuildHostdevSCSIDetachPrepare(virDomainHostdevDef *hostdev, qemuBlockStorageSourceAttachData * qemuBuildHostdevSCSIAttachPrepare(virDomainHostdevDef *hostdev, const char **backendAlias, - virQEMUCaps *qemuCaps) + virQEMUCaps *qemuCaps G_GNUC_UNUSED) { virDomainHostdevSubsysSCSI *scsisrc = &hostdev->source.subsys.u.scsi; g_autoptr(qemuBlockStorageSourceAttachData) ret = g_new0(qemuBlockStorageSourceAttachData, 1); virStorageSource *src = NULL; - if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_BLOCKDEV_HOSTDEV_SCSI)) { - switch ((virDomainHostdevSCSIProtocolType) scsisrc->protocol) { - case VIR_DOMAIN_HOSTDEV_SCSI_PROTOCOL_TYPE_NONE: - src = scsisrc->u.host.src; - break; - - case VIR_DOMAIN_HOSTDEV_SCSI_PROTOCOL_TYPE_ISCSI: - src = scsisrc->u.iscsi.src; - break; + switch ((virDomainHostdevSCSIProtocolType) scsisrc->protocol) { + case VIR_DOMAIN_HOSTDEV_SCSI_PROTOCOL_TYPE_NONE: + src = scsisrc->u.host.src; + break; - case VIR_DOMAIN_HOSTDEV_SCSI_PROTOCOL_TYPE_LAST: - default: - virReportEnumRangeError(virDomainHostdevSCSIProtocolType, scsisrc->protocol); - return NULL; - } + case VIR_DOMAIN_HOSTDEV_SCSI_PROTOCOL_TYPE_ISCSI: + src = scsisrc->u.iscsi.src; + break; - ret->storageNodeName = src->nodestorage; - *backendAlias = src->nodestorage; + case VIR_DOMAIN_HOSTDEV_SCSI_PROTOCOL_TYPE_LAST: + default: + virReportEnumRangeError(virDomainHostdevSCSIProtocolType, scsisrc->protocol); + return NULL; + } - if (!(ret->storageProps = qemuBlockStorageSourceGetBackendProps(src, - QEMU_BLOCK_STORAGE_SOURCE_BACKEND_PROPS_SKIP_UNMAP))) - return NULL; + ret->storageNodeName = src->nodestorage; + *backendAlias = src->nodestorage; - } else { - if (scsisrc->protocol == VIR_DOMAIN_HOSTDEV_SCSI_PROTOCOL_TYPE_ISCSI) - src = scsisrc->u.iscsi.src; - ret->driveCmd = qemuBuildSCSIHostdevDrvStr(hostdev); - ret->driveAlias = qemuAliasFromHostdev(hostdev); - *backendAlias = ret->driveAlias; - } + if (!(ret->storageProps = qemuBlockStorageSourceGetBackendProps(src, + QEMU_BLOCK_STORAGE_SOURCE_BACKEND_PROPS_SKIP_UNMAP))) + return NULL; - if (src && - qemuBuildStorageSourceAttachPrepareCommon(src, ret) < 0) + if (qemuBuildStorageSourceAttachPrepareCommon(src, ret) < 0) return NULL; return g_steal_pointer(&ret); diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 245cae9c60..d45c5d30a9 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -5718,7 +5718,6 @@ qemuDomainDeviceHostdevDefPostParseRestoreSecAlias(virDomainHostdevDef *hostdev, */ static int qemuDomainDeviceHostdevDefPostParseRestoreBackendAlias(virDomainHostdevDef *hostdev, - virQEMUCaps *qemuCaps, unsigned int parseFlags) { virDomainHostdevSubsysSCSI *scsisrc = &hostdev->source.subsys.u.scsi; @@ -5727,11 +5726,6 @@ qemuDomainDeviceHostdevDefPostParseRestoreBackendAlias(virDomainHostdevDef *host if (!(parseFlags & VIR_DOMAIN_DEF_PARSE_STATUS)) return 0; - if (hostdev->mode != VIR_DOMAIN_HOSTDEV_MODE_SUBSYS || - hostdev->source.subsys.type != VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_SCSI || - !virQEMUCapsGet(qemuCaps, QEMU_CAPS_BLOCKDEV_HOSTDEV_SCSI)) - return 0; - switch ((virDomainHostdevSCSIProtocolType) scsisrc->protocol) { case VIR_DOMAIN_HOSTDEV_SCSI_PROTOCOL_TYPE_NONE: if (!scsisrc->u.host.src) @@ -5782,8 +5776,7 @@ qemuDomainHostdevDefPostParse(virDomainHostdevDef *hostdev, if (qemuDomainDeviceHostdevDefPostParseRestoreSecAlias(hostdev, parseFlags) < 0) return -1; - if (qemuDomainDeviceHostdevDefPostParseRestoreBackendAlias(hostdev, qemuCaps, - parseFlags) < 0) + if (qemuDomainDeviceHostdevDefPostParseRestoreBackendAlias(hostdev, parseFlags) < 0) return -1; if (hostdev->mode == VIR_DOMAIN_HOSTDEV_MODE_SUBSYS && @@ -11018,12 +11011,9 @@ qemuDomainPrepareHostdev(virDomainHostdevDef *hostdev, const char *backendalias = hostdev->info->alias; src->readonly = hostdev->readonly; - - if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV_HOSTDEV_SCSI)) { - src->id = qemuDomainStorageIDNew(priv); - src->nodestorage = g_strdup_printf("libvirt-%d-backend", src->id); - backendalias = src->nodestorage; - } + src->id = qemuDomainStorageIDNew(priv); + src->nodestorage = g_strdup_printf("libvirt-%d-backend", src->id); + backendalias = src->nodestorage; if (src->auth) { virSecretUsageType usageType = VIR_SECRET_USAGE_TYPE_ISCSI; -- 2.36.1

On Tue, Jul 26, 2022 at 04:36:56PM +0200, Peter Krempa wrote:
Now that QEMU_CAPS_BLOCKDEV_HOSTDEV_SCSI is always set we can remove the code which handled cases when the capability was not set.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_command.c | 142 +++++++++++----------------------------- src/qemu/qemu_domain.c | 18 ++--- 2 files changed, 43 insertions(+), 117 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_capabilities.c | 3 +-- src/qemu/qemu_capabilities.h | 2 +- src/qemu/qemu_process.c | 6 ++---- tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml | 1 - tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml | 1 - tests/testutilsqemu.c | 1 - 30 files changed, 4 insertions(+), 34 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index d660b3b9f0..5ef2997ed4 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -595,7 +595,7 @@ VIR_ENUM_IMPL(virQEMUCaps, "intel-iommu.aw-bits", /* QEMU_CAPS_INTEL_IOMMU_AW_BITS */ "spapr-tpm-proxy", /* QEMU_CAPS_DEVICE_SPAPR_TPM_PROXY */ "numa.hmat", /* QEMU_CAPS_NUMA_HMAT */ - "blockdev-hostdev-scsi", /* QEMU_CAPS_BLOCKDEV_HOSTDEV_SCSI */ + "blockdev-hostdev-scsi", /* X_QEMU_CAPS_BLOCKDEV_HOSTDEV_SCSI */ /* 380 */ "usb-host.hostdevice", /* QEMU_CAPS_USB_HOST_HOSTDEVICE */ @@ -5228,7 +5228,6 @@ virQEMUCapsInitQMPVersionCaps(virQEMUCaps *qemuCaps) /* While the removal of pre-blockdev code is in progress we always hard-code * the support for QEMU_CAPS_BLOCKDEV */ virQEMUCapsSet(qemuCaps, QEMU_CAPS_BLOCKDEV); - virQEMUCapsSet(qemuCaps, QEMU_CAPS_BLOCKDEV_HOSTDEV_SCSI); /* -enable-fips is deprecated in QEMU 5.2.0, and QEMU * should be built with gcrypt to achieve FIPS compliance diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index 5ca177b599..89aa63cffe 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -574,7 +574,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */ QEMU_CAPS_INTEL_IOMMU_AW_BITS, /* intel-iommu.aw-bits */ QEMU_CAPS_DEVICE_SPAPR_TPM_PROXY, /* -device spapr-tpm-proxy */ QEMU_CAPS_NUMA_HMAT, /* -numa hmat */ - QEMU_CAPS_BLOCKDEV_HOSTDEV_SCSI, /* -blockdev used for (i)SCSI hostdevs */ + X_QEMU_CAPS_BLOCKDEV_HOSTDEV_SCSI, /* -blockdev used for (i)SCSI hostdevs */ /* 380 */ QEMU_CAPS_USB_HOST_HOSTDEVICE, /* -device usb-host.hostdevice */ diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 260116dc67..980e06ce79 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -5646,8 +5646,7 @@ qemuProcessStartUpdateCustomCaps(virDomainObj *vm) /* The code is being cleaned up to always assume the support for * -blockdev thus we must no longer allow users to clear it */ - if (tmp == QEMU_CAPS_BLOCKDEV || - tmp == QEMU_CAPS_BLOCKDEV_HOSTDEV_SCSI) + if (tmp == QEMU_CAPS_BLOCKDEV) continue; virQEMUCapsClear(priv->qemuCaps, tmp); @@ -5676,8 +5675,7 @@ qemuProcessStartUpdateCustomCaps(virDomainObj *vm) /* The code is being cleaned up to always assume the support for * -blockdev thus we must no longer allow users to clear it */ - if (tmp == QEMU_CAPS_BLOCKDEV || - tmp == QEMU_CAPS_BLOCKDEV_HOSTDEV_SCSI) + if (tmp == QEMU_CAPS_BLOCKDEV) continue; virQEMUCapsClear(priv->qemuCaps, tmp); diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml index e1f69fbcde..1d16f61a72 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml @@ -138,7 +138,6 @@ <flag name='virtio.packed'/> <flag name='tcg'/> <flag name='pvscsi'/> - <flag name='blockdev-hostdev-scsi'/> <flag name='dc390'/> <flag name='am53c974'/> <flag name='vhost-user-blk'/> diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml index c78ae4ee45..8a64694a8d 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml @@ -139,7 +139,6 @@ <flag name='tcg'/> <flag name='pvscsi'/> <flag name='spapr-tpm-proxy'/> - <flag name='blockdev-hostdev-scsi'/> <flag name='dc390'/> <flag name='am53c974'/> <flag name='vhost-user-blk'/> diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml b/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml index 8c88873fc5..9b80f2b915 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml @@ -105,7 +105,6 @@ <flag name='fsdev.multidevs'/> <flag name='virtio.packed'/> <flag name='tcg'/> - <flag name='blockdev-hostdev-scsi'/> <flag name='vhost-user-blk'/> <flag name='cpu-max'/> <flag name='memory-backend-file.x-use-canonical-path-for-ramblock-id'/> diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml index 5fb954a7d2..b8ac4b3799 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml @@ -180,7 +180,6 @@ <flag name='pvscsi'/> <flag name='cpu.migratable'/> <flag name='intel-iommu.aw-bits'/> - <flag name='blockdev-hostdev-scsi'/> <flag name='dc390'/> <flag name='am53c974'/> <flag name='virtio-pmem-pci'/> diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml index c4e2fb70aa..10a3a1024d 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml @@ -148,7 +148,6 @@ <flag name='virtio-blk-pci.scsi.default.disabled'/> <flag name='pvscsi'/> <flag name='numa.hmat'/> - <flag name='blockdev-hostdev-scsi'/> <flag name='dc390'/> <flag name='am53c974'/> <flag name='vhost-user-blk'/> diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml index 2c10b10122..94cdb860c4 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml @@ -154,7 +154,6 @@ <flag name='pvscsi'/> <flag name='spapr-tpm-proxy'/> <flag name='numa.hmat'/> - <flag name='blockdev-hostdev-scsi'/> <flag name='dc390'/> <flag name='am53c974'/> <flag name='vhost-user-blk'/> diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml index c170036059..49c4021e58 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml @@ -141,7 +141,6 @@ <flag name='virtio-blk-pci.scsi.default.disabled'/> <flag name='pvscsi'/> <flag name='numa.hmat'/> - <flag name='blockdev-hostdev-scsi'/> <flag name='dc390'/> <flag name='am53c974'/> <flag name='vhost-user-blk'/> diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml index bf43ded774..2070c01937 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml @@ -187,7 +187,6 @@ <flag name='cpu.migratable'/> <flag name='intel-iommu.aw-bits'/> <flag name='numa.hmat'/> - <flag name='blockdev-hostdev-scsi'/> <flag name='dc390'/> <flag name='am53c974'/> <flag name='virtio-pmem-pci'/> diff --git a/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml b/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml index ce86189e15..b7c835bb14 100644 --- a/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml +++ b/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml @@ -64,7 +64,6 @@ <flag name='aio.io_uring'/> <flag name='tcg'/> <flag name='numa.hmat'/> - <flag name='blockdev-hostdev-scsi'/> <flag name='netdev.vhost-vdpa'/> <flag name='ncr53c90'/> <flag name='memory-backend-file.x-use-canonical-path-for-ramblock-id'/> diff --git a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml index ea5df78e4b..b68f5857b4 100644 --- a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml @@ -186,7 +186,6 @@ <flag name='cpu.migratable'/> <flag name='intel-iommu.aw-bits'/> <flag name='numa.hmat'/> - <flag name='blockdev-hostdev-scsi'/> <flag name='usb-host.hostdevice'/> <flag name='virtio-balloon.free-page-reporting'/> <flag name='netdev.vhost-vdpa'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml index 174bd93bf2..e9df6a479e 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml @@ -148,7 +148,6 @@ <flag name='virtio-blk-pci.scsi.default.disabled'/> <flag name='pvscsi'/> <flag name='numa.hmat'/> - <flag name='blockdev-hostdev-scsi'/> <flag name='usb-host.hostdevice'/> <flag name='virtio-balloon.free-page-reporting'/> <flag name='block-export-add'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml index 61ae1574e4..aa7bd3b392 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml @@ -152,7 +152,6 @@ <flag name='pvscsi'/> <flag name='spapr-tpm-proxy'/> <flag name='numa.hmat'/> - <flag name='blockdev-hostdev-scsi'/> <flag name='usb-host.hostdevice'/> <flag name='virtio-balloon.free-page-reporting'/> <flag name='block-export-add'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml index 612c73b851..61fbbcfd91 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml @@ -139,7 +139,6 @@ <flag name='virtio-blk-pci.scsi.default.disabled'/> <flag name='pvscsi'/> <flag name='numa.hmat'/> - <flag name='blockdev-hostdev-scsi'/> <flag name='usb-host.hostdevice'/> <flag name='virtio-balloon.free-page-reporting'/> <flag name='block-export-add'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml b/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml index 2cb60c98c8..3ed4721e55 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml @@ -109,7 +109,6 @@ <flag name='tcg'/> <flag name='virtio-blk-pci.scsi.default.disabled'/> <flag name='numa.hmat'/> - <flag name='blockdev-hostdev-scsi'/> <flag name='virtio-balloon.free-page-reporting'/> <flag name='block-export-add'/> <flag name='netdev.vhost-vdpa'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml index 087b721a61..cc5bccabe2 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml @@ -186,7 +186,6 @@ <flag name='cpu.migratable'/> <flag name='intel-iommu.aw-bits'/> <flag name='numa.hmat'/> - <flag name='blockdev-hostdev-scsi'/> <flag name='usb-host.hostdevice'/> <flag name='virtio-balloon.free-page-reporting'/> <flag name='block-export-add'/> diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml index ca3dca4369..416ed10e6d 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml @@ -148,7 +148,6 @@ <flag name='virtio-blk-pci.scsi.default.disabled'/> <flag name='pvscsi'/> <flag name='numa.hmat'/> - <flag name='blockdev-hostdev-scsi'/> <flag name='usb-host.hostdevice'/> <flag name='virtio-balloon.free-page-reporting'/> <flag name='block-export-add'/> diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml b/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml index 65cb666714..e5d7782874 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml @@ -108,7 +108,6 @@ <flag name='tcg'/> <flag name='virtio-blk-pci.scsi.default.disabled'/> <flag name='numa.hmat'/> - <flag name='blockdev-hostdev-scsi'/> <flag name='virtio-balloon.free-page-reporting'/> <flag name='block-export-add'/> <flag name='netdev.vhost-vdpa'/> diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml index aabcac1f5d..dfb2caa06e 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml @@ -186,7 +186,6 @@ <flag name='cpu.migratable'/> <flag name='intel-iommu.aw-bits'/> <flag name='numa.hmat'/> - <flag name='blockdev-hostdev-scsi'/> <flag name='usb-host.hostdevice'/> <flag name='virtio-balloon.free-page-reporting'/> <flag name='block-export-add'/> diff --git a/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml index 5d398181c2..161725a1e4 100644 --- a/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml @@ -186,7 +186,6 @@ <flag name='cpu.migratable'/> <flag name='intel-iommu.aw-bits'/> <flag name='numa.hmat'/> - <flag name='blockdev-hostdev-scsi'/> <flag name='usb-host.hostdevice'/> <flag name='virtio-balloon.free-page-reporting'/> <flag name='block-export-add'/> diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml index ec1a2d9cca..7034e01a3d 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml @@ -157,7 +157,6 @@ <flag name='virtio-blk-pci.scsi.default.disabled'/> <flag name='pvscsi'/> <flag name='numa.hmat'/> - <flag name='blockdev-hostdev-scsi'/> <flag name='usb-host.hostdevice'/> <flag name='virtio-balloon.free-page-reporting'/> <flag name='block-export-add'/> diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml index 52b0af3d6e..8c1c8e0904 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml @@ -151,7 +151,6 @@ <flag name='pvscsi'/> <flag name='spapr-tpm-proxy'/> <flag name='numa.hmat'/> - <flag name='blockdev-hostdev-scsi'/> <flag name='virtio-balloon.free-page-reporting'/> <flag name='block-export-add'/> <flag name='netdev.vhost-vdpa'/> diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml index 243fb41ca8..606eb10e8c 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml @@ -186,7 +186,6 @@ <flag name='cpu.migratable'/> <flag name='intel-iommu.aw-bits'/> <flag name='numa.hmat'/> - <flag name='blockdev-hostdev-scsi'/> <flag name='usb-host.hostdevice'/> <flag name='virtio-balloon.free-page-reporting'/> <flag name='block-export-add'/> diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml index 5700c5e06b..ad4b64f2a8 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml @@ -158,7 +158,6 @@ <flag name='virtio-blk-pci.scsi.default.disabled'/> <flag name='pvscsi'/> <flag name='numa.hmat'/> - <flag name='blockdev-hostdev-scsi'/> <flag name='usb-host.hostdevice'/> <flag name='virtio-balloon.free-page-reporting'/> <flag name='block-export-add'/> diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml index b2d48cc081..0bceeba596 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml @@ -161,7 +161,6 @@ <flag name='pvscsi'/> <flag name='spapr-tpm-proxy'/> <flag name='numa.hmat'/> - <flag name='blockdev-hostdev-scsi'/> <flag name='usb-host.hostdevice'/> <flag name='virtio-balloon.free-page-reporting'/> <flag name='block-export-add'/> diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml index 528be3c459..6ae458e577 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml @@ -186,7 +186,6 @@ <flag name='cpu.migratable'/> <flag name='intel-iommu.aw-bits'/> <flag name='numa.hmat'/> - <flag name='blockdev-hostdev-scsi'/> <flag name='usb-host.hostdevice'/> <flag name='virtio-balloon.free-page-reporting'/> <flag name='block-export-add'/> diff --git a/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml index a9cc271892..69b5ae7958 100644 --- a/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml @@ -186,7 +186,6 @@ <flag name='cpu.migratable'/> <flag name='intel-iommu.aw-bits'/> <flag name='numa.hmat'/> - <flag name='blockdev-hostdev-scsi'/> <flag name='usb-host.hostdevice'/> <flag name='virtio-balloon.free-page-reporting'/> <flag name='block-export-add'/> diff --git a/tests/testutilsqemu.c b/tests/testutilsqemu.c index d44dc09219..c34cb878de 100644 --- a/tests/testutilsqemu.c +++ b/tests/testutilsqemu.c @@ -858,7 +858,6 @@ testQemuInfoSetArgs(struct testQemuInfo *info, /* 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

On Tue, Jul 26, 2022 at 04:36:57PM +0200, Peter Krempa wrote:
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_capabilities.c | 3 +-- src/qemu/qemu_capabilities.h | 2 +- src/qemu/qemu_process.c | 6 ++---- tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml | 1 - tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml | 1 - tests/testutilsqemu.c | 1 - 30 files changed, 4 insertions(+), 34 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

In one of early iterations of the gluster driver 'tcp' was used instead of 'inet' and 'socket' instead of 'path' for unix sockets. All of this can be now removed. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_block.c | 44 ++++++++++--------------------------------- 1 file changed, 10 insertions(+), 34 deletions(-) diff --git a/src/qemu/qemu_block.c b/src/qemu/qemu_block.c index 9fe22f18f2..870d44ecd5 100644 --- a/src/qemu/qemu_block.c +++ b/src/qemu/qemu_block.c @@ -432,36 +432,24 @@ qemuBlockStorageSourceGetURI(virStorageSource *src) /** * qemuBlockStorageSourceBuildJSONSocketAddress * @host: the virStorageNetHostDef * definition to build - * @legacy: use old field names/values * * Formats @hosts into a json object conforming to the 'SocketAddress' type * in qemu. * - * For compatibility with old approach used in the gluster driver of old qemus - * use the old spelling for TCP transport and, the path field of the unix socket. - * * Returns a virJSONValue * for a single server. */ static virJSONValue * -qemuBlockStorageSourceBuildJSONSocketAddress(virStorageNetHostDef *host, - bool legacy) +qemuBlockStorageSourceBuildJSONSocketAddress(virStorageNetHostDef *host) { g_autoptr(virJSONValue) server = NULL; - const char *transport; - const char *field; g_autofree char *port = NULL; switch ((virStorageNetHostTransport) host->transport) { case VIR_STORAGE_NET_HOST_TRANS_TCP: - if (legacy) - transport = "tcp"; - else - transport = "inet"; - port = g_strdup_printf("%u", host->port); if (virJSONValueObjectAdd(&server, - "s:type", transport, + "s:type", "inet", "s:host", host->name, "s:port", port, NULL) < 0) @@ -469,14 +457,9 @@ qemuBlockStorageSourceBuildJSONSocketAddress(virStorageNetHostDef *host, break; case VIR_STORAGE_NET_HOST_TRANS_UNIX: - if (legacy) - field = "s:socket"; - else - field = "s:path"; - if (virJSONValueObjectAdd(&server, "s:type", "unix", - field, host->socket, + "s:path", host->socket, NULL) < 0) return NULL; break; @@ -496,14 +479,12 @@ qemuBlockStorageSourceBuildJSONSocketAddress(virStorageNetHostDef *host, /** * qemuBlockStorageSourceBuildHostsJSONSocketAddress: * @src: disk storage source - * @legacy: use 'tcp' instead of 'inet' for compatibility reasons * * Formats src->hosts into a json object conforming to the 'SocketAddress' type * in qemu. */ static virJSONValue * -qemuBlockStorageSourceBuildHostsJSONSocketAddress(virStorageSource *src, - bool legacy) +qemuBlockStorageSourceBuildHostsJSONSocketAddress(virStorageSource *src) { g_autoptr(virJSONValue) servers = NULL; g_autoptr(virJSONValue) server = NULL; @@ -515,7 +496,7 @@ qemuBlockStorageSourceBuildHostsJSONSocketAddress(virStorageSource *src, for (i = 0; i < src->nhosts; i++) { host = src->hosts + i; - if (!(server = qemuBlockStorageSourceBuildJSONSocketAddress(host, legacy))) + if (!(server = qemuBlockStorageSourceBuildJSONSocketAddress(host))) return NULL; if (virJSONValueArrayAppend(servers, &server) < 0) @@ -614,13 +595,12 @@ qemuBlockStorageSourceBuildHostsJSONInetSocketAddress(virStorageSource *src) static virJSONValue * qemuBlockStorageSourceGetGlusterProps(virStorageSource *src, - bool legacy, bool onlytarget) { g_autoptr(virJSONValue) servers = NULL; g_autoptr(virJSONValue) props = NULL; - if (!(servers = qemuBlockStorageSourceBuildHostsJSONSocketAddress(src, legacy))) + if (!(servers = qemuBlockStorageSourceBuildHostsJSONSocketAddress(src))) return NULL; /* { driver:"gluster", @@ -851,9 +831,7 @@ qemuBlockStorageSourceGetNBDProps(virStorageSource *src, return NULL; } - serverprops = qemuBlockStorageSourceBuildJSONSocketAddress(&src->hosts[0], - false); - if (!serverprops) + if (!(serverprops = qemuBlockStorageSourceBuildJSONSocketAddress(&src->hosts[0]))) return NULL; if (onlytarget) { @@ -952,9 +930,7 @@ qemuBlockStorageSourceGetSheepdogProps(virStorageSource *src) return NULL; } - serverprops = qemuBlockStorageSourceBuildJSONSocketAddress(&src->hosts[0], - false); - if (!serverprops) + if (!(serverprops = qemuBlockStorageSourceBuildJSONSocketAddress(&src->hosts[0]))) return NULL; /* libvirt does not support the 'snap-id' and 'tag' properties */ @@ -1192,7 +1168,7 @@ qemuBlockStorageSourceGetBackendProps(virStorageSource *src, switch ((virStorageNetProtocol) src->protocol) { case VIR_STORAGE_NET_PROTOCOL_GLUSTER: driver = "gluster"; - if (!(fileprops = qemuBlockStorageSourceGetGlusterProps(src, legacy, onlytarget))) + if (!(fileprops = qemuBlockStorageSourceGetGlusterProps(src, onlytarget))) return NULL; break; @@ -2613,7 +2589,7 @@ qemuBlockStorageSourceCreateGetStorageProps(virStorageSource *src, switch ((virStorageNetProtocol) src->protocol) { case VIR_STORAGE_NET_PROTOCOL_GLUSTER: driver = "gluster"; - if (!(location = qemuBlockStorageSourceGetGlusterProps(src, false, false))) + if (!(location = qemuBlockStorageSourceGetGlusterProps(src, false))) return -1; break; -- 2.36.1

On Tue, Jul 26, 2022 at 04:36:58PM +0200, Peter Krempa wrote:
In one of early iterations of the gluster driver 'tcp' was used instead of 'inet' and 'socket' instead of 'path' for unix sockets. All of this can be now removed.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_block.c | 44 ++++++++++--------------------------------- 1 file changed, 10 insertions(+), 34 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

Assume that QEMU_CAPS_BLOCKDEV is present and remove all code executed when it's not. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_migration.c | 127 ++++++++------------------------------ 1 file changed, 25 insertions(+), 102 deletions(-) diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c index 8e9428a5bb..ef24a1dedf 100644 --- a/src/qemu/qemu_migration.c +++ b/src/qemu/qemu_migration.c @@ -1080,46 +1080,6 @@ qemuMigrationSrcNBDStorageCopyBlockdev(virQEMUDriver *driver, } -static int -qemuMigrationSrcNBDStorageCopyDriveMirror(virQEMUDriver *driver, - virDomainObj *vm, - const char *diskAlias, - const char *host, - int port, - const char *socket, - unsigned long long mirror_speed, - bool mirror_shallow) -{ - g_autofree char *nbd_dest = NULL; - int mon_ret; - - if (socket) { - nbd_dest = g_strdup_printf("nbd+unix:///%s?socket=%s", - diskAlias, socket); - } else if (strchr(host, ':')) { - nbd_dest = g_strdup_printf("nbd:[%s]:%d:exportname=%s", host, port, - diskAlias); - } else { - nbd_dest = g_strdup_printf("nbd:%s:%d:exportname=%s", host, port, - diskAlias); - } - - if (qemuDomainObjEnterMonitorAsync(driver, vm, - VIR_ASYNC_JOB_MIGRATION_OUT) < 0) - return -1; - - mon_ret = qemuMonitorDriveMirror(qemuDomainGetMonitor(vm), - diskAlias, nbd_dest, "raw", - mirror_speed, 0, 0, mirror_shallow, true); - - qemuDomainObjExitMonitor(vm); - if (mon_ret < 0) - return -1; - - return 0; -} - - static int qemuMigrationSrcNBDStorageCopyOne(virQEMUDriver *driver, virDomainObj *vm, @@ -1133,13 +1093,9 @@ qemuMigrationSrcNBDStorageCopyOne(virQEMUDriver *driver, const char *tlsHostname, unsigned int flags) { - qemuDomainObjPrivate *priv = vm->privateData; qemuDomainDiskPrivate *diskPriv = QEMU_DOMAIN_DISK_PRIVATE(disk); qemuBlockJobData *job = NULL; g_autofree char *diskAlias = NULL; - const char *jobname = NULL; - const char *sourcename = NULL; - bool persistjob = false; bool syncWrites = !!(flags & VIR_MIGRATE_NON_SHARED_SYNCHRONOUS_WRITES); int rc; int ret = -1; @@ -1150,35 +1106,18 @@ qemuMigrationSrcNBDStorageCopyOne(virQEMUDriver *driver, if (!(job = qemuBlockJobDiskNew(vm, disk, QEMU_BLOCKJOB_TYPE_COPY, diskAlias))) return -1; - if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV)) { - jobname = diskAlias; - sourcename = qemuDomainDiskGetTopNodename(disk); - persistjob = true; - } else { - jobname = NULL; - sourcename = diskAlias; - persistjob = false; - } - qemuBlockJobSyncBegin(job); - if (flags & VIR_MIGRATE_TLS || - virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV)) { - rc = qemuMigrationSrcNBDStorageCopyBlockdev(driver, vm, - disk, jobname, - sourcename, persistjob, - host, port, socket, - mirror_speed, - mirror_shallow, - tlsAlias, - tlsHostname, - syncWrites); - } else { - rc = qemuMigrationSrcNBDStorageCopyDriveMirror(driver, vm, diskAlias, - host, port, socket, - mirror_speed, - mirror_shallow); - } + rc = qemuMigrationSrcNBDStorageCopyBlockdev(driver, vm, + disk, diskAlias, + qemuDomainDiskGetTopNodename(disk), + true, + host, port, socket, + mirror_speed, + mirror_shallow, + tlsAlias, + tlsHostname, + syncWrites); if (rc == 0) { diskPriv->migrating = true; @@ -2687,41 +2626,25 @@ qemuMigrationSrcBeginPhase(virQEMUDriver *driver, } if (flags & (VIR_MIGRATE_NON_SHARED_DISK | VIR_MIGRATE_NON_SHARED_INC)) { - if (flags & VIR_MIGRATE_NON_SHARED_SYNCHRONOUS_WRITES && - !virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV)) { + if (flags & VIR_MIGRATE_TUNNELLED) { virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s", - _("VIR_MIGRATE_NON_SHARED_SYNCHRONOUS_WRITES is not supported by this QEMU")); - return NULL; + _("migration of non-shared storage is not supported with tunnelled migration and this QEMU")); } - if (flags & VIR_MIGRATE_TUNNELLED) { - if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV)) { - virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s", - _("migration of non-shared storage is not supported with tunnelled migration and this QEMU")); - return NULL; - } - - if (nmigrate_disks) { - virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s", - _("Selecting disks to migrate is not implemented for tunnelled migration")); - return NULL; - } - } else { - if (nmigrate_disks) { - size_t i, j; - /* Check user requested only known disk targets. */ - for (i = 0; i < nmigrate_disks; i++) { - for (j = 0; j < vm->def->ndisks; j++) { - if (STREQ(vm->def->disks[j]->dst, migrate_disks[i])) - break; - } + if (nmigrate_disks) { + size_t i, j; + /* Check user requested only known disk targets. */ + for (i = 0; i < nmigrate_disks; i++) { + for (j = 0; j < vm->def->ndisks; j++) { + if (STREQ(vm->def->disks[j]->dst, migrate_disks[i])) + break; + } - if (j == vm->def->ndisks) { - virReportError(VIR_ERR_INVALID_ARG, - _("disk target %s not found"), - migrate_disks[i]); - return NULL; - } + if (j == vm->def->ndisks) { + virReportError(VIR_ERR_INVALID_ARG, + _("disk target %s not found"), + migrate_disks[i]); + return NULL; } } -- 2.36.1

On Tue, Jul 26, 2022 at 04:36:59PM +0200, Peter Krempa wrote:
Assume that QEMU_CAPS_BLOCKDEV is present and remove all code executed when it's not.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_migration.c | 127 ++++++++------------------------------ 1 file changed, 25 insertions(+), 102 deletions(-)
diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c index 8e9428a5bb..ef24a1dedf 100644 --- a/src/qemu/qemu_migration.c +++ b/src/qemu/qemu_migration.c
[...]
@@ -2687,41 +2626,25 @@ qemuMigrationSrcBeginPhase(virQEMUDriver *driver, }
if (flags & (VIR_MIGRATE_NON_SHARED_DISK | VIR_MIGRATE_NON_SHARED_INC)) { - if (flags & VIR_MIGRATE_NON_SHARED_SYNCHRONOUS_WRITES && - !virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV)) { + if (flags & VIR_MIGRATE_TUNNELLED) { virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s", - _("VIR_MIGRATE_NON_SHARED_SYNCHRONOUS_WRITES is not supported by this QEMU")); - return NULL; + _("migration of non-shared storage is not supported with tunnelled migration and this QEMU")); }
- if (flags & VIR_MIGRATE_TUNNELLED) { - if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV)) { - virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s", - _("migration of non-shared storage is not supported with tunnelled migration and this QEMU")); - return NULL; - } - - if (nmigrate_disks) { - virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s", - _("Selecting disks to migrate is not implemented for tunnelled migration")); - return NULL; - } - } else { - if (nmigrate_disks) { - size_t i, j; - /* Check user requested only known disk targets. */ - for (i = 0; i < nmigrate_disks; i++) { - for (j = 0; j < vm->def->ndisks; j++) { - if (STREQ(vm->def->disks[j]->dst, migrate_disks[i])) - break; - } + if (nmigrate_disks) { + size_t i, j; + /* Check user requested only known disk targets. */ + for (i = 0; i < nmigrate_disks; i++) { + for (j = 0; j < vm->def->ndisks; j++) { + if (STREQ(vm->def->disks[j]->dst, migrate_disks[i])) + break; + }
- if (j == vm->def->ndisks) { - virReportError(VIR_ERR_INVALID_ARG, - _("disk target %s not found"), - migrate_disks[i]); - return NULL; - } + if (j == vm->def->ndisks) { + virReportError(VIR_ERR_INVALID_ARG, + _("disk target %s not found"), + migrate_disks[i]); + return NULL; } }
This changes doesn't look equivalent. Before this patch the `for` loop to check `nmigrate_disks` would be done only for non-tunneled migration but after this changes it is done even for tunneled migration. In addition the new code dropped the error path for tunneled migration if `nmigrate_disks` is not NULL. Not sure if this was intended or is based on some other knowledge and code that is not in scope of this patch. Pavel

On Wed, Aug 03, 2022 at 17:45:07 +0200, Pavel Hrdina wrote:
On Tue, Jul 26, 2022 at 04:36:59PM +0200, Peter Krempa wrote:
Assume that QEMU_CAPS_BLOCKDEV is present and remove all code executed when it's not.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_migration.c | 127 ++++++++------------------------------ 1 file changed, 25 insertions(+), 102 deletions(-)
diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c index 8e9428a5bb..ef24a1dedf 100644 --- a/src/qemu/qemu_migration.c +++ b/src/qemu/qemu_migration.c
[...]
@@ -2687,41 +2626,25 @@ qemuMigrationSrcBeginPhase(virQEMUDriver *driver, }
if (flags & (VIR_MIGRATE_NON_SHARED_DISK | VIR_MIGRATE_NON_SHARED_INC)) { - if (flags & VIR_MIGRATE_NON_SHARED_SYNCHRONOUS_WRITES && - !virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV)) { + if (flags & VIR_MIGRATE_TUNNELLED) { virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s", - _("VIR_MIGRATE_NON_SHARED_SYNCHRONOUS_WRITES is not supported by this QEMU")); - return NULL; + _("migration of non-shared storage is not supported with tunnelled migration and this QEMU"));
[1]
}
- if (flags & VIR_MIGRATE_TUNNELLED) {
Even prior to this patch, when tunnelled migration is requested with the VIR_MIGRATE_NON_SHARED* flag
- if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV)) { - virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s", - _("migration of non-shared storage is not supported with tunnelled migration and this QEMU")); - return NULL; - }
... and blockdev is enabled, we simply reject it right away without consulting anything else. This is what is now done right at the beginning [1] ...
- - if (nmigrate_disks) { - virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s", - _("Selecting disks to migrate is not implemented for tunnelled migration")); - return NULL; - } - } else { - if (nmigrate_disks) { - size_t i, j; - /* Check user requested only known disk targets. */ - for (i = 0; i < nmigrate_disks; i++) { - for (j = 0; j < vm->def->ndisks; j++) { - if (STREQ(vm->def->disks[j]->dst, migrate_disks[i])) - break; - } + if (nmigrate_disks) {
... so that we don't have to worry about any further checks.
+ size_t i, j; + /* Check user requested only known disk targets. */ + for (i = 0; i < nmigrate_disks; i++) { + for (j = 0; j < vm->def->ndisks; j++) { + if (STREQ(vm->def->disks[j]->dst, migrate_disks[i])) + break; + }
- if (j == vm->def->ndisks) { - virReportError(VIR_ERR_INVALID_ARG, - _("disk target %s not found"), - migrate_disks[i]); - return NULL; - } + if (j == vm->def->ndisks) { + virReportError(VIR_ERR_INVALID_ARG, + _("disk target %s not found"), + migrate_disks[i]); + return NULL; } }
This changes doesn't look equivalent.
Before this patch the `for` loop to check `nmigrate_disks` would be done only for non-tunneled migration but after this changes it is done even for tunneled migration.
As explained above, even before this patch we rejected tunnelled migration with storage when blockdev was enabled. After this patch, it's checked at the beginning and thus the rest of the code doesn't need to be conditional.
In addition the new code dropped the error path for tunneled migration if `nmigrate_disks` is not NULL.
Once again, we simply reject tunneled migration with storage unconditionally now, so the check would be dead code.
Not sure if this was intended or is based on some other knowledge and code that is not in scope of this patch.
Pavel

On Tue, Aug 09, 2022 at 02:03:03PM +0200, Peter Krempa wrote:
On Wed, Aug 03, 2022 at 17:45:07 +0200, Pavel Hrdina wrote:
On Tue, Jul 26, 2022 at 04:36:59PM +0200, Peter Krempa wrote:
Assume that QEMU_CAPS_BLOCKDEV is present and remove all code executed when it's not.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_migration.c | 127 ++++++++------------------------------ 1 file changed, 25 insertions(+), 102 deletions(-)
diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c index 8e9428a5bb..ef24a1dedf 100644 --- a/src/qemu/qemu_migration.c +++ b/src/qemu/qemu_migration.c
[...]
@@ -2687,41 +2626,25 @@ qemuMigrationSrcBeginPhase(virQEMUDriver *driver, }
if (flags & (VIR_MIGRATE_NON_SHARED_DISK | VIR_MIGRATE_NON_SHARED_INC)) { - if (flags & VIR_MIGRATE_NON_SHARED_SYNCHRONOUS_WRITES && - !virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV)) { + if (flags & VIR_MIGRATE_TUNNELLED) { virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s", - _("VIR_MIGRATE_NON_SHARED_SYNCHRONOUS_WRITES is not supported by this QEMU")); - return NULL; + _("migration of non-shared storage is not supported with tunnelled migration and this QEMU"));
[1]
}
- if (flags & VIR_MIGRATE_TUNNELLED) {
Even prior to this patch, when tunnelled migration is requested with the VIR_MIGRATE_NON_SHARED* flag
- if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV)) { - virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s", - _("migration of non-shared storage is not supported with tunnelled migration and this QEMU")); - return NULL; - }
... and blockdev is enabled, we simply reject it right away without consulting anything else. This is what is now done right at the beginning [1] ...
- - if (nmigrate_disks) { - virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s", - _("Selecting disks to migrate is not implemented for tunnelled migration")); - return NULL; - } - } else { - if (nmigrate_disks) { - size_t i, j; - /* Check user requested only known disk targets. */ - for (i = 0; i < nmigrate_disks; i++) { - for (j = 0; j < vm->def->ndisks; j++) { - if (STREQ(vm->def->disks[j]->dst, migrate_disks[i])) - break; - } + if (nmigrate_disks) {
... so that we don't have to worry about any further checks.
+ size_t i, j; + /* Check user requested only known disk targets. */ + for (i = 0; i < nmigrate_disks; i++) { + for (j = 0; j < vm->def->ndisks; j++) { + if (STREQ(vm->def->disks[j]->dst, migrate_disks[i])) + break; + }
- if (j == vm->def->ndisks) { - virReportError(VIR_ERR_INVALID_ARG, - _("disk target %s not found"), - migrate_disks[i]); - return NULL; - } + if (j == vm->def->ndisks) { + virReportError(VIR_ERR_INVALID_ARG, + _("disk target %s not found"), + migrate_disks[i]); + return NULL; } }
This changes doesn't look equivalent.
Before this patch the `for` loop to check `nmigrate_disks` would be done only for non-tunneled migration but after this changes it is done even for tunneled migration.
As explained above, even before this patch we rejected tunnelled migration with storage when blockdev was enabled.
After this patch, it's checked at the beginning and thus the rest of the code doesn't need to be conditional.
In addition the new code dropped the error path for tunneled migration if `nmigrate_disks` is not NULL.
Once again, we simply reject tunneled migration with storage unconditionally now, so the check would be dead code.
I guess brain fog or what is the term used these days :) no idea how I've missed that. Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

We no longer need the arguments which were conditionally filled based on presence of the QEMU_CAPS_BLOCKDEV feature. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_migration.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c index ef24a1dedf..042e8bb10a 100644 --- a/src/qemu/qemu_migration.c +++ b/src/qemu/qemu_migration.c @@ -1025,9 +1025,6 @@ static int qemuMigrationSrcNBDStorageCopyBlockdev(virQEMUDriver *driver, virDomainObj *vm, virDomainDiskDef *disk, - const char *jobname, - const char *sourcename, - bool persistjob, const char *host, int port, const char *socket, @@ -1041,6 +1038,10 @@ qemuMigrationSrcNBDStorageCopyBlockdev(virQEMUDriver *driver, qemuDomainDiskPrivate *diskPriv = QEMU_DOMAIN_DISK_PRIVATE(disk); int mon_ret = 0; g_autoptr(virStorageSource) copysrc = NULL; + g_autofree char *diskAlias = qemuAliasDiskDriveFromDisk(disk); + + if (!diskAlias) + return -1; VIR_DEBUG("starting blockdev mirror for disk=%s to host=%s", disk->dst, host); @@ -1062,8 +1063,9 @@ qemuMigrationSrcNBDStorageCopyBlockdev(virQEMUDriver *driver, mon_ret = qemuBlockStorageSourceAttachApply(qemuDomainGetMonitor(vm), data); if (mon_ret == 0) - mon_ret = qemuMonitorBlockdevMirror(qemuDomainGetMonitor(vm), jobname, persistjob, - sourcename, copysrc->nodeformat, + mon_ret = qemuMonitorBlockdevMirror(qemuDomainGetMonitor(vm), diskAlias, true, + qemuDomainDiskGetTopNodename(disk), + copysrc->nodeformat, mirror_speed, 0, 0, mirror_shallow, syncWrites); @@ -1109,9 +1111,7 @@ qemuMigrationSrcNBDStorageCopyOne(virQEMUDriver *driver, qemuBlockJobSyncBegin(job); rc = qemuMigrationSrcNBDStorageCopyBlockdev(driver, vm, - disk, diskAlias, - qemuDomainDiskGetTopNodename(disk), - true, + disk, host, port, socket, mirror_speed, mirror_shallow, -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:00PM +0200, Peter Krempa wrote:
We no longer need the arguments which were conditionally filled based on presence of the QEMU_CAPS_BLOCKDEV feature.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_migration.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

The migration code was using few blockdev bits before blockdev was fully integrated to allow TLS with NBD. Since we now always use blockdev we can remove the check. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_migration.c | 8 -------- 1 file changed, 8 deletions(-) diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c index 042e8bb10a..16d65ff22e 100644 --- a/src/qemu/qemu_migration.c +++ b/src/qemu/qemu_migration.c @@ -4803,14 +4803,6 @@ qemuMigrationSrcRun(virQEMUDriver *driver, host = spec->dest.host.name; } - /* Allow migration with TLS only when we also support TLS for the NBD connection */ - if (flags & VIR_MIGRATE_TLS && - !virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV_DEL)) { - virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s", - _("NBD migration with TLS is not supported")); - goto error; - } - if (qemuMigrationSrcNBDStorageCopy(driver, vm, mig, host, priv->migMaxBandwidth, -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:01PM +0200, Peter Krempa wrote:
The migration code was using few blockdev bits before blockdev was fully integrated to allow TLS with NBD.
Since we now always use blockdev we can remove the check.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_migration.c | 8 -------- 1 file changed, 8 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_capabilities.c | 3 +-- src/qemu/qemu_capabilities.h | 2 +- tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml | 1 - tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml | 1 - 28 files changed, 2 insertions(+), 29 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 5ef2997ed4..b91f46bb12 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -487,7 +487,7 @@ VIR_ENUM_IMPL(virQEMUCaps, /* 300 */ "hda-output", /* QEMU_CAPS_HDA_OUTPUT */ - "blockdev-del", /* QEMU_CAPS_BLOCKDEV_DEL */ + "blockdev-del", /* X_QEMU_CAPS_BLOCKDEV_DEL */ "vmgenid", /* QEMU_CAPS_DEVICE_VMGENID */ "vhost-vsock", /* QEMU_CAPS_DEVICE_VHOST_VSOCK */ "chardev-fd-pass", /* X_QEMU_CAPS_CHARDEV_FD_PASS_COMMANDLINE */ @@ -1213,7 +1213,6 @@ struct virQEMUCapsStringFlags virQEMUCapsCommands[] = { { "query-named-block-nodes", QEMU_CAPS_QUERY_NAMED_BLOCK_NODES }, { "query-cpus-fast", QEMU_CAPS_QUERY_CPUS_FAST }, { "qom-list-properties", QEMU_CAPS_QOM_LIST_PROPERTIES }, - { "blockdev-del", QEMU_CAPS_BLOCKDEV_DEL }, { "query-current-machine", QEMU_CAPS_QUERY_CURRENT_MACHINE }, { "block-dirty-bitmap-merge", QEMU_CAPS_BITMAP_MERGE }, { "query-cpu-model-baseline", QEMU_CAPS_QUERY_CPU_MODEL_BASELINE }, diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index 89aa63cffe..5f982b11d5 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -466,7 +466,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */ /* 300 */ QEMU_CAPS_HDA_OUTPUT, /* -device hda-output */ - QEMU_CAPS_BLOCKDEV_DEL, /* blockdev-del is supported */ + X_QEMU_CAPS_BLOCKDEV_DEL, /* blockdev-del is supported */ QEMU_CAPS_DEVICE_VMGENID, /* -device vmgenid */ QEMU_CAPS_DEVICE_VHOST_VSOCK, /* -device vhost-vsock-* */ X_QEMU_CAPS_CHARDEV_FD_PASS_COMMANDLINE, /* Passing pre-opened FDs for chardevs on commandline */ diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml index 1d16f61a72..419a987068 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml @@ -108,7 +108,6 @@ <flag name='memory-backend-file.discard-data'/> <flag name='screendump_device'/> <flag name='hda-output'/> - <flag name='blockdev-del'/> <flag name='vhost-vsock'/> <flag name='egl-headless'/> <flag name='vfio-pci.display'/> diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml index 8a64694a8d..ceaedd3863 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml @@ -106,7 +106,6 @@ <flag name='memory-backend-file.discard-data'/> <flag name='screendump_device'/> <flag name='hda-output'/> - <flag name='blockdev-del'/> <flag name='vhost-vsock'/> <flag name='machine.pseries.cap-hpt-max-page-size'/> <flag name='machine.pseries.cap-htm'/> diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml b/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml index 9b80f2b915..d1ed2a781c 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml @@ -76,7 +76,6 @@ <flag name='virtual-css-bridge.cssid-unrestricted'/> <flag name='vfio-ccw'/> <flag name='screendump_device'/> - <flag name='blockdev-del'/> <flag name='vhost-vsock'/> <flag name='egl-headless'/> <flag name='vfio-pci.display'/> diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml index b8ac4b3799..784a837e91 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml @@ -140,7 +140,6 @@ <flag name='memory-backend-file.discard-data'/> <flag name='screendump_device'/> <flag name='hda-output'/> - <flag name='blockdev-del'/> <flag name='vmgenid'/> <flag name='vhost-vsock'/> <flag name='tpm-emulator'/> diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml index 10a3a1024d..b67c55b192 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml @@ -110,7 +110,6 @@ <flag name='memory-backend-file.discard-data'/> <flag name='screendump_device'/> <flag name='hda-output'/> - <flag name='blockdev-del'/> <flag name='vhost-vsock'/> <flag name='tpm-emulator'/> <flag name='egl-headless'/> diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml index 94cdb860c4..5527659aaa 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml @@ -108,7 +108,6 @@ <flag name='memory-backend-file.discard-data'/> <flag name='screendump_device'/> <flag name='hda-output'/> - <flag name='blockdev-del'/> <flag name='vhost-vsock'/> <flag name='tpm-emulator'/> <flag name='machine.pseries.cap-hpt-max-page-size'/> diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml index 49c4021e58..e8e6ab7e9d 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml @@ -107,7 +107,6 @@ <flag name='memory-backend-file.discard-data'/> <flag name='screendump_device'/> <flag name='hda-output'/> - <flag name='blockdev-del'/> <flag name='vhost-vsock'/> <flag name='egl-headless'/> <flag name='vfio-pci.display'/> diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml index 2070c01937..d08eadc5b4 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml @@ -140,7 +140,6 @@ <flag name='memory-backend-file.discard-data'/> <flag name='screendump_device'/> <flag name='hda-output'/> - <flag name='blockdev-del'/> <flag name='vmgenid'/> <flag name='vhost-vsock'/> <flag name='tpm-emulator'/> diff --git a/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml b/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml index b7c835bb14..a971ccf740 100644 --- a/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml +++ b/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml @@ -41,7 +41,6 @@ <flag name='qom-list-properties'/> <flag name='memory-backend-file.discard-data'/> <flag name='screendump_device'/> - <flag name='blockdev-del'/> <flag name='egl-headless'/> <flag name='blockdev'/> <flag name='memory-backend-memfd'/> diff --git a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml index b68f5857b4..8a33f277ab 100644 --- a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml @@ -139,7 +139,6 @@ <flag name='memory-backend-file.discard-data'/> <flag name='screendump_device'/> <flag name='hda-output'/> - <flag name='blockdev-del'/> <flag name='vmgenid'/> <flag name='vhost-vsock'/> <flag name='tpm-emulator'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml index e9df6a479e..83d814613d 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml @@ -109,7 +109,6 @@ <flag name='memory-backend-file.discard-data'/> <flag name='screendump_device'/> <flag name='hda-output'/> - <flag name='blockdev-del'/> <flag name='vhost-vsock'/> <flag name='tpm-emulator'/> <flag name='egl-headless'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml index aa7bd3b392..fd07ed826e 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml @@ -106,7 +106,6 @@ <flag name='memory-backend-file.discard-data'/> <flag name='screendump_device'/> <flag name='hda-output'/> - <flag name='blockdev-del'/> <flag name='vhost-vsock'/> <flag name='tpm-emulator'/> <flag name='machine.pseries.cap-hpt-max-page-size'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml index 61fbbcfd91..7c3adbe8b1 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml @@ -105,7 +105,6 @@ <flag name='memory-backend-file.discard-data'/> <flag name='screendump_device'/> <flag name='hda-output'/> - <flag name='blockdev-del'/> <flag name='vhost-vsock'/> <flag name='egl-headless'/> <flag name='vfio-pci.display'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml b/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml index 3ed4721e55..edadf9ff2c 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml @@ -74,7 +74,6 @@ <flag name='virtual-css-bridge.cssid-unrestricted'/> <flag name='vfio-ccw'/> <flag name='screendump_device'/> - <flag name='blockdev-del'/> <flag name='vhost-vsock'/> <flag name='egl-headless'/> <flag name='vfio-pci.display'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml index cc5bccabe2..838add4a26 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml @@ -139,7 +139,6 @@ <flag name='memory-backend-file.discard-data'/> <flag name='screendump_device'/> <flag name='hda-output'/> - <flag name='blockdev-del'/> <flag name='vmgenid'/> <flag name='vhost-vsock'/> <flag name='tpm-emulator'/> diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml index 416ed10e6d..f59c32fe9d 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml @@ -110,7 +110,6 @@ <flag name='memory-backend-file.discard-data'/> <flag name='screendump_device'/> <flag name='hda-output'/> - <flag name='blockdev-del'/> <flag name='vhost-vsock'/> <flag name='tpm-emulator'/> <flag name='egl-headless'/> diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml b/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml index e5d7782874..e39ec10987 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml @@ -74,7 +74,6 @@ <flag name='virtual-css-bridge.cssid-unrestricted'/> <flag name='vfio-ccw'/> <flag name='screendump_device'/> - <flag name='blockdev-del'/> <flag name='vhost-vsock'/> <flag name='egl-headless'/> <flag name='vfio-pci.display'/> diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml index dfb2caa06e..89f397c458 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml @@ -138,7 +138,6 @@ <flag name='memory-backend-file.discard-data'/> <flag name='screendump_device'/> <flag name='hda-output'/> - <flag name='blockdev-del'/> <flag name='vmgenid'/> <flag name='vhost-vsock'/> <flag name='tpm-emulator'/> diff --git a/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml index 161725a1e4..f372d93e28 100644 --- a/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml @@ -137,7 +137,6 @@ <flag name='memory-backend-file.discard-data'/> <flag name='screendump_device'/> <flag name='hda-output'/> - <flag name='blockdev-del'/> <flag name='vmgenid'/> <flag name='vhost-vsock'/> <flag name='tpm-emulator'/> diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml index 7034e01a3d..9e847c3dcd 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml @@ -117,7 +117,6 @@ <flag name='memory-backend-file.discard-data'/> <flag name='screendump_device'/> <flag name='hda-output'/> - <flag name='blockdev-del'/> <flag name='vhost-vsock'/> <flag name='tpm-emulator'/> <flag name='egl-headless'/> diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml index 8c1c8e0904..da23234b5b 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml @@ -106,7 +106,6 @@ <flag name='memory-backend-file.discard-data'/> <flag name='screendump_device'/> <flag name='hda-output'/> - <flag name='blockdev-del'/> <flag name='vhost-vsock'/> <flag name='tpm-emulator'/> <flag name='machine.pseries.cap-hpt-max-page-size'/> diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml index 606eb10e8c..1e88f23deb 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml @@ -137,7 +137,6 @@ <flag name='memory-backend-file.discard-data'/> <flag name='screendump_device'/> <flag name='hda-output'/> - <flag name='blockdev-del'/> <flag name='vmgenid'/> <flag name='vhost-vsock'/> <flag name='tpm-emulator'/> diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml index ad4b64f2a8..92b996df23 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml @@ -117,7 +117,6 @@ <flag name='memory-backend-file.discard-data'/> <flag name='screendump_device'/> <flag name='hda-output'/> - <flag name='blockdev-del'/> <flag name='vhost-vsock'/> <flag name='tpm-emulator'/> <flag name='egl-headless'/> diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml index 0bceeba596..24dae3160c 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml @@ -112,7 +112,6 @@ <flag name='memory-backend-file.discard-data'/> <flag name='screendump_device'/> <flag name='hda-output'/> - <flag name='blockdev-del'/> <flag name='vhost-vsock'/> <flag name='tpm-emulator'/> <flag name='machine.pseries.cap-hpt-max-page-size'/> diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml index 6ae458e577..2cf01d010e 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml @@ -137,7 +137,6 @@ <flag name='memory-backend-file.discard-data'/> <flag name='screendump_device'/> <flag name='hda-output'/> - <flag name='blockdev-del'/> <flag name='vmgenid'/> <flag name='vhost-vsock'/> <flag name='tpm-emulator'/> diff --git a/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml index 69b5ae7958..c6089f29a0 100644 --- a/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml @@ -137,7 +137,6 @@ <flag name='memory-backend-file.discard-data'/> <flag name='screendump_device'/> <flag name='hda-output'/> - <flag name='blockdev-del'/> <flag name='vmgenid'/> <flag name='vhost-vsock'/> <flag name='tpm-emulator'/> -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:02PM +0200, Peter Krempa wrote:
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_capabilities.c | 3 +-- src/qemu/qemu_capabilities.h | 2 +- tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml | 1 - tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml | 1 - 28 files changed, 2 insertions(+), 29 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

Assume that QEMU_CAPS_BLOCKDEV is present and remove all code executed when it's not. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_snapshot.c | 116 +++++---------------------------------- 1 file changed, 15 insertions(+), 101 deletions(-) diff --git a/src/qemu/qemu_snapshot.c b/src/qemu/qemu_snapshot.c index 0733d44faa..b96ef7a50b 100644 --- a/src/qemu/qemu_snapshot.c +++ b/src/qemu/qemu_snapshot.c @@ -449,8 +449,7 @@ qemuSnapshotPrepareDiskExternalInactive(virDomainSnapshotDiskDef *snapdisk, static int qemuSnapshotPrepareDiskExternalActive(virDomainObj *vm, virDomainSnapshotDiskDef *snapdisk, - virDomainDiskDef *domdisk, - bool blockdev) + virDomainDiskDef *domdisk) { virStorageType actualType = virStorageSourceGetActualType(snapdisk->src); @@ -470,38 +469,7 @@ qemuSnapshotPrepareDiskExternalActive(virDomainObj *vm, switch (actualType) { case VIR_STORAGE_TYPE_BLOCK: case VIR_STORAGE_TYPE_FILE: - break; - case VIR_STORAGE_TYPE_NETWORK: - /* defer all of the checking to either qemu or libvirt's blockdev code */ - if (blockdev) - break; - - switch ((virStorageNetProtocol) snapdisk->src->protocol) { - case VIR_STORAGE_NET_PROTOCOL_GLUSTER: - break; - - case VIR_STORAGE_NET_PROTOCOL_NONE: - case VIR_STORAGE_NET_PROTOCOL_NBD: - case VIR_STORAGE_NET_PROTOCOL_RBD: - case VIR_STORAGE_NET_PROTOCOL_SHEEPDOG: - case VIR_STORAGE_NET_PROTOCOL_ISCSI: - case VIR_STORAGE_NET_PROTOCOL_HTTP: - case VIR_STORAGE_NET_PROTOCOL_HTTPS: - case VIR_STORAGE_NET_PROTOCOL_FTP: - case VIR_STORAGE_NET_PROTOCOL_FTPS: - case VIR_STORAGE_NET_PROTOCOL_TFTP: - case VIR_STORAGE_NET_PROTOCOL_SSH: - case VIR_STORAGE_NET_PROTOCOL_VXHS: - case VIR_STORAGE_NET_PROTOCOL_NFS: - case VIR_STORAGE_NET_PROTOCOL_LAST: - virReportError(VIR_ERR_INTERNAL_ERROR, - _("external active snapshots are not supported on " - "'network' disks using '%s' protocol"), - virStorageNetProtocolTypeToString(snapdisk->src->protocol)); - return -1; - - } break; case VIR_STORAGE_TYPE_DIR: @@ -528,17 +496,8 @@ qemuSnapshotPrepareDiskExternal(virDomainObj *vm, virDomainDiskDef *disk, virDomainSnapshotDiskDef *snapdisk, bool active, - bool reuse, - bool blockdev) + bool reuse) { - - if (disk->src->readonly && !(reuse || blockdev)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, - _("external snapshot for readonly disk %s " - "is not supported"), disk->dst); - return -1; - } - if (qemuTranslateSnapshotDiskSourcePool(snapdisk) < 0) return -1; @@ -549,7 +508,7 @@ qemuSnapshotPrepareDiskExternal(virDomainObj *vm, if (qemuSnapshotPrepareDiskExternalInactive(snapdisk, disk) < 0) return -1; } else { - if (qemuSnapshotPrepareDiskExternalActive(vm, snapdisk, disk, blockdev) < 0) + if (qemuSnapshotPrepareDiskExternalActive(vm, snapdisk, disk) < 0) return -1; } @@ -679,8 +638,6 @@ qemuSnapshotPrepare(virDomainObj *vm, bool *has_manual, unsigned int *flags) { - qemuDomainObjPrivate *priv = vm->privateData; - bool blockdev = virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV); size_t i; bool active = virDomainObjIsActive(vm); bool reuse = (*flags & VIR_DOMAIN_SNAPSHOT_CREATE_REUSE_EXT) != 0; @@ -742,16 +699,10 @@ qemuSnapshotPrepare(virDomainObj *vm, _("metadata cache max size control is supported only with qcow2 images")); return -1; } - - if (!blockdev) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("metadata cache max size control is not supported with this QEMU binary")); - return -1; - } } if (qemuSnapshotPrepareDiskExternal(vm, dom_disk, disk, - active, reuse, blockdev) < 0) + active, reuse) < 0) return -1; external++; @@ -1059,10 +1010,7 @@ qemuSnapshotDiskPrepareOne(qemuSnapshotDiskContext *snapctxt, virDomainObj *vm = snapctxt->vm; qemuDomainObjPrivate *priv = vm->privateData; virQEMUDriver *driver = priv->driver; - bool blockdev = virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV); virDomainDiskDef *persistdisk; - bool supportsCreate; - bool updateRelativeBacking = false; qemuSnapshotDiskData *dd = snapctxt->dd + snapctxt->ndd++; dd->disk = disk; @@ -1092,28 +1040,15 @@ qemuSnapshotDiskPrepareOne(qemuSnapshotDiskContext *snapctxt, return -1; } - supportsCreate = virStorageSourceSupportsCreate(dd->src); - - /* relative backing store paths need to be updated so that relative - * block commit still works. With blockdev we must update it when doing - * commit anyways so it's skipped here */ - if (!blockdev && - virStorageSourceSupportsBackingChainTraversal(dd->src)) - updateRelativeBacking = true; - - if (supportsCreate || updateRelativeBacking) { + if (virStorageSourceSupportsCreate(dd->src)) { if (qemuDomainStorageFileInit(driver, vm, dd->src, NULL) < 0) return -1; dd->initialized = true; - if (reuse) { - if (updateRelativeBacking && - virStorageSourceFetchRelativeBackingPath(dd->src, &dd->relPath) < 0) - return -1; - } else { + if (!reuse) { /* pre-create the image file so that we can label it before handing it to qemu */ - if (supportsCreate && dd->src->type != VIR_STORAGE_TYPE_BLOCK) { + if (dd->src->type != VIR_STORAGE_TYPE_BLOCK) { if (virStorageSourceCreate(dd->src) < 0) { virReportSystemError(errno, _("failed to create image file '%s'"), NULLSTR(dd->src->path)); @@ -1131,20 +1066,15 @@ qemuSnapshotDiskPrepareOne(qemuSnapshotDiskContext *snapctxt, dd->prepared = true; - if (blockdev) { - if (qemuSnapshotDiskPrepareOneBlockdev(driver, vm, dd, snapctxt->cfg, reuse, - blockNamedNodeData, snapctxt->asyncJob) < 0) - return -1; + if (qemuSnapshotDiskPrepareOneBlockdev(driver, vm, dd, snapctxt->cfg, reuse, + blockNamedNodeData, snapctxt->asyncJob) < 0) + return -1; - if (qemuSnapshotDiskBitmapsPropagate(dd, snapctxt->actions, blockNamedNodeData) < 0) - return -1; + if (qemuSnapshotDiskBitmapsPropagate(dd, snapctxt->actions, blockNamedNodeData) < 0) + return -1; - if (qemuBlockSnapshotAddBlockdev(snapctxt->actions, dd->disk, dd->src) < 0) - return -1; - } else { - if (qemuBlockSnapshotAddLegacy(snapctxt->actions, dd->disk, dd->src, reuse) < 0) - return -1; - } + if (qemuBlockSnapshotAddBlockdev(snapctxt->actions, dd->disk, dd->src) < 0) + return -1; return 0; } @@ -1211,17 +1141,6 @@ qemuSnapshotGetTransientDiskDef(virDomainDiskDef *domdisk, } -static void -qemuSnapshotDiskUpdateSourceRenumber(virStorageSource *src) -{ - virStorageSource *next; - unsigned int idx = 1; - - for (next = src->backingStore; virStorageSourceIsBacking(next); next = next->backingStore) - next->id = idx++; -} - - /** * qemuSnapshotDiskUpdateSource: * @vm: domain object @@ -1257,10 +1176,6 @@ qemuSnapshotDiskUpdateSource(virDomainObj *vm, dd->src->backingStore = g_steal_pointer(&dd->disk->src); dd->disk->src = g_steal_pointer(&dd->src); - /* fix numbering of disks */ - if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV)) - qemuSnapshotDiskUpdateSourceRenumber(dd->disk->src); - if (dd->persistdisk) { dd->persistdisk->src->readonly = true; dd->persistsrc->backingStore = g_steal_pointer(&dd->persistdisk->src); @@ -1415,8 +1330,7 @@ qemuSnapshotCreateActiveExternal(virQEMUDriver *driver, /* We need to collect reply from 'query-named-block-nodes' prior to the * migration step as qemu deactivates bitmaps after migration so the result * would be wrong */ - if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV) && - !(blockNamedNodeData = qemuBlockGetNamedNodeData(vm, VIR_ASYNC_JOB_SNAPSHOT))) + if (!(blockNamedNodeData = qemuBlockGetNamedNodeData(vm, VIR_ASYNC_JOB_SNAPSHOT))) goto cleanup; /* do the memory snapshot if necessary */ -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:03PM +0200, Peter Krempa wrote:
Assume that QEMU_CAPS_BLOCKDEV is present and remove all code executed when it's not.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_snapshot.c | 116 +++++---------------------------------- 1 file changed, 15 insertions(+), 101 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_block.c | 20 -------------------- src/qemu/qemu_block.h | 6 ------ src/qemu/qemu_monitor.c | 12 ------------ src/qemu/qemu_monitor.h | 6 ------ src/qemu/qemu_monitor_json.c | 22 ---------------------- src/qemu/qemu_monitor_json.h | 6 ------ tests/qemumonitorjsontest.c | 1 - 7 files changed, 73 deletions(-) diff --git a/src/qemu/qemu_block.c b/src/qemu/qemu_block.c index 870d44ecd5..81c807660f 100644 --- a/src/qemu/qemu_block.c +++ b/src/qemu/qemu_block.c @@ -2108,26 +2108,6 @@ qemuBlockStorageSourceDetachOneBlockdev(virQEMUDriver *driver, } -int -qemuBlockSnapshotAddLegacy(virJSONValue *actions, - virDomainDiskDef *disk, - virStorageSource *newsrc, - bool reuse) -{ - const char *format = virStorageFileFormatTypeToString(newsrc->format); - g_autofree char *device = NULL; - g_autofree char *source = NULL; - - if (!(device = qemuAliasDiskDriveFromDisk(disk))) - return -1; - - if (qemuGetDriveSourceString(newsrc, NULL, &source) < 0) - return -1; - - return qemuMonitorTransactionSnapshotLegacy(actions, device, source, format, reuse); -} - - int qemuBlockSnapshotAddBlockdev(virJSONValue *actions, virDomainDiskDef *disk, diff --git a/src/qemu/qemu_block.h b/src/qemu/qemu_block.h index 8641c8a2d2..bcd3f5960b 100644 --- a/src/qemu/qemu_block.h +++ b/src/qemu/qemu_block.h @@ -179,12 +179,6 @@ qemuBlockStorageSourceChainDetach(qemuMonitor *mon, G_DEFINE_AUTOPTR_CLEANUP_FUNC(qemuBlockStorageSourceChainData, qemuBlockStorageSourceChainDataFree); -int -qemuBlockSnapshotAddLegacy(virJSONValue *actions, - virDomainDiskDef *disk, - virStorageSource *newsrc, - bool reuse); - int qemuBlockSnapshotAddBlockdev(virJSONValue *actions, virDomainDiskDef *disk, diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c index 6ebdeb46f3..b575eaae06 100644 --- a/src/qemu/qemu_monitor.c +++ b/src/qemu/qemu_monitor.c @@ -4397,18 +4397,6 @@ qemuMonitorTransactionBitmapMergeSourceAddBitmap(virJSONValue *sources, } -int -qemuMonitorTransactionSnapshotLegacy(virJSONValue *actions, - const char *device, - const char *path, - const char *format, - bool existing) -{ - return qemuMonitorJSONTransactionSnapshotLegacy(actions, device, path, - format, existing); -} - - int qemuMonitorTransactionSnapshotBlockdev(virJSONValue *actions, const char *node, diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index b82f198285..916a86f423 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -1461,12 +1461,6 @@ qemuMonitorTransactionBitmapMergeSourceAddBitmap(virJSONValue *sources, const char *sourcebitmap); int -qemuMonitorTransactionSnapshotLegacy(virJSONValue *actions, - const char *device, - const char *path, - const char *format, - bool existing); -int qemuMonitorTransactionSnapshotBlockdev(virJSONValue *actions, const char *node, const char *overlay); diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index 941596563a..8cda6f36b7 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -8548,28 +8548,6 @@ qemuMonitorJSONTransactionBitmapMergeSourceAddBitmap(virJSONValue *sources, } -int -qemuMonitorJSONTransactionSnapshotLegacy(virJSONValue *actions, - const char *device, - const char *path, - const char *format, - bool existing) -{ - const char *mode = NULL; - - if (existing) - mode = "existing"; - - return qemuMonitorJSONTransactionAdd(actions, - "blockdev-snapshot-sync", - "s:device", device, - "s:snapshot-file", path, - "s:format", format, - "S:mode", mode, - NULL); -} - - int qemuMonitorJSONTransactionSnapshotBlockdev(virJSONValue *actions, const char *node, diff --git a/src/qemu/qemu_monitor_json.h b/src/qemu/qemu_monitor_json.h index e4c65e250e..613b251908 100644 --- a/src/qemu/qemu_monitor_json.h +++ b/src/qemu/qemu_monitor_json.h @@ -813,12 +813,6 @@ qemuMonitorJSONTransactionBitmapMergeSourceAddBitmap(virJSONValue *sources, const char *sourcebitmap); int -qemuMonitorJSONTransactionSnapshotLegacy(virJSONValue *actions, - const char *device, - const char *path, - const char *format, - bool existing); -int qemuMonitorJSONTransactionSnapshotBlockdev(virJSONValue *actions, const char *node, const char *overlay); diff --git a/tests/qemumonitorjsontest.c b/tests/qemumonitorjsontest.c index 692aa75791..adfe6e1c55 100644 --- a/tests/qemumonitorjsontest.c +++ b/tests/qemumonitorjsontest.c @@ -2742,7 +2742,6 @@ testQemuMonitorJSONTransaction(const void *opaque) qemuMonitorTransactionBitmapEnable(actions, "node3", "bitmap3") < 0 || qemuMonitorTransactionBitmapDisable(actions, "node4", "bitmap4") < 0 || qemuMonitorTransactionBitmapMerge(actions, "node5", "bitmap5", &mergebitmaps) < 0 || - qemuMonitorTransactionSnapshotLegacy(actions, "dev6", "path", "qcow2", true) < 0 || qemuMonitorTransactionSnapshotBlockdev(actions, "node7", "overlay7") < 0 || qemuMonitorTransactionBackup(actions, "dev8", "job8", "target8", "bitmap8", QEMU_MONITOR_TRANSACTION_BACKUP_SYNC_MODE_NONE) < 0 || -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:04PM +0200, Peter Krempa wrote:
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_block.c | 20 -------------------- src/qemu/qemu_block.h | 6 ------ src/qemu/qemu_monitor.c | 12 ------------ src/qemu/qemu_monitor.h | 6 ------ src/qemu/qemu_monitor_json.c | 22 ---------------------- src/qemu/qemu_monitor_json.h | 6 ------ tests/qemumonitorjsontest.c | 1 - 7 files changed, 73 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_backup.c | 2 +- src/qemu/qemu_block.c | 10 +--------- src/qemu/qemu_block.h | 1 - src/qemu/qemu_migration.c | 2 +- 4 files changed, 3 insertions(+), 12 deletions(-) diff --git a/src/qemu/qemu_backup.c b/src/qemu/qemu_backup.c index d2a5d2db5f..b90185a375 100644 --- a/src/qemu/qemu_backup.c +++ b/src/qemu/qemu_backup.c @@ -536,7 +536,7 @@ qemuBackupBeginPullExportDisks(virDomainObj *vm, if (!dd->backupdisk->exportname) dd->backupdisk->exportname = g_strdup(dd->domdisk->dst); - if (qemuBlockExportAddNBD(vm, NULL, + if (qemuBlockExportAddNBD(vm, dd->store, dd->backupdisk->exportname, false, diff --git a/src/qemu/qemu_block.c b/src/qemu/qemu_block.c index 81c807660f..141bf1b3e7 100644 --- a/src/qemu/qemu_block.c +++ b/src/qemu/qemu_block.c @@ -3534,21 +3534,18 @@ qemuBlockExportGetNBDProps(const char *nodename, /** * qemuBlockExportAddNBD: * @vm: domain object - * @drivealias: (optional) alias of -drive to export in pre-blockdev configurations * @src: disk source to export * @exportname: name for the export * @writable: whether the NBD export allows writes * @bitmap: (optional) block dirty bitmap to export along * * This function automatically selects the proper invocation of exporting a - * block backend via NBD in qemu. This includes use of nodename for blockdev - * and proper configuration for the exportname for older qemus. + * block backend via NBD in qemu. * * This function must be called while in the monitor context. */ int qemuBlockExportAddNBD(virDomainObj *vm, - const char *drivealias, virStorageSource *src, const char *exportname, bool writable, @@ -3558,11 +3555,6 @@ qemuBlockExportAddNBD(virDomainObj *vm, g_autoptr(virJSONValue) nbdprops = NULL; const char *bitmaps[2] = { bitmap, NULL }; - /* older qemu versions didn't support configuring the exportname and - * took the 'drivealias' as the export name */ - if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV)) - return qemuMonitorNBDServerAdd(priv->mon, drivealias, NULL, writable, NULL); - if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCK_EXPORT_ADD)) return qemuMonitorNBDServerAdd(priv->mon, src->nodeformat, exportname, writable, bitmap); diff --git a/src/qemu/qemu_block.h b/src/qemu/qemu_block.h index bcd3f5960b..b22a541797 100644 --- a/src/qemu/qemu_block.h +++ b/src/qemu/qemu_block.h @@ -291,7 +291,6 @@ qemuBlockExportGetNBDProps(const char *nodename, int qemuBlockExportAddNBD(virDomainObj *vm, - const char *drivealias, virStorageSource *src, const char *exportname, bool writable, diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c index 16d65ff22e..a6d097c304 100644 --- a/src/qemu/qemu_migration.c +++ b/src/qemu/qemu_migration.c @@ -614,7 +614,7 @@ qemuMigrationDstStartNBDServer(virQEMUDriver *driver, server_started = true; } - if (qemuBlockExportAddNBD(vm, diskAlias, disk->src, diskAlias, true, NULL) < 0) + if (qemuBlockExportAddNBD(vm, disk->src, diskAlias, true, NULL) < 0) goto exit_monitor; qemuDomainObjExitMonitor(vm); } -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:05PM +0200, Peter Krempa wrote:
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_backup.c | 2 +- src/qemu/qemu_block.c | 10 +--------- src/qemu/qemu_block.h | 1 - src/qemu/qemu_migration.c | 2 +- 4 files changed, 3 insertions(+), 12 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_migration_cookie.c | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/src/qemu/qemu_migration_cookie.c b/src/qemu/qemu_migration_cookie.c index 0738ad430f..88c147e9fa 100644 --- a/src/qemu/qemu_migration_cookie.c +++ b/src/qemu/qemu_migration_cookie.c @@ -479,7 +479,6 @@ qemuMigrationCookieAddNBD(qemuMigrationCookie *mig, { qemuDomainObjPrivate *priv = vm->privateData; g_autoptr(GHashTable) stats = virHashNew(g_free); - bool blockdev = virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV); size_t i; int rc; @@ -499,11 +498,11 @@ qemuMigrationCookieAddNBD(qemuMigrationCookie *mig, if (qemuDomainObjEnterMonitorAsync(driver, vm, priv->job.asyncJob) < 0) return -1; - if (blockdev) - rc = qemuMonitorBlockStatsUpdateCapacityBlockdev(priv->mon, stats); - else - rc = qemuMonitorBlockStatsUpdateCapacity(priv->mon, stats); + + rc = qemuMonitorBlockStatsUpdateCapacityBlockdev(priv->mon, stats); + qemuDomainObjExitMonitor(vm); + if (rc < 0) return -1; @@ -511,14 +510,8 @@ qemuMigrationCookieAddNBD(qemuMigrationCookie *mig, virDomainDiskDef *disk = vm->def->disks[i]; qemuBlockStats *entry; - if (blockdev) { - if (!(entry = virHashLookup(stats, disk->src->nodeformat))) - continue; - } else { - if (!disk->info.alias || - !(entry = virHashLookup(stats, disk->info.alias))) - continue; - } + if (!(entry = virHashLookup(stats, disk->src->nodeformat))) + continue; mig->nbd->disks[mig->nbd->ndisks].target = g_strdup(disk->dst); mig->nbd->disks[mig->nbd->ndisks].capacity = entry->capacity; -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:06PM +0200, Peter Krempa wrote:
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_migration_cookie.c | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

All supported qemu versions now work with blockdev. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_validate.c | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c index b949e1aa42..4ce920152f 100644 --- a/src/qemu/qemu_validate.c +++ b/src/qemu/qemu_validate.c @@ -609,13 +609,6 @@ qemuValidateDomainDefNvram(const virDomainDef *def, if (!src) return 0; - if (def->os.loader->newStyleNVRAM && - !virQEMUCapsGet(qemuCaps, QEMU_CAPS_BLOCKDEV)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("modern nvram specification is not supported by this qemu")); - return -1; - } - switch (src->type) { case VIR_STORAGE_TYPE_FILE: case VIR_STORAGE_TYPE_BLOCK: @@ -3182,13 +3175,6 @@ qemuValidateDomainDeviceDefDiskTransient(const virDomainDiskDef *disk, return -1; } - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_BLOCKDEV)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, - _("transient disk not supported by this QEMU binary (%s)"), - disk->dst); - return -1; - } - if (disk->transientShareBacking == VIR_TRISTATE_BOOL_YES) { if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_SET_ACTION) && !qemuProcessRebootAllowed(def)) { -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:07PM +0200, Peter Krempa wrote:
All supported qemu versions now work with blockdev.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_validate.c | 14 -------------- 1 file changed, 14 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_process.c | 182 +--------------------------------------- 1 file changed, 2 insertions(+), 180 deletions(-) diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 980e06ce79..6083ee10d8 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -873,50 +873,6 @@ qemuProcessHandleIOError(qemuMonitor *mon G_GNUC_UNUSED, virObjectEventStateQueue(driver->domainEventState, lifecycleEvent); } -static void -qemuProcessHandleBlockJob(qemuMonitor *mon G_GNUC_UNUSED, - virDomainObj *vm, - const char *diskAlias, - int type, - int status, - const char *error) -{ - qemuDomainObjPrivate *priv; - virDomainDiskDef *disk; - g_autoptr(qemuBlockJobData) job = NULL; - - virObjectLock(vm); - - priv = vm->privateData; - - /* with QEMU_CAPS_BLOCKDEV we handle block job events via JOB_STATUS_CHANGE */ - if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV)) - goto cleanup; - - VIR_DEBUG("Block job for device %s (domain: %p,%s) type %d status %d", - diskAlias, vm, vm->def->name, type, status); - - if (!(disk = qemuProcessFindDomainDiskByAliasOrQOM(vm, diskAlias, NULL))) - goto cleanup; - - job = qemuBlockJobDiskGetJob(disk); - - if (job && job->synchronous) { - /* We have a SYNC API waiting for this event, dispatch it back */ - job->newstate = status; - VIR_FREE(job->errmsg); - job->errmsg = g_strdup(error); - virDomainObjBroadcast(vm); - } else { - /* there is no waiting SYNC API, dispatch the update to a thread */ - qemuProcessEventSubmit(vm, QEMU_PROCESS_EVENT_BLOCK_JOB, - type, status, g_strdup(diskAlias)); - } - - cleanup: - virObjectUnlock(vm); -} - static void qemuProcessHandleJobStatusChange(qemuMonitor *mon G_GNUC_UNUSED, @@ -935,11 +891,6 @@ qemuProcessHandleJobStatusChange(qemuMonitor *mon G_GNUC_UNUSED, jobname, vm, vm->def->name, qemuMonitorJobStatusTypeToString(status), status); - if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV)) { - VIR_DEBUG("job '%s' handled by old blockjob handler", jobname); - goto cleanup; - } - if ((jobnewstate = qemuBlockjobConvertMonitorStatus(status)) == QEMU_BLOCKJOB_STATE_LAST) goto cleanup; @@ -1822,7 +1773,6 @@ static qemuMonitorCallbacks monitorCallbacks = { .domainWatchdog = qemuProcessHandleWatchdog, .domainIOError = qemuProcessHandleIOError, .domainGraphics = qemuProcessHandleGraphics, - .domainBlockJob = qemuProcessHandleBlockJob, .jobStatusChange = qemuProcessHandleJobStatusChange, .domainTrayChange = qemuProcessHandleTrayChange, .domainPMWakeup = qemuProcessHandlePMWakeup, @@ -6834,10 +6784,8 @@ qemuProcessPrepareHostStorage(virQEMUDriver *driver, virDomainObj *vm, unsigned int flags) { - qemuDomainObjPrivate *priv = vm->privateData; size_t i; bool cold_boot = flags & VIR_QEMU_PROCESS_START_COLD; - bool blockdev = virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV); for (i = vm->def->ndisks; i > 0; i--) { size_t idx = i - 1; @@ -6847,7 +6795,7 @@ qemuProcessPrepareHostStorage(virQEMUDriver *driver, continue; /* backing chain needs to be redetected if we aren't using blockdev */ - if (!blockdev || qemuDiskBusIsSD(disk->bus)) + if (qemuDiskBusIsSD(disk->bus)) virStorageSourceBackingStoreClear(disk->src); /* @@ -7294,13 +7242,9 @@ qemuProcessSetupDiskThrottlingBlockdev(virQEMUDriver *driver, virDomainObj *vm, virDomainAsyncJob asyncJob) { - qemuDomainObjPrivate *priv = vm->privateData; size_t i; int ret = -1; - if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV)) - return 0; - VIR_DEBUG("Setting up disk throttling for -blockdev via block_set_io_throttle"); if (qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) < 0) @@ -7462,11 +7406,6 @@ static int qemuProcessSetupDisksTransient(virDomainObj *vm, virDomainAsyncJob asyncJob) { - qemuDomainObjPrivate *priv = vm->privateData; - - if (!(virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV))) - return 0; - if (qemuProcessSetupDisksTransientSnapshot(vm, asyncJob) < 0) return -1; @@ -7886,8 +7825,6 @@ qemuProcessRefreshState(virQEMUDriver *driver, virDomainObj *vm, virDomainAsyncJob asyncJob) { - qemuDomainObjPrivate *priv = vm->privateData; - VIR_DEBUG("Fetching list of active devices"); if (qemuDomainUpdateDeviceList(driver, vm, asyncJob) < 0) return -1; @@ -7903,9 +7840,6 @@ qemuProcessRefreshState(virQEMUDriver *driver, VIR_DEBUG("Updating disk data"); if (qemuProcessRefreshDisks(driver, vm, asyncJob) < 0) return -1; - if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV) && - qemuBlockNodeNamesDetect(driver, vm, asyncJob) < 0) - return -1; return 0; } @@ -8750,101 +8684,6 @@ qemuProcessRefreshCPU(virQEMUDriver *driver, } -static int -qemuProcessRefreshLegacyBlockjob(void *payload, - const char *name, - void *opaque) -{ - const char *jobname = name; - virDomainObj *vm = opaque; - qemuMonitorBlockJobInfo *info = payload; - virDomainDiskDef *disk; - qemuBlockJobData *job; - qemuBlockJobType jobtype = info->type; - qemuDomainObjPrivate *priv = vm->privateData; - - if (!(disk = qemuProcessFindDomainDiskByAliasOrQOM(vm, jobname, jobname))) { - VIR_DEBUG("could not find disk for block job '%s'", jobname); - return 0; - } - - if (jobtype == QEMU_BLOCKJOB_TYPE_COMMIT && - disk->mirrorJob == VIR_DOMAIN_BLOCK_JOB_TYPE_ACTIVE_COMMIT) - jobtype = disk->mirrorJob; - - if (!(job = qemuBlockJobDiskNew(vm, disk, jobtype, jobname))) - return -1; - - if (disk->mirror) { - if ((!info->ready_present && info->end == info->cur) || - info->ready) { - disk->mirrorState = VIR_DOMAIN_DISK_MIRROR_STATE_READY; - job->state = VIR_DOMAIN_BLOCK_JOB_READY; - } - - /* Pre-blockdev block copy labelled the chain of the mirrored device - * just before pivoting. At that point it was no longer known whether - * it's even necessary (e.g. disk is being reused). This code fixes - * the labelling in case the job was started in a libvirt version - * which did not label the chain when the block copy is being started. - * Note that we can't do much on failure. */ - if (disk->mirrorJob == VIR_DOMAIN_BLOCK_JOB_TYPE_COPY) { - if (qemuDomainDetermineDiskChain(priv->driver, vm, disk, - disk->mirror, true) < 0) - goto cleanup; - - if (disk->mirror->format && - disk->mirror->format != VIR_STORAGE_FILE_RAW && - (qemuDomainNamespaceSetupDisk(vm, disk->mirror, NULL) < 0 || - qemuSetupImageChainCgroup(vm, disk->mirror) < 0 || - qemuSecuritySetImageLabel(priv->driver, vm, disk->mirror, - true, true) < 0)) - goto cleanup; - } - } - - qemuBlockJobStarted(job, vm); - - cleanup: - qemuBlockJobStartupFinalize(vm, job); - - return 0; -} - - -static int -qemuProcessRefreshLegacyBlockjobs(virQEMUDriver *driver, - virDomainObj *vm) -{ - g_autoptr(GHashTable) blockJobs = NULL; - - qemuDomainObjEnterMonitor(driver, vm); - blockJobs = qemuMonitorGetAllBlockJobInfo(qemuDomainGetMonitor(vm), true); - qemuDomainObjExitMonitor(vm); - - if (!blockJobs) - return -1; - - if (virHashForEach(blockJobs, qemuProcessRefreshLegacyBlockjob, vm) < 0) - return -1; - - return 0; -} - - -static int -qemuProcessRefreshBlockjobs(virQEMUDriver *driver, - virDomainObj *vm) -{ - qemuDomainObjPrivate *priv = vm->privateData; - - if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV)) - return qemuBlockJobRefreshJobs(driver, vm); - - return qemuProcessRefreshLegacyBlockjobs(driver, vm); -} - - struct qemuProcessReconnectData { virQEMUDriver *driver; virDomainObj *obj; @@ -8952,19 +8791,6 @@ qemuProcessReconnect(void *opaque) if (virDomainDiskTranslateSourcePool(disk) < 0) goto error; - - /* backing chains need to be refreshed only if they could change */ - if (priv->reconnectBlockjobs != VIR_TRISTATE_BOOL_NO && - !virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV)) { - /* This should be the only place that calls - * qemuDomainDetermineDiskChain with @report_broken == false - * to guarantee best-effort domain reconnect */ - virStorageSourceBackingStoreClear(disk->src); - if (qemuDomainDetermineDiskChain(driver, obj, disk, NULL, false) < 0) - goto error; - } else { - VIR_DEBUG("skipping backing chain detection for '%s'", disk->dst); - } } for (i = 0; i < obj->def->ngraphics; i++) { @@ -9054,10 +8880,6 @@ qemuProcessReconnect(void *opaque) QEMU_DOMAIN_DISK_PRIVATE(disk)->transientOverlayCreated = true; } - if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV) && - qemuBlockNodeNamesDetect(driver, obj, VIR_ASYNC_JOB_NONE) < 0) - goto error; - if (qemuRefreshVirtioChannelState(driver, obj, VIR_ASYNC_JOB_NONE) < 0) goto error; @@ -9070,7 +8892,7 @@ qemuProcessReconnect(void *opaque) if (qemuProcessRecoverJob(driver, obj, &oldjob, &stopFlags) < 0) goto error; - if (qemuProcessRefreshBlockjobs(driver, obj) < 0) + if (qemuBlockJobRefreshJobs(driver, obj) < 0) goto error; if (qemuProcessUpdateDevices(driver, obj) < 0) -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:08PM +0200, Peter Krempa wrote:
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_process.c | 182 +--------------------------------------- 1 file changed, 2 insertions(+), 180 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_blockjob.c | 136 +-------------------------------------- 1 file changed, 1 insertion(+), 135 deletions(-) diff --git a/src/qemu/qemu_blockjob.c b/src/qemu/qemu_blockjob.c index ed82ac5dc2..304008a31a 100644 --- a/src/qemu/qemu_blockjob.c +++ b/src/qemu/qemu_blockjob.c @@ -703,137 +703,6 @@ qemuBlockJobRewriteConfigDiskSource(virDomainObj *vm, } -static void -qemuBlockJobEventProcessLegacyCompleted(virQEMUDriver *driver, - virDomainObj *vm, - qemuBlockJobData *job, - int asyncJob) -{ - virDomainDiskDef *disk = job->disk; - - if (!disk) - return; - - if (disk->mirrorState == VIR_DOMAIN_DISK_MIRROR_STATE_PIVOT) { - qemuBlockJobRewriteConfigDiskSource(vm, disk, disk->mirror); - /* XXX We want to revoke security labels as well as audit that - * revocation, before dropping the original source. But it gets - * tricky if both source and mirror share common backing files (we - * want to only revoke the non-shared portion of the chain); so for - * now, we leak the access to the original. */ - virDomainLockImageDetach(driver->lockManager, vm, disk->src); - - /* Move secret driver metadata */ - if (qemuSecurityMoveImageMetadata(driver, vm, disk->src, disk->mirror) < 0) { - VIR_WARN("Unable to move disk metadata on " - "vm %s from %s to %s (disk target %s)", - vm->def->name, - NULLSTR(disk->src->path), - NULLSTR(disk->mirror->path), - disk->dst); - } - - virObjectUnref(disk->src); - disk->src = disk->mirror; - } else { - if (disk->mirror) { - virDomainLockImageDetach(driver->lockManager, vm, disk->mirror); - - /* Ideally, we would restore seclabels on the backing chain here - * but we don't know if somebody else is not using parts of it. - * Remove security driver metadata so that they are not leaked. */ - qemuBlockRemoveImageMetadata(driver, vm, disk->dst, disk->mirror); - - virObjectUnref(disk->mirror); - } - - qemuBlockRemoveImageMetadata(driver, vm, disk->dst, disk->src); - } - - /* Recompute the cached backing chain to match our - * updates. Better would be storing the chain ourselves - * rather than reprobing, but we haven't quite completed - * that conversion to use our XML tracking. */ - disk->mirror = NULL; - disk->mirrorState = VIR_DOMAIN_DISK_MIRROR_STATE_NONE; - disk->mirrorJob = VIR_DOMAIN_BLOCK_JOB_TYPE_UNKNOWN; - disk->src->id = 0; - virStorageSourceBackingStoreClear(disk->src); - ignore_value(qemuDomainDetermineDiskChain(driver, vm, disk, NULL, true)); - ignore_value(qemuBlockNodeNamesDetect(driver, vm, asyncJob)); - qemuBlockJobUnregister(job, vm); - qemuDomainSaveConfig(vm); -} - - -/** - * qemuBlockJobEventProcessLegacy: - * @driver: qemu driver - * @vm: domain - * @job: job to process events for - * - * Update disk's mirror state in response to a block job event - * from QEMU. For mirror state's that must survive libvirt - * restart, also update the domain's status XML. - */ -static void -qemuBlockJobEventProcessLegacy(virQEMUDriver *driver, - virDomainObj *vm, - qemuBlockJobData *job, - int asyncJob) -{ - virDomainDiskDef *disk = job->disk; - - VIR_DEBUG("disk=%s, mirrorState=%s, type=%d, state=%d, newstate=%d", - disk->dst, - NULLSTR(virDomainDiskMirrorStateTypeToString(disk->mirrorState)), - job->type, - job->state, - job->newstate); - - if (job->newstate == -1) - return; - - qemuBlockJobEmitEvents(driver, vm, disk, job->type, job->newstate); - - job->state = job->newstate; - job->newstate = -1; - - /* If we completed a block pull or commit, then update the XML - * to match. */ - switch ((virConnectDomainEventBlockJobStatus) job->state) { - case VIR_DOMAIN_BLOCK_JOB_COMPLETED: - qemuBlockJobEventProcessLegacyCompleted(driver, vm, job, asyncJob); - break; - - case VIR_DOMAIN_BLOCK_JOB_READY: - disk->mirrorState = VIR_DOMAIN_DISK_MIRROR_STATE_READY; - qemuDomainSaveStatus(vm); - break; - - case VIR_DOMAIN_BLOCK_JOB_FAILED: - case VIR_DOMAIN_BLOCK_JOB_CANCELED: - if (disk->mirror) { - virDomainLockImageDetach(driver->lockManager, vm, disk->mirror); - - /* Ideally, we would restore seclabels on the backing chain here - * but we don't know if somebody else is not using parts of it. - * Remove security driver metadata so that they are not leaked. */ - qemuBlockRemoveImageMetadata(driver, vm, disk->dst, disk->mirror); - - g_clear_pointer(&disk->mirror, virObjectUnref); - } - disk->mirrorState = VIR_DOMAIN_DISK_MIRROR_STATE_NONE; - disk->mirrorJob = VIR_DOMAIN_BLOCK_JOB_TYPE_UNKNOWN; - qemuBlockJobUnregister(job, vm); - break; - - case VIR_DOMAIN_BLOCK_JOB_LAST: - break; - } -} - - static void qemuBlockJobEventProcessConcludedRemoveChain(virQEMUDriver *driver, virDomainObj *vm, @@ -1750,10 +1619,7 @@ qemuBlockJobUpdate(virDomainObj *vm, if (job->newstate == -1) return; - if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV)) - qemuBlockJobEventProcess(priv->driver, vm, job, asyncJob); - else - qemuBlockJobEventProcessLegacy(priv->driver, vm, job, asyncJob); + qemuBlockJobEventProcess(priv->driver, vm, job, asyncJob); } -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:09PM +0200, Peter Krempa wrote:
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_blockjob.c | 136 +-------------------------------------- 1 file changed, 1 insertion(+), 135 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

Previous patches removed the job submission for the handler so now even the handler itself can be removed. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_domain.c | 1 - src/qemu/qemu_domain.h | 1 - src/qemu/qemu_driver.c | 45 ------------------------------------------ 3 files changed, 47 deletions(-) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index d45c5d30a9..7403b2584b 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -11126,7 +11126,6 @@ qemuProcessEventFree(struct qemuProcessEvent *event) case QEMU_PROCESS_EVENT_DEVICE_DELETED: case QEMU_PROCESS_EVENT_NIC_RX_FILTER_CHANGED: case QEMU_PROCESS_EVENT_SERIAL_CHANGED: - case QEMU_PROCESS_EVENT_BLOCK_JOB: case QEMU_PROCESS_EVENT_MONITOR_EOF: case QEMU_PROCESS_EVENT_GUEST_CRASHLOADED: g_free(event->data); diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h index 4680df1098..66188ed003 100644 --- a/src/qemu/qemu_domain.h +++ b/src/qemu/qemu_domain.h @@ -418,7 +418,6 @@ typedef enum { QEMU_PROCESS_EVENT_DEVICE_DELETED, QEMU_PROCESS_EVENT_NIC_RX_FILTER_CHANGED, QEMU_PROCESS_EVENT_SERIAL_CHANGED, - QEMU_PROCESS_EVENT_BLOCK_JOB, QEMU_PROCESS_EVENT_JOB_STATUS_CHANGE, QEMU_PROCESS_EVENT_MONITOR_EOF, QEMU_PROCESS_EVENT_PR_DISCONNECT, diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index d5a3181c0d..1e7f17b750 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -4031,45 +4031,6 @@ processSerialChangedEvent(virQEMUDriver *driver, } -static void -processBlockJobEvent(virQEMUDriver *driver, - virDomainObj *vm, - const char *diskAlias, - int type, - int status) -{ - virDomainDiskDef *disk; - g_autoptr(qemuBlockJobData) job = NULL; - - if (qemuDomainObjBeginJob(driver, vm, VIR_JOB_MODIFY) < 0) - return; - - if (!virDomainObjIsActive(vm)) { - VIR_DEBUG("Domain is not running"); - goto endjob; - } - - if (!(disk = qemuProcessFindDomainDiskByAliasOrQOM(vm, diskAlias, NULL))) { - VIR_DEBUG("disk %s not found", diskAlias); - goto endjob; - } - - if (!(job = qemuBlockJobDiskGetJob(disk))) { - VIR_DEBUG("creating new block job object for '%s'", diskAlias); - if (!(job = qemuBlockJobDiskNew(vm, disk, type, diskAlias))) - goto endjob; - job->state = QEMU_BLOCKJOB_STATE_RUNNING; - } - - job->newstate = status; - - qemuBlockJobUpdate(vm, job, VIR_ASYNC_JOB_NONE); - - endjob: - qemuDomainObjEndJob(vm); -} - - static void processJobStatusChangeEvent(virQEMUDriver *driver, virDomainObj *vm, @@ -4279,12 +4240,6 @@ static void qemuProcessEventHandler(void *data, void *opaque) processSerialChangedEvent(driver, vm, processEvent->data, processEvent->action); break; - case QEMU_PROCESS_EVENT_BLOCK_JOB: - processBlockJobEvent(driver, vm, - processEvent->data, - processEvent->action, - processEvent->status); - break; case QEMU_PROCESS_EVENT_JOB_STATUS_CHANGE: processJobStatusChangeEvent(driver, vm, processEvent->data); break; -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:10PM +0200, Peter Krempa wrote:
Previous patches removed the job submission for the handler so now even the handler itself can be removed.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_domain.c | 1 - src/qemu/qemu_domain.h | 1 - src/qemu/qemu_driver.c | 45 ------------------------------------------ 3 files changed, 47 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

We no longer need it as we use the more modern job events. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_monitor.c | 14 ------ src/qemu/qemu_monitor.h | 12 ----- src/qemu/qemu_monitor_json.c | 90 ------------------------------------ 3 files changed, 116 deletions(-) diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c index b575eaae06..a58aa5622f 100644 --- a/src/qemu/qemu_monitor.c +++ b/src/qemu/qemu_monitor.c @@ -1255,20 +1255,6 @@ qemuMonitorEmitPMSuspendDisk(qemuMonitor *mon) } -void -qemuMonitorEmitBlockJob(qemuMonitor *mon, - const char *diskAlias, - int type, - int status, - const char *error) -{ - VIR_DEBUG("mon=%p", mon); - - QEMU_MONITOR_CALLBACK(mon, domainBlockJob, mon->vm, - diskAlias, type, status, error); -} - - void qemuMonitorEmitJobStatusChange(qemuMonitor *mon, const char *jobname, diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index 916a86f423..0e3640c1da 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -222,12 +222,6 @@ typedef void (*qemuMonitorDomainGraphicsCallback)(qemuMonitor *mon, const char *authScheme, const char *x509dname, const char *saslUsername); -typedef void (*qemuMonitorDomainBlockJobCallback)(qemuMonitor *mon, - virDomainObj *vm, - const char *diskAlias, - int type, - int status, - const char *error); typedef void (*qemuMonitorDomainJobStatusChangeCallback)(qemuMonitor *mon, virDomainObj *vm, const char *jobname, @@ -381,7 +375,6 @@ struct _qemuMonitorCallbacks { qemuMonitorDomainWatchdogCallback domainWatchdog; qemuMonitorDomainIOErrorCallback domainIOError; qemuMonitorDomainGraphicsCallback domainGraphics; - qemuMonitorDomainBlockJobCallback domainBlockJob; qemuMonitorDomainJobStatusChangeCallback jobStatusChange; qemuMonitorDomainTrayChangeCallback domainTrayChange; qemuMonitorDomainPMWakeupCallback domainPMWakeup; @@ -476,11 +469,6 @@ void qemuMonitorEmitTrayChange(qemuMonitor *mon, int reason); void qemuMonitorEmitPMWakeup(qemuMonitor *mon); void qemuMonitorEmitPMSuspend(qemuMonitor *mon); -void qemuMonitorEmitBlockJob(qemuMonitor *mon, - const char *diskAlias, - int type, - int status, - const char *error); void qemuMonitorEmitJobStatusChange(qemuMonitor *mon, const char *jobname, qemuMonitorJobStatus status); diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index 8cda6f36b7..4584786872 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -65,9 +65,6 @@ static void qemuMonitorJSONHandleSPICEDisconnect(qemuMonitor *mon, virJSONValue static void qemuMonitorJSONHandleTrayChange(qemuMonitor *mon, virJSONValue *data); static void qemuMonitorJSONHandlePMWakeup(qemuMonitor *mon, virJSONValue *data); static void qemuMonitorJSONHandlePMSuspend(qemuMonitor *mon, virJSONValue *data); -static void qemuMonitorJSONHandleBlockJobCompleted(qemuMonitor *mon, virJSONValue *data); -static void qemuMonitorJSONHandleBlockJobCanceled(qemuMonitor *mon, virJSONValue *data); -static void qemuMonitorJSONHandleBlockJobReady(qemuMonitor *mon, virJSONValue *data); static void qemuMonitorJSONHandleJobStatusChange(qemuMonitor *mon, virJSONValue *data); static void qemuMonitorJSONHandleBalloonChange(qemuMonitor *mon, virJSONValue *data); static void qemuMonitorJSONHandlePMSuspendDisk(qemuMonitor *mon, virJSONValue *data); @@ -97,9 +94,6 @@ static qemuEventHandler eventHandlers[] = { { "ACPI_DEVICE_OST", qemuMonitorJSONHandleAcpiOstInfo, }, { "BALLOON_CHANGE", qemuMonitorJSONHandleBalloonChange, }, { "BLOCK_IO_ERROR", qemuMonitorJSONHandleIOError, }, - { "BLOCK_JOB_CANCELLED", qemuMonitorJSONHandleBlockJobCanceled, }, - { "BLOCK_JOB_COMPLETED", qemuMonitorJSONHandleBlockJobCompleted, }, - { "BLOCK_JOB_READY", qemuMonitorJSONHandleBlockJobReady, }, { "BLOCK_WRITE_THRESHOLD", qemuMonitorJSONHandleBlockThreshold, }, { "DEVICE_DELETED", qemuMonitorJSONHandleDeviceDeleted, }, { "DEVICE_TRAY_MOVED", qemuMonitorJSONHandleTrayChange, }, @@ -895,67 +889,6 @@ static void qemuMonitorJSONHandleSPICEDisconnect(qemuMonitor *mon, virJSONValue qemuMonitorJSONHandleGraphicsSPICE(mon, data, VIR_DOMAIN_EVENT_GRAPHICS_DISCONNECT); } -static void -qemuMonitorJSONHandleBlockJobImpl(qemuMonitor *mon, - virJSONValue *data, - int event) -{ - const char *device; - const char *type_str; - const char *error = NULL; - int type = VIR_DOMAIN_BLOCK_JOB_TYPE_UNKNOWN; - unsigned long long offset, len; - - if ((device = virJSONValueObjectGetString(data, "device")) == NULL) { - VIR_WARN("missing device in block job event"); - goto out; - } - - if (virJSONValueObjectGetNumberUlong(data, "offset", &offset) < 0) { - VIR_WARN("missing offset in block job event"); - goto out; - } - - if (virJSONValueObjectGetNumberUlong(data, "len", &len) < 0) { - VIR_WARN("missing len in block job event"); - goto out; - } - - if ((type_str = virJSONValueObjectGetString(data, "type")) == NULL) { - VIR_WARN("missing type in block job event"); - goto out; - } - - if (STREQ(type_str, "stream")) - type = VIR_DOMAIN_BLOCK_JOB_TYPE_PULL; - else if (STREQ(type_str, "commit")) - type = VIR_DOMAIN_BLOCK_JOB_TYPE_COMMIT; - else if (STREQ(type_str, "mirror")) - type = VIR_DOMAIN_BLOCK_JOB_TYPE_COPY; - else if (STREQ(type_str, "backup")) - type = VIR_DOMAIN_BLOCK_JOB_TYPE_BACKUP; - - switch ((virConnectDomainEventBlockJobStatus) event) { - case VIR_DOMAIN_BLOCK_JOB_COMPLETED: - error = virJSONValueObjectGetString(data, "error"); - /* Make sure the whole device has been processed */ - if (offset != len || error) - event = VIR_DOMAIN_BLOCK_JOB_FAILED; - break; - case VIR_DOMAIN_BLOCK_JOB_CANCELED: - case VIR_DOMAIN_BLOCK_JOB_READY: - break; - case VIR_DOMAIN_BLOCK_JOB_FAILED: - case VIR_DOMAIN_BLOCK_JOB_LAST: - VIR_DEBUG("should not get here"); - break; - } - - out: - qemuMonitorEmitBlockJob(mon, device, type, event, error); -} - - static void qemuMonitorJSONHandleJobStatusChange(qemuMonitor *mon, virJSONValue *data) @@ -1024,29 +957,6 @@ qemuMonitorJSONHandlePMSuspend(qemuMonitor *mon, qemuMonitorEmitPMSuspend(mon); } -static void -qemuMonitorJSONHandleBlockJobCompleted(qemuMonitor *mon, - virJSONValue *data) -{ - qemuMonitorJSONHandleBlockJobImpl(mon, data, - VIR_DOMAIN_BLOCK_JOB_COMPLETED); -} - -static void -qemuMonitorJSONHandleBlockJobCanceled(qemuMonitor *mon, - virJSONValue *data) -{ - qemuMonitorJSONHandleBlockJobImpl(mon, data, - VIR_DOMAIN_BLOCK_JOB_CANCELED); -} - -static void -qemuMonitorJSONHandleBlockJobReady(qemuMonitor *mon, - virJSONValue *data) -{ - qemuMonitorJSONHandleBlockJobImpl(mon, data, - VIR_DOMAIN_BLOCK_JOB_READY); -} static void qemuMonitorJSONHandleBalloonChange(qemuMonitor *mon, -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:11PM +0200, Peter Krempa wrote:
We no longer need it as we use the more modern job events.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_monitor.c | 14 ------ src/qemu/qemu_monitor.h | 12 ----- src/qemu/qemu_monitor_json.c | 90 ------------------------------------ 3 files changed, 116 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_driver.c | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 1e7f17b750..e7b0acd46f 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -19809,18 +19809,6 @@ qemuDomainSetBlockThreshold(virDomainPtr dom, goto endjob; } - if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV) && - !src->nodestorage && - qemuBlockNodeNamesDetect(driver, vm, VIR_ASYNC_JOB_NONE) < 0) - goto endjob; - - if (!src->nodestorage) { - virReportError(VIR_ERR_OPERATION_UNSUPPORTED, - _("threshold currently can't be set for block device '%s'"), - dev); - goto endjob; - } - nodename = g_strdup(src->nodestorage); qemuDomainObjEnterMonitor(driver, vm); -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:12PM +0200, Peter Krempa wrote:
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_driver.c | 12 ------------ 1 file changed, 12 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

With blockdev we are generating the nodenames ourselves so all of this infrastructrure became obsolete. Remove it. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_block.c | 274 ------- src/qemu/qemu_block.h | 9 - ...monitorjson-nodename-basic-blockstats.json | 166 ----- ...onitorjson-nodename-basic-named-nodes.json | 268 ------- .../qemumonitorjson-nodename-basic.result | 16 - ...itorjson-nodename-blockjob-blockstats.json | 301 -------- ...torjson-nodename-blockjob-named-nodes.json | 682 ------------------ .../qemumonitorjson-nodename-blockjob.result | 26 - ...monitorjson-nodename-empty-blockstats.json | 2 - ...onitorjson-nodename-empty-named-nodes.json | 2 - .../qemumonitorjson-nodename-empty.result | 0 ...nitorjson-nodename-gluster-blockstats.json | 111 --- ...itorjson-nodename-gluster-named-nodes.json | 135 ---- .../qemumonitorjson-nodename-gluster.result | 11 - ...monitorjson-nodename-iscsi-blockstats.json | 113 --- ...onitorjson-nodename-iscsi-named-nodes.json | 114 --- .../qemumonitorjson-nodename-iscsi.result | 13 - ...umonitorjson-nodename-luks-blockstats.json | 58 -- ...monitorjson-nodename-luks-named-nodes.json | 109 --- .../qemumonitorjson-nodename-luks.result | 6 - ...mumonitorjson-nodename-old-blockstats.json | 160 ---- ...umonitorjson-nodename-old-named-nodes.json | 2 - .../qemumonitorjson-nodename-old.result | 0 ...itorjson-nodename-relative-blockstats.json | 329 --------- ...torjson-nodename-relative-named-nodes.json | 554 -------------- .../qemumonitorjson-nodename-relative.result | 33 - ...json-nodename-same-backing-blockstats.json | 221 ------ ...son-nodename-same-backing-named-nodes.json | 316 -------- ...mumonitorjson-nodename-same-backing.result | 23 - tests/qemumonitorjsontest.c | 92 --- 30 files changed, 4146 deletions(-) delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-basic-blockstats.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-basic-named-nodes.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-basic.result delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-blockjob-blockstats.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-blockjob-named-nodes.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-blockjob.result delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-empty-blockstats.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-empty-named-nodes.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-empty.result delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-gluster-blockstats.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-gluster-named-nodes.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-gluster.result delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-iscsi-blockstats.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-iscsi-named-nodes.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-iscsi.result delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-luks-blockstats.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-luks-named-nodes.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-luks.result delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-old-blockstats.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-old-named-nodes.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-old.result delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-relative-blockstats.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-relative-named-nodes.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-relative.result delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-same-backing-blockstats.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-same-backing-named-nodes.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-same-backing.result diff --git a/src/qemu/qemu_block.c b/src/qemu/qemu_block.c index 141bf1b3e7..ea0b783bbb 100644 --- a/src/qemu/qemu_block.c +++ b/src/qemu/qemu_block.c @@ -70,280 +70,6 @@ qemuBlockNamedNodesArrayToHash(size_t pos G_GNUC_UNUSED, } -static void -qemuBlockNodeNameBackingChainDataFree(qemuBlockNodeNameBackingChainData *data) -{ - if (!data) - return; - - g_free(data->nodeformat); - g_free(data->nodestorage); - - g_free(data->qemufilename); - - g_free(data->drvformat); - g_free(data->drvstorage); - - qemuBlockNodeNameBackingChainDataFree(data->backing); - - g_free(data); -} - -G_DEFINE_AUTOPTR_CLEANUP_FUNC(qemuBlockNodeNameBackingChainData, - qemuBlockNodeNameBackingChainDataFree); - - -static void -qemuBlockNodeNameBackingChainDataHashEntryFree(void *opaque) -{ - qemuBlockNodeNameBackingChainDataFree(opaque); -} - - -/* list of driver names of layers that qemu automatically adds into the - * backing chain */ -static const char *qemuBlockDriversBlockjob[] = { - "mirror_top", "commit_top", NULL }; - -static bool -qemuBlockDriverMatch(const char *drvname, - const char **drivers) -{ - while (*drivers) { - if (STREQ(drvname, *drivers)) - return true; - - drivers++; - } - - return false; -} - - -struct qemuBlockNodeNameGetBackingChainData { - GHashTable *nodenamestable; - GHashTable *disks; -}; - - -static int -qemuBlockNodeNameGetBackingChainBacking(virJSONValue *next, - GHashTable *nodenamestable, - qemuBlockNodeNameBackingChainData **nodenamedata) -{ - g_autoptr(qemuBlockNodeNameBackingChainData) data = NULL; - qemuBlockNodeNameBackingChainData *backingdata = NULL; - virJSONValue *backing = virJSONValueObjectGetObject(next, "backing"); - virJSONValue *parent = virJSONValueObjectGetObject(next, "parent"); - virJSONValue *parentnodedata; - virJSONValue *nodedata; - const char *nodename = virJSONValueObjectGetString(next, "node-name"); - const char *drvname = NULL; - const char *drvparent = NULL; - const char *parentnodename = NULL; - const char *filename = NULL; - - if (!nodename) - return 0; - - if ((nodedata = virHashLookup(nodenamestable, nodename)) && - (drvname = virJSONValueObjectGetString(nodedata, "drv"))) { - - /* qemu 2.9 reports layers in the backing chain which don't correspond - * to files. skip them */ - if (qemuBlockDriverMatch(drvname, qemuBlockDriversBlockjob)) { - if (backing) { - return qemuBlockNodeNameGetBackingChainBacking(backing, - nodenamestable, - nodenamedata); - } else { - return 0; - } - } - } - - if (parent && - (parentnodename = virJSONValueObjectGetString(parent, "node-name"))) { - if ((parentnodedata = virHashLookup(nodenamestable, parentnodename))) { - filename = virJSONValueObjectGetString(parentnodedata, "file"); - drvparent = virJSONValueObjectGetString(parentnodedata, "drv"); - } - } - - data = g_new0(qemuBlockNodeNameBackingChainData, 1); - - data->nodeformat = g_strdup(nodename); - data->nodestorage = g_strdup(parentnodename); - data->qemufilename = g_strdup(filename); - data->drvformat = g_strdup(drvname); - data->drvstorage = g_strdup(drvparent); - - if (backing && - qemuBlockNodeNameGetBackingChainBacking(backing, nodenamestable, - &backingdata) < 0) - return -1; - - data->backing = g_steal_pointer(&backingdata); - *nodenamedata = g_steal_pointer(&data); - - return 0; -} - - -static int -qemuBlockNodeNameGetBackingChainDisk(size_t pos G_GNUC_UNUSED, - virJSONValue *item, - void *opaque) -{ - struct qemuBlockNodeNameGetBackingChainData *data = opaque; - const char *device = virJSONValueObjectGetString(item, "device"); - g_autoptr(qemuBlockNodeNameBackingChainData) devicedata = NULL; - - if (qemuBlockNodeNameGetBackingChainBacking(item, data->nodenamestable, - &devicedata) < 0) - return -1; - - if (devicedata && - virHashAddEntry(data->disks, device, devicedata) < 0) - return -1; - - devicedata = NULL; - return 1; /* we don't really want to steal @item */ -} - - -/** - * qemuBlockNodeNameGetBackingChain: - * @namednodes: JSON array of data returned from 'query-named-block-nodes' - * @blockstats: JSON array of data returned from 'query-blockstats' - * - * Tries to reconstruct the backing chain from @json to allow detection of - * node names that were auto-assigned by qemu. This is a best-effort operation - * and may not be successful. The returned hash table contains the entries as - * qemuBlockNodeNameBackingChainData *accessible by the node name. The fields - * then can be used to recover the full backing chain. - * - * Returns a hash table on success and NULL on failure. - */ -GHashTable * -qemuBlockNodeNameGetBackingChain(virJSONValue *namednodes, - virJSONValue *blockstats) -{ - g_autoptr(GHashTable) namednodestable = virHashNew(virJSONValueHashFree); - g_autoptr(GHashTable) disks = virHashNew(qemuBlockNodeNameBackingChainDataHashEntryFree); - struct qemuBlockNodeNameGetBackingChainData data = { .nodenamestable = namednodestable, - .disks = disks }; - - if (virJSONValueArrayForeachSteal(namednodes, - qemuBlockNamedNodesArrayToHash, - namednodestable) < 0) - return NULL; - - if (virJSONValueArrayForeachSteal(blockstats, - qemuBlockNodeNameGetBackingChainDisk, - &data) < 0) - return NULL; - - return g_steal_pointer(&disks); -} - - -static void -qemuBlockDiskClearDetectedNodes(virDomainDiskDef *disk) -{ - virStorageSource *next = disk->src; - - while (virStorageSourceIsBacking(next)) { - VIR_FREE(next->nodeformat); - VIR_FREE(next->nodestorage); - - next = next->backingStore; - } -} - - -static int -qemuBlockDiskDetectNodes(virDomainDiskDef *disk, - GHashTable *disktable) -{ - qemuBlockNodeNameBackingChainData *entry = NULL; - virStorageSource *src = disk->src; - g_autofree char *alias = NULL; - - /* don't attempt the detection if the top level already has node names */ - if (src->nodeformat || src->nodestorage) - return 0; - - if (!(alias = qemuAliasDiskDriveFromDisk(disk))) - return -1; - - if (!(entry = virHashLookup(disktable, alias))) - return 0; - - while (virStorageSourceIsBacking(src) && entry) { - if (src->nodeformat || src->nodestorage) { - if (STRNEQ_NULLABLE(src->nodeformat, entry->nodeformat) || - STRNEQ_NULLABLE(src->nodestorage, entry->nodestorage)) - goto error; - - break; - } else { - src->nodeformat = g_strdup(entry->nodeformat); - src->nodestorage = g_strdup(entry->nodestorage); - } - - entry = entry->backing; - src = src->backingStore; - } - - return 0; - - error: - qemuBlockDiskClearDetectedNodes(disk); - return -1; -} - - -int -qemuBlockNodeNamesDetect(virQEMUDriver *driver, - virDomainObj *vm, - virDomainAsyncJob asyncJob) -{ - qemuDomainObjPrivate *priv = vm->privateData; - g_autoptr(GHashTable) disktable = NULL; - g_autoptr(virJSONValue) data = NULL; - g_autoptr(virJSONValue) blockstats = NULL; - virDomainDiskDef *disk; - size_t i; - - if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_QUERY_NAMED_BLOCK_NODES)) - return 0; - - if (qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) < 0) - return -1; - - data = qemuMonitorQueryNamedBlockNodes(qemuDomainGetMonitor(vm)); - blockstats = qemuMonitorQueryBlockstats(qemuDomainGetMonitor(vm)); - - qemuDomainObjExitMonitor(vm); - - if (!data || !blockstats) - return -1; - - if (!(disktable = qemuBlockNodeNameGetBackingChain(data, blockstats))) - return -1; - - for (i = 0; i < vm->def->ndisks; i++) { - disk = vm->def->disks[i]; - - if (qemuBlockDiskDetectNodes(disk, disktable) < 0) - return -1; - } - - return 0; -} - - /** * qemuBlockGetNodeData: * @data: JSON object returned from query-named-block-nodes diff --git a/src/qemu/qemu_block.h b/src/qemu/qemu_block.h index b22a541797..134ce41dd5 100644 --- a/src/qemu/qemu_block.h +++ b/src/qemu/qemu_block.h @@ -39,15 +39,6 @@ struct qemuBlockNodeNameBackingChainData { char *drvstorage; }; -GHashTable * -qemuBlockNodeNameGetBackingChain(virJSONValue *namednodesdata, - virJSONValue *blockstats); - -int -qemuBlockNodeNamesDetect(virQEMUDriver *driver, - virDomainObj *vm, - virDomainAsyncJob asyncJob); - GHashTable * qemuBlockGetNodeData(virJSONValue *data); diff --git a/tests/qemumonitorjsondata/qemumonitorjson-nodename-basic-blockstats.json b/tests/qemumonitorjsondata/qemumonitorjson-nodename-basic-blockstats.json deleted file mode 100644 index c3752b4cfe..0000000000 --- a/tests/qemumonitorjsondata/qemumonitorjson-nodename-basic-blockstats.json +++ /dev/null @@ -1,166 +0,0 @@ -[ - { - "device": "drive-virtio-disk0", - "parent": { - "stats": { - "flush_total_time_ns": 0, - "wr_highest_offset": 32899072, - "wr_total_time_ns": 0, - "failed_wr_operations": 0, - "failed_rd_operations": 0, - "wr_merged": 0, - "wr_bytes": 0, - "timed_stats": [ - - ], - "failed_flush_operations": 0, - "account_invalid": false, - "rd_total_time_ns": 0, - "flush_operations": 0, - "wr_operations": 0, - "rd_merged": 0, - "rd_bytes": 0, - "invalid_flush_operations": 0, - "account_failed": false, - "rd_operations": 0, - "invalid_wr_operations": 0, - "invalid_rd_operations": 0 - }, - "node-name": "#block033" - }, - "stats": { - "flush_total_time_ns": 452246313, - "wr_highest_offset": 8072282112, - "wr_total_time_ns": 4803102521, - "failed_wr_operations": 0, - "failed_rd_operations": 0, - "wr_merged": 8, - "wr_bytes": 6517248, - "timed_stats": [ - - ], - "failed_flush_operations": 0, - "account_invalid": true, - "rd_total_time_ns": 11065169148, - "flush_operations": 10, - "wr_operations": 129, - "rd_merged": 77, - "rd_bytes": 76399104, - "invalid_flush_operations": 0, - "account_failed": true, - "idle_time_ns": 22663656304, - "rd_operations": 4038, - "invalid_wr_operations": 0, - "invalid_rd_operations": 0 - }, - "backing": { - "parent": { - "stats": { - "flush_total_time_ns": 0, - "wr_highest_offset": 0, - "wr_total_time_ns": 0, - "failed_wr_operations": 0, - "failed_rd_operations": 0, - "wr_merged": 0, - "wr_bytes": 0, - "timed_stats": [ - - ], - "failed_flush_operations": 0, - "account_invalid": false, - "rd_total_time_ns": 0, - "flush_operations": 0, - "wr_operations": 0, - "rd_merged": 0, - "rd_bytes": 0, - "invalid_flush_operations": 0, - "account_failed": false, - "rd_operations": 0, - "invalid_wr_operations": 0, - "invalid_rd_operations": 0 - }, - "node-name": "#block220" - }, - "stats": { - "flush_total_time_ns": 0, - "wr_highest_offset": 0, - "wr_total_time_ns": 0, - "failed_wr_operations": 0, - "failed_rd_operations": 0, - "wr_merged": 0, - "wr_bytes": 0, - "timed_stats": [ - - ], - "failed_flush_operations": 0, - "account_invalid": false, - "rd_total_time_ns": 0, - "flush_operations": 0, - "wr_operations": 0, - "rd_merged": 0, - "rd_bytes": 0, - "invalid_flush_operations": 0, - "account_failed": false, - "rd_operations": 0, - "invalid_wr_operations": 0, - "invalid_rd_operations": 0 - }, - "backing": { - "parent": { - "stats": { - "flush_total_time_ns": 0, - "wr_highest_offset": 0, - "wr_total_time_ns": 0, - "failed_wr_operations": 0, - "failed_rd_operations": 0, - "wr_merged": 0, - "wr_bytes": 0, - "timed_stats": [ - - ], - "failed_flush_operations": 0, - "account_invalid": false, - "rd_total_time_ns": 0, - "flush_operations": 0, - "wr_operations": 0, - "rd_merged": 0, - "rd_bytes": 0, - "invalid_flush_operations": 0, - "account_failed": false, - "rd_operations": 0, - "invalid_wr_operations": 0, - "invalid_rd_operations": 0 - }, - "node-name": "#block481" - }, - "stats": { - "flush_total_time_ns": 0, - "wr_highest_offset": 0, - "wr_total_time_ns": 0, - "failed_wr_operations": 0, - "failed_rd_operations": 0, - "wr_merged": 0, - "wr_bytes": 0, - "timed_stats": [ - - ], - "failed_flush_operations": 0, - "account_invalid": false, - "rd_total_time_ns": 0, - "flush_operations": 0, - "wr_operations": 0, - "rd_merged": 0, - "rd_bytes": 0, - "invalid_flush_operations": 0, - "account_failed": false, - "rd_operations": 0, - "invalid_wr_operations": 0, - "invalid_rd_operations": 0 - }, - "node-name": "#block558" - }, - "node-name": "#block306" - }, - "node-name": "#block187" - } -] diff --git a/tests/qemumonitorjsondata/qemumonitorjson-nodename-basic-named-nodes.json b/tests/qemumonitorjsondata/qemumonitorjson-nodename-basic-named-nodes.json deleted file mode 100644 index ce8fdae70f..0000000000 --- a/tests/qemumonitorjsondata/qemumonitorjson-nodename-basic-named-nodes.json +++ /dev/null @@ -1,268 +0,0 @@ -[ - { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "virtual-size": 9663676416, - "filename": "/var/lib/libvirt/images/rhel7.3.qcow2", - "cluster-size": 65536, - "format": "qcow2", - "actual-size": 9665384448, - "format-specific": { - "type": "qcow2", - "data": { - "compat": "1.1", - "lazy-refcounts": true, - "refcount-bits": 16, - "corrupt": false - } - }, - "dirty-flag": false - }, - "iops_wr": 0, - "ro": true, - "node-name": "#block558", - "backing_file_depth": 0, - "drv": "qcow2", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, - "encrypted": false, - "bps": 0, - "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true - }, - "file": "/var/lib/libvirt/images/rhel7.3.qcow2", - "encryption_key_missing": false - }, - { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "virtual-size": 9665380352, - "filename": "/var/lib/libvirt/images/rhel7.3.qcow2", - "format": "file", - "actual-size": 9665384448, - "dirty-flag": false - }, - "iops_wr": 0, - "ro": true, - "node-name": "#block481", - "backing_file_depth": 0, - "drv": "file", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, - "encrypted": false, - "bps": 0, - "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true - }, - "file": "/var/lib/libvirt/images/rhel7.3.qcow2", - "encryption_key_missing": false - }, - { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "backing-image": { - "virtual-size": 9663676416, - "filename": "/var/lib/libvirt/images/rhel7.3.qcow2", - "cluster-size": 65536, - "format": "qcow2", - "actual-size": 9665384448, - "format-specific": { - "type": "qcow2", - "data": { - "compat": "1.1", - "lazy-refcounts": true, - "refcount-bits": 16, - "corrupt": false - } - }, - "dirty-flag": false - }, - "backing-filename-format": "qcow2", - "virtual-size": 9663676416, - "filename": "/var/lib/libvirt/images/rhel7.3.1483536402", - "cluster-size": 65536, - "format": "qcow2", - "actual-size": 200704, - "format-specific": { - "type": "qcow2", - "data": { - "compat": "1.1", - "lazy-refcounts": false, - "refcount-bits": 16, - "corrupt": false - } - }, - "full-backing-filename": "/var/lib/libvirt/images/rhel7.3.qcow2", - "backing-filename": "/var/lib/libvirt/images/rhel7.3.qcow2", - "dirty-flag": false - }, - "iops_wr": 0, - "ro": true, - "node-name": "#block306", - "backing_file_depth": 1, - "drv": "qcow2", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, - "backing_file": "/var/lib/libvirt/images/rhel7.3.qcow2", - "encrypted": false, - "bps": 0, - "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true - }, - "file": "/var/lib/libvirt/images/rhel7.3.1483536402", - "encryption_key_missing": false - }, - { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "virtual-size": 197120, - "filename": "/var/lib/libvirt/images/rhel7.3.1483536402", - "format": "file", - "actual-size": 200704, - "dirty-flag": false - }, - "iops_wr": 0, - "ro": true, - "node-name": "#block220", - "backing_file_depth": 0, - "drv": "file", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, - "encrypted": false, - "bps": 0, - "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true - }, - "file": "/var/lib/libvirt/images/rhel7.3.1483536402", - "encryption_key_missing": false - }, - { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "backing-image": { - "backing-image": { - "virtual-size": 9663676416, - "filename": "/var/lib/libvirt/images/rhel7.3.qcow2", - "cluster-size": 65536, - "format": "qcow2", - "actual-size": 9665384448, - "format-specific": { - "type": "qcow2", - "data": { - "compat": "1.1", - "lazy-refcounts": true, - "refcount-bits": 16, - "corrupt": false - } - }, - "dirty-flag": false - }, - "backing-filename-format": "qcow2", - "virtual-size": 9663676416, - "filename": "/var/lib/libvirt/images/rhel7.3.1483536402", - "cluster-size": 65536, - "format": "qcow2", - "actual-size": 200704, - "format-specific": { - "type": "qcow2", - "data": { - "compat": "1.1", - "lazy-refcounts": false, - "refcount-bits": 16, - "corrupt": false - } - }, - "full-backing-filename": "/var/lib/libvirt/images/rhel7.3.qcow2", - "backing-filename": "/var/lib/libvirt/images/rhel7.3.qcow2", - "dirty-flag": false - }, - "backing-filename-format": "qcow2", - "virtual-size": 9663676416, - "filename": "/var/lib/libvirt/images/rhel7.3.1483545313", - "cluster-size": 65536, - "format": "qcow2", - "actual-size": 33165312, - "format-specific": { - "type": "qcow2", - "data": { - "compat": "1.1", - "lazy-refcounts": false, - "refcount-bits": 16, - "corrupt": false - } - }, - "full-backing-filename": "/var/lib/libvirt/images/rhel7.3.1483536402", - "backing-filename": "/var/lib/libvirt/images/rhel7.3.1483536402", - "dirty-flag": false - }, - "iops_wr": 0, - "ro": false, - "node-name": "#block187", - "backing_file_depth": 2, - "drv": "qcow2", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, - "backing_file": "/var/lib/libvirt/images/rhel7.3.1483536402", - "encrypted": false, - "bps": 0, - "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true - }, - "file": "/var/lib/libvirt/images/rhel7.3.1483545313", - "encryption_key_missing": false - }, - { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "virtual-size": 33226752, - "filename": "/var/lib/libvirt/images/rhel7.3.1483545313", - "format": "file", - "actual-size": 33165312, - "dirty-flag": false - }, - "iops_wr": 0, - "ro": false, - "node-name": "#block033", - "backing_file_depth": 0, - "drv": "file", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, - "encrypted": false, - "bps": 0, - "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true - }, - "file": "/var/lib/libvirt/images/rhel7.3.1483545313", - "encryption_key_missing": false - } -] diff --git a/tests/qemumonitorjsondata/qemumonitorjson-nodename-basic.result b/tests/qemumonitorjsondata/qemumonitorjson-nodename-basic.result deleted file mode 100644 index ad8b9b46ed..0000000000 --- a/tests/qemumonitorjsondata/qemumonitorjson-nodename-basic.result +++ /dev/null @@ -1,16 +0,0 @@ -drive-virtio-disk0 -filename : '/var/lib/libvirt/images/rhel7.3.1483545313' -format node : '#block187' -format drv : 'qcow2' -storage node: '#block033' -storage drv : 'file' - filename : '/var/lib/libvirt/images/rhel7.3.1483536402' - format node : '#block306' - format drv : 'qcow2' - storage node: '#block220' - storage drv : 'file' - filename : '/var/lib/libvirt/images/rhel7.3.qcow2' - format node : '#block558' - format drv : 'qcow2' - storage node: '#block481' - storage drv : 'file' diff --git a/tests/qemumonitorjsondata/qemumonitorjson-nodename-blockjob-blockstats.json b/tests/qemumonitorjsondata/qemumonitorjson-nodename-blockjob-blockstats.json deleted file mode 100644 index 51cd664c20..0000000000 --- a/tests/qemumonitorjsondata/qemumonitorjson-nodename-blockjob-blockstats.json +++ /dev/null @@ -1,301 +0,0 @@ -[ - { - "device": "drive-ide0-0-0", - "stats": { - "flush_total_time_ns": 0, - "wr_highest_offset": 0, - "wr_total_time_ns": 0, - "failed_wr_operations": 0, - "failed_rd_operations": 0, - "wr_merged": 0, - "wr_bytes": 0, - "timed_stats": [ - - ], - "failed_flush_operations": 0, - "account_invalid": true, - "rd_total_time_ns": 99763, - "flush_operations": 0, - "wr_operations": 0, - "rd_merged": 0, - "rd_bytes": 512, - "invalid_flush_operations": 0, - "account_failed": true, - "idle_time_ns": 1142142388760097, - "rd_operations": 1, - "invalid_wr_operations": 0, - "invalid_rd_operations": 0 - }, - "backing": { - "parent": { - "stats": { - "flush_total_time_ns": 0, - "wr_highest_offset": 0, - "wr_total_time_ns": 0, - "failed_wr_operations": 0, - "failed_rd_operations": 0, - "wr_merged": 0, - "wr_bytes": 0, - "timed_stats": [ - - ], - "failed_flush_operations": 0, - "account_invalid": false, - "rd_total_time_ns": 0, - "flush_operations": 0, - "wr_operations": 0, - "rd_merged": 0, - "rd_bytes": 0, - "invalid_flush_operations": 0, - "account_failed": false, - "rd_operations": 0, - "invalid_wr_operations": 0, - "invalid_rd_operations": 0 - }, - "node-name": "#block042" - }, - "stats": { - "flush_total_time_ns": 0, - "wr_highest_offset": 0, - "wr_total_time_ns": 0, - "failed_wr_operations": 0, - "failed_rd_operations": 0, - "wr_merged": 0, - "wr_bytes": 0, - "timed_stats": [ - - ], - "failed_flush_operations": 0, - "account_invalid": false, - "rd_total_time_ns": 0, - "flush_operations": 0, - "wr_operations": 0, - "rd_merged": 0, - "rd_bytes": 0, - "invalid_flush_operations": 0, - "account_failed": false, - "rd_operations": 0, - "invalid_wr_operations": 0, - "invalid_rd_operations": 0 - }, - "backing": { - "parent": { - "stats": { - "flush_total_time_ns": 0, - "wr_highest_offset": 0, - "wr_total_time_ns": 0, - "failed_wr_operations": 0, - "failed_rd_operations": 0, - "wr_merged": 0, - "wr_bytes": 0, - "timed_stats": [ - - ], - "failed_flush_operations": 0, - "account_invalid": false, - "rd_total_time_ns": 0, - "flush_operations": 0, - "wr_operations": 0, - "rd_merged": 0, - "rd_bytes": 0, - "invalid_flush_operations": 0, - "account_failed": false, - "rd_operations": 0, - "invalid_wr_operations": 0, - "invalid_rd_operations": 0 - }, - "node-name": "#block259" - }, - "stats": { - "flush_total_time_ns": 0, - "wr_highest_offset": 0, - "wr_total_time_ns": 0, - "failed_wr_operations": 0, - "failed_rd_operations": 0, - "wr_merged": 0, - "wr_bytes": 0, - "timed_stats": [ - - ], - "failed_flush_operations": 0, - "account_invalid": false, - "rd_total_time_ns": 0, - "flush_operations": 0, - "wr_operations": 0, - "rd_merged": 0, - "rd_bytes": 0, - "invalid_flush_operations": 0, - "account_failed": false, - "rd_operations": 0, - "invalid_wr_operations": 0, - "invalid_rd_operations": 0 - }, - "backing": { - "parent": { - "stats": { - "flush_total_time_ns": 0, - "wr_highest_offset": 0, - "wr_total_time_ns": 0, - "failed_wr_operations": 0, - "failed_rd_operations": 0, - "wr_merged": 0, - "wr_bytes": 0, - "timed_stats": [ - - ], - "failed_flush_operations": 0, - "account_invalid": false, - "rd_total_time_ns": 0, - "flush_operations": 0, - "wr_operations": 0, - "rd_merged": 0, - "rd_bytes": 0, - "invalid_flush_operations": 0, - "account_failed": false, - "rd_operations": 0, - "invalid_wr_operations": 0, - "invalid_rd_operations": 0 - }, - "node-name": "#block449" - }, - "stats": { - "flush_total_time_ns": 0, - "wr_highest_offset": 0, - "wr_total_time_ns": 0, - "failed_wr_operations": 0, - "failed_rd_operations": 0, - "wr_merged": 0, - "wr_bytes": 0, - "timed_stats": [ - - ], - "failed_flush_operations": 0, - "account_invalid": false, - "rd_total_time_ns": 0, - "flush_operations": 0, - "wr_operations": 0, - "rd_merged": 0, - "rd_bytes": 0, - "invalid_flush_operations": 0, - "account_failed": false, - "rd_operations": 0, - "invalid_wr_operations": 0, - "invalid_rd_operations": 0 - }, - "backing": { - "parent": { - "stats": { - "flush_total_time_ns": 0, - "wr_highest_offset": 0, - "wr_total_time_ns": 0, - "failed_wr_operations": 0, - "failed_rd_operations": 0, - "wr_merged": 0, - "wr_bytes": 0, - "timed_stats": [ - - ], - "failed_flush_operations": 0, - "account_invalid": false, - "rd_total_time_ns": 0, - "flush_operations": 0, - "wr_operations": 0, - "rd_merged": 0, - "rd_bytes": 0, - "invalid_flush_operations": 0, - "account_failed": false, - "rd_operations": 0, - "invalid_wr_operations": 0, - "invalid_rd_operations": 0 - }, - "node-name": "#block618" - }, - "stats": { - "flush_total_time_ns": 0, - "wr_highest_offset": 0, - "wr_total_time_ns": 0, - "failed_wr_operations": 0, - "failed_rd_operations": 0, - "wr_merged": 0, - "wr_bytes": 0, - "timed_stats": [ - - ], - "failed_flush_operations": 0, - "account_invalid": false, - "rd_total_time_ns": 0, - "flush_operations": 0, - "wr_operations": 0, - "rd_merged": 0, - "rd_bytes": 0, - "invalid_flush_operations": 0, - "account_failed": false, - "rd_operations": 0, - "invalid_wr_operations": 0, - "invalid_rd_operations": 0 - }, - "backing": { - "parent": { - "stats": { - "flush_total_time_ns": 0, - "wr_highest_offset": 0, - "wr_total_time_ns": 0, - "failed_wr_operations": 0, - "failed_rd_operations": 0, - "wr_merged": 0, - "wr_bytes": 0, - "timed_stats": [ - - ], - "failed_flush_operations": 0, - "account_invalid": false, - "rd_total_time_ns": 0, - "flush_operations": 0, - "wr_operations": 0, - "rd_merged": 0, - "rd_bytes": 0, - "invalid_flush_operations": 0, - "account_failed": false, - "rd_operations": 0, - "invalid_wr_operations": 0, - "invalid_rd_operations": 0 - }, - "node-name": "#block846" - }, - "stats": { - "flush_total_time_ns": 0, - "wr_highest_offset": 0, - "wr_total_time_ns": 0, - "failed_wr_operations": 0, - "failed_rd_operations": 0, - "wr_merged": 0, - "wr_bytes": 0, - "timed_stats": [ - - ], - "failed_flush_operations": 0, - "account_invalid": false, - "rd_total_time_ns": 0, - "flush_operations": 0, - "wr_operations": 0, - "rd_merged": 0, - "rd_bytes": 0, - "invalid_flush_operations": 0, - "account_failed": false, - "rd_operations": 0, - "invalid_wr_operations": 0, - "invalid_rd_operations": 0 - }, - "node-name": "#block901" - }, - "node-name": "#block717" - }, - "node-name": "#block551" - }, - "node-name": "#block312" - }, - "node-name": "#block179" - }, - "node-name": "#block3343" - } -] diff --git a/tests/qemumonitorjsondata/qemumonitorjson-nodename-blockjob-named-nodes.json b/tests/qemumonitorjsondata/qemumonitorjson-nodename-blockjob-named-nodes.json deleted file mode 100644 index 3cebb23a94..0000000000 --- a/tests/qemumonitorjsondata/qemumonitorjson-nodename-blockjob-named-nodes.json +++ /dev/null @@ -1,682 +0,0 @@ -[ - { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "backing-image": { - "backing-image": { - "backing-image": { - "backing-image": { - "backing-image": { - "virtual-size": 10485760, - "filename": "/var/lib/libvirt/images/a", - "format": "raw", - "actual-size": 0, - "dirty-flag": false - }, - "backing-filename-format": "raw", - "virtual-size": 10485760, - "filename": "/var/lib/libvirt/images/c", - "cluster-size": 65536, - "format": "qcow2", - "actual-size": 200704, - "format-specific": { - "type": "qcow2", - "data": { - "compat": "1.1", - "lazy-refcounts": false, - "refcount-bits": 16, - "corrupt": false - } - }, - "full-backing-filename": "/var/lib/libvirt/images/a", - "backing-filename": "/var/lib/libvirt/images/a", - "dirty-flag": false - }, - "backing-filename-format": "qcow2", - "virtual-size": 10485760, - "filename": "/var/lib/libvirt/images/d", - "cluster-size": 65536, - "format": "qcow2", - "actual-size": 200704, - "format-specific": { - "type": "qcow2", - "data": { - "compat": "1.1", - "lazy-refcounts": false, - "refcount-bits": 16, - "corrupt": false - } - }, - "full-backing-filename": "/var/lib/libvirt/images/c", - "backing-filename": "/var/lib/libvirt/images/c", - "dirty-flag": false - }, - "backing-filename-format": "qcow2", - "virtual-size": 10485760, - "filename": "/var/lib/libvirt/images/d.1499152668", - "cluster-size": 65536, - "format": "qcow2", - "actual-size": 200704, - "format-specific": { - "type": "qcow2", - "data": { - "compat": "1.1", - "lazy-refcounts": false, - "refcount-bits": 16, - "corrupt": false - } - }, - "full-backing-filename": "/var/lib/libvirt/images/d", - "backing-filename": "/var/lib/libvirt/images/d", - "dirty-flag": false - }, - "backing-filename-format": "qcow2", - "virtual-size": 10485760, - "filename": "/var/lib/libvirt/images/d.1499152698", - "cluster-size": 65536, - "format": "qcow2", - "actual-size": 200704, - "format-specific": { - "type": "qcow2", - "data": { - "compat": "1.1", - "lazy-refcounts": false, - "refcount-bits": 16, - "corrupt": false - } - }, - "full-backing-filename": "/var/lib/libvirt/images/d.1499152668", - "backing-filename": "/var/lib/libvirt/images/d.1499152668", - "dirty-flag": false - }, - "backing-filename-format": "qcow2", - "virtual-size": 10485760, - "filename": "/var/lib/libvirt/images/d.1499152698", - "format": "mirror_top", - "full-backing-filename": "/var/lib/libvirt/images/d.1499152698", - "backing-filename": "/var/lib/libvirt/images/d.1499152698" - }, - "iops_wr": 0, - "ro": false, - "node-name": "#block3343", - "backing_file_depth": 5, - "drv": "mirror_top", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, - "backing_file": "/var/lib/libvirt/images/d.1499152698", - "encrypted": false, - "bps": 0, - "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true - }, - "file": "/var/lib/libvirt/images/d.1499152698", - "encryption_key_missing": false - }, - { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "virtual-size": 10485760, - "filename": "/tmp/kkt", - "cluster-size": 65536, - "format": "qcow2", - "actual-size": 266240, - "format-specific": { - "type": "qcow2", - "data": { - "compat": "1.1", - "lazy-refcounts": false, - "refcount-bits": 16, - "corrupt": false - } - }, - "dirty-flag": false - }, - "iops_wr": 0, - "ro": false, - "node-name": "#block3243", - "backing_file_depth": 0, - "drv": "qcow2", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, - "encrypted": false, - "bps": 0, - "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true - }, - "file": "/tmp/kkt", - "encryption_key_missing": false - }, - { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "virtual-size": 327680, - "filename": "/tmp/kkt", - "format": "file", - "actual-size": 266240, - "dirty-flag": false - }, - "iops_wr": 0, - "ro": false, - "node-name": "#block3144", - "backing_file_depth": 0, - "drv": "file", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, - "encrypted": false, - "bps": 0, - "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true - }, - "file": "/tmp/kkt", - "encryption_key_missing": false - }, - { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "virtual-size": 10485760, - "filename": "/var/lib/libvirt/images/a", - "format": "raw", - "actual-size": 0, - "dirty-flag": false - }, - "iops_wr": 0, - "ro": true, - "node-name": "#block901", - "backing_file_depth": 0, - "drv": "raw", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, - "encrypted": false, - "bps": 0, - "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true - }, - "file": "/var/lib/libvirt/images/a", - "encryption_key_missing": false - }, - { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "virtual-size": 10485760, - "filename": "/var/lib/libvirt/images/a", - "format": "file", - "actual-size": 0, - "dirty-flag": false - }, - "iops_wr": 0, - "ro": true, - "node-name": "#block846", - "backing_file_depth": 0, - "drv": "file", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, - "encrypted": false, - "bps": 0, - "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true - }, - "file": "/var/lib/libvirt/images/a", - "encryption_key_missing": false - }, - { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "backing-image": { - "virtual-size": 10485760, - "filename": "/var/lib/libvirt/images/a", - "format": "raw", - "actual-size": 0, - "dirty-flag": false - }, - "backing-filename-format": "raw", - "virtual-size": 10485760, - "filename": "/var/lib/libvirt/images/c", - "cluster-size": 65536, - "format": "qcow2", - "actual-size": 200704, - "format-specific": { - "type": "qcow2", - "data": { - "compat": "1.1", - "lazy-refcounts": false, - "refcount-bits": 16, - "corrupt": false - } - }, - "full-backing-filename": "/var/lib/libvirt/images/a", - "backing-filename": "/var/lib/libvirt/images/a", - "dirty-flag": false - }, - "iops_wr": 0, - "ro": true, - "node-name": "#block717", - "backing_file_depth": 1, - "drv": "qcow2", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, - "backing_file": "/var/lib/libvirt/images/a", - "encrypted": false, - "bps": 0, - "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true - }, - "file": "/var/lib/libvirt/images/c", - "encryption_key_missing": false - }, - { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "virtual-size": 197120, - "filename": "/var/lib/libvirt/images/c", - "format": "file", - "actual-size": 200704, - "dirty-flag": false - }, - "iops_wr": 0, - "ro": true, - "node-name": "#block618", - "backing_file_depth": 0, - "drv": "file", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, - "encrypted": false, - "bps": 0, - "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true - }, - "file": "/var/lib/libvirt/images/c", - "encryption_key_missing": false - }, - { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "backing-image": { - "backing-image": { - "virtual-size": 10485760, - "filename": "/var/lib/libvirt/images/a", - "format": "raw", - "actual-size": 0, - "dirty-flag": false - }, - "backing-filename-format": "raw", - "virtual-size": 10485760, - "filename": "/var/lib/libvirt/images/c", - "cluster-size": 65536, - "format": "qcow2", - "actual-size": 200704, - "format-specific": { - "type": "qcow2", - "data": { - "compat": "1.1", - "lazy-refcounts": false, - "refcount-bits": 16, - "corrupt": false - } - }, - "full-backing-filename": "/var/lib/libvirt/images/a", - "backing-filename": "/var/lib/libvirt/images/a", - "dirty-flag": false - }, - "backing-filename-format": "qcow2", - "virtual-size": 10485760, - "filename": "/var/lib/libvirt/images/d", - "cluster-size": 65536, - "format": "qcow2", - "actual-size": 200704, - "format-specific": { - "type": "qcow2", - "data": { - "compat": "1.1", - "lazy-refcounts": false, - "refcount-bits": 16, - "corrupt": false - } - }, - "full-backing-filename": "/var/lib/libvirt/images/c", - "backing-filename": "/var/lib/libvirt/images/c", - "dirty-flag": false - }, - "iops_wr": 0, - "ro": true, - "node-name": "#block551", - "backing_file_depth": 2, - "drv": "qcow2", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, - "backing_file": "/var/lib/libvirt/images/c", - "encrypted": false, - "bps": 0, - "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true - }, - "file": "/var/lib/libvirt/images/d", - "encryption_key_missing": false - }, - { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "virtual-size": 197120, - "filename": "/var/lib/libvirt/images/d", - "format": "file", - "actual-size": 200704, - "dirty-flag": false - }, - "iops_wr": 0, - "ro": true, - "node-name": "#block449", - "backing_file_depth": 0, - "drv": "file", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, - "encrypted": false, - "bps": 0, - "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true - }, - "file": "/var/lib/libvirt/images/d", - "encryption_key_missing": false - }, - { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "backing-image": { - "backing-image": { - "backing-image": { - "virtual-size": 10485760, - "filename": "/var/lib/libvirt/images/a", - "format": "raw", - "actual-size": 0, - "dirty-flag": false - }, - "backing-filename-format": "raw", - "virtual-size": 10485760, - "filename": "/var/lib/libvirt/images/c", - "cluster-size": 65536, - "format": "qcow2", - "actual-size": 200704, - "format-specific": { - "type": "qcow2", - "data": { - "compat": "1.1", - "lazy-refcounts": false, - "refcount-bits": 16, - "corrupt": false - } - }, - "full-backing-filename": "/var/lib/libvirt/images/a", - "backing-filename": "/var/lib/libvirt/images/a", - "dirty-flag": false - }, - "backing-filename-format": "qcow2", - "virtual-size": 10485760, - "filename": "/var/lib/libvirt/images/d", - "cluster-size": 65536, - "format": "qcow2", - "actual-size": 200704, - "format-specific": { - "type": "qcow2", - "data": { - "compat": "1.1", - "lazy-refcounts": false, - "refcount-bits": 16, - "corrupt": false - } - }, - "full-backing-filename": "/var/lib/libvirt/images/c", - "backing-filename": "/var/lib/libvirt/images/c", - "dirty-flag": false - }, - "backing-filename-format": "qcow2", - "virtual-size": 10485760, - "filename": "/var/lib/libvirt/images/d.1499152668", - "cluster-size": 65536, - "format": "qcow2", - "actual-size": 200704, - "format-specific": { - "type": "qcow2", - "data": { - "compat": "1.1", - "lazy-refcounts": false, - "refcount-bits": 16, - "corrupt": false - } - }, - "full-backing-filename": "/var/lib/libvirt/images/d", - "backing-filename": "/var/lib/libvirt/images/d", - "dirty-flag": false - }, - "iops_wr": 0, - "ro": true, - "node-name": "#block312", - "backing_file_depth": 3, - "drv": "qcow2", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, - "backing_file": "/var/lib/libvirt/images/d", - "encrypted": false, - "bps": 0, - "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true - }, - "file": "/var/lib/libvirt/images/d.1499152668", - "encryption_key_missing": false - }, - { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "virtual-size": 197120, - "filename": "/var/lib/libvirt/images/d.1499152668", - "format": "file", - "actual-size": 200704, - "dirty-flag": false - }, - "iops_wr": 0, - "ro": true, - "node-name": "#block259", - "backing_file_depth": 0, - "drv": "file", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, - "encrypted": false, - "bps": 0, - "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true - }, - "file": "/var/lib/libvirt/images/d.1499152668", - "encryption_key_missing": false - }, - { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "backing-image": { - "backing-image": { - "backing-image": { - "backing-image": { - "virtual-size": 10485760, - "filename": "/var/lib/libvirt/images/a", - "format": "raw", - "actual-size": 0, - "dirty-flag": false - }, - "backing-filename-format": "raw", - "virtual-size": 10485760, - "filename": "/var/lib/libvirt/images/c", - "cluster-size": 65536, - "format": "qcow2", - "actual-size": 200704, - "format-specific": { - "type": "qcow2", - "data": { - "compat": "1.1", - "lazy-refcounts": false, - "refcount-bits": 16, - "corrupt": false - } - }, - "full-backing-filename": "/var/lib/libvirt/images/a", - "backing-filename": "/var/lib/libvirt/images/a", - "dirty-flag": false - }, - "backing-filename-format": "qcow2", - "virtual-size": 10485760, - "filename": "/var/lib/libvirt/images/d", - "cluster-size": 65536, - "format": "qcow2", - "actual-size": 200704, - "format-specific": { - "type": "qcow2", - "data": { - "compat": "1.1", - "lazy-refcounts": false, - "refcount-bits": 16, - "corrupt": false - } - }, - "full-backing-filename": "/var/lib/libvirt/images/c", - "backing-filename": "/var/lib/libvirt/images/c", - "dirty-flag": false - }, - "backing-filename-format": "qcow2", - "virtual-size": 10485760, - "filename": "/var/lib/libvirt/images/d.1499152668", - "cluster-size": 65536, - "format": "qcow2", - "actual-size": 200704, - "format-specific": { - "type": "qcow2", - "data": { - "compat": "1.1", - "lazy-refcounts": false, - "refcount-bits": 16, - "corrupt": false - } - }, - "full-backing-filename": "/var/lib/libvirt/images/d", - "backing-filename": "/var/lib/libvirt/images/d", - "dirty-flag": false - }, - "backing-filename-format": "qcow2", - "virtual-size": 10485760, - "filename": "/var/lib/libvirt/images/d.1499152698", - "cluster-size": 65536, - "format": "qcow2", - "actual-size": 200704, - "format-specific": { - "type": "qcow2", - "data": { - "compat": "1.1", - "lazy-refcounts": false, - "refcount-bits": 16, - "corrupt": false - } - }, - "full-backing-filename": "/var/lib/libvirt/images/d.1499152668", - "backing-filename": "/var/lib/libvirt/images/d.1499152668", - "dirty-flag": false - }, - "iops_wr": 0, - "ro": false, - "node-name": "#block179", - "backing_file_depth": 4, - "drv": "qcow2", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, - "backing_file": "/var/lib/libvirt/images/d.1499152668", - "encrypted": false, - "bps": 0, - "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true - }, - "file": "/var/lib/libvirt/images/d.1499152698", - "encryption_key_missing": false - }, - { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "virtual-size": 197120, - "filename": "/var/lib/libvirt/images/d.1499152698", - "format": "file", - "actual-size": 200704, - "dirty-flag": false - }, - "iops_wr": 0, - "ro": false, - "node-name": "#block042", - "backing_file_depth": 0, - "drv": "file", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, - "encrypted": false, - "bps": 0, - "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true - }, - "file": "/var/lib/libvirt/images/d.1499152698", - "encryption_key_missing": false - } -] diff --git a/tests/qemumonitorjsondata/qemumonitorjson-nodename-blockjob.result b/tests/qemumonitorjsondata/qemumonitorjson-nodename-blockjob.result deleted file mode 100644 index 4abe6f9347..0000000000 --- a/tests/qemumonitorjsondata/qemumonitorjson-nodename-blockjob.result +++ /dev/null @@ -1,26 +0,0 @@ -drive-ide0-0-0 -filename : '/var/lib/libvirt/images/d.1499152698' -format node : '#block179' -format drv : 'qcow2' -storage node: '#block042' -storage drv : 'file' - filename : '/var/lib/libvirt/images/d.1499152668' - format node : '#block312' - format drv : 'qcow2' - storage node: '#block259' - storage drv : 'file' - filename : '/var/lib/libvirt/images/d' - format node : '#block551' - format drv : 'qcow2' - storage node: '#block449' - storage drv : 'file' - filename : '/var/lib/libvirt/images/c' - format node : '#block717' - format drv : 'qcow2' - storage node: '#block618' - storage drv : 'file' - filename : '/var/lib/libvirt/images/a' - format node : '#block901' - format drv : 'raw' - storage node: '#block846' - storage drv : 'file' diff --git a/tests/qemumonitorjsondata/qemumonitorjson-nodename-empty-blockstats.json b/tests/qemumonitorjsondata/qemumonitorjson-nodename-empty-blockstats.json deleted file mode 100644 index 0d4f101c7a..0000000000 --- a/tests/qemumonitorjsondata/qemumonitorjson-nodename-empty-blockstats.json +++ /dev/null @@ -1,2 +0,0 @@ -[ -] diff --git a/tests/qemumonitorjsondata/qemumonitorjson-nodename-empty-named-nodes.json b/tests/qemumonitorjsondata/qemumonitorjson-nodename-empty-named-nodes.json deleted file mode 100644 index 0d4f101c7a..0000000000 --- a/tests/qemumonitorjsondata/qemumonitorjson-nodename-empty-named-nodes.json +++ /dev/null @@ -1,2 +0,0 @@ -[ -] diff --git a/tests/qemumonitorjsondata/qemumonitorjson-nodename-empty.result b/tests/qemumonitorjsondata/qemumonitorjson-nodename-empty.result deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/tests/qemumonitorjsondata/qemumonitorjson-nodename-gluster-blockstats.json b/tests/qemumonitorjsondata/qemumonitorjson-nodename-gluster-blockstats.json deleted file mode 100644 index 665a6b05bf..0000000000 --- a/tests/qemumonitorjsondata/qemumonitorjson-nodename-gluster-blockstats.json +++ /dev/null @@ -1,111 +0,0 @@ -[ - { - "device": "drive-virtio-disk0", - "parent": { - "stats": { - "flush_total_time_ns": 0, - "wr_highest_offset": 0, - "wr_total_time_ns": 0, - "failed_wr_operations": 0, - "failed_rd_operations": 0, - "wr_merged": 0, - "wr_bytes": 0, - "timed_stats": [ - - ], - "failed_flush_operations": 0, - "account_invalid": false, - "rd_total_time_ns": 0, - "flush_operations": 0, - "wr_operations": 0, - "rd_merged": 0, - "rd_bytes": 0, - "invalid_flush_operations": 0, - "account_failed": false, - "rd_operations": 0, - "invalid_wr_operations": 0, - "invalid_rd_operations": 0 - }, - "node-name": "#block282" - }, - "stats": { - "flush_total_time_ns": 0, - "wr_highest_offset": 0, - "wr_total_time_ns": 0, - "failed_wr_operations": 0, - "failed_rd_operations": 0, - "wr_merged": 0, - "wr_bytes": 0, - "timed_stats": [ - - ], - "failed_flush_operations": 0, - "account_invalid": true, - "rd_total_time_ns": 0, - "flush_operations": 0, - "wr_operations": 0, - "rd_merged": 0, - "rd_bytes": 0, - "invalid_flush_operations": 0, - "account_failed": true, - "rd_operations": 0, - "invalid_wr_operations": 0, - "invalid_rd_operations": 0 - }, - "backing": { - "parent": { - "stats": { - "flush_total_time_ns": 0, - "wr_highest_offset": 0, - "wr_total_time_ns": 0, - "failed_wr_operations": 0, - "failed_rd_operations": 0, - "wr_merged": 0, - "wr_bytes": 0, - "timed_stats": [ - - ], - "failed_flush_operations": 0, - "account_invalid": false, - "rd_total_time_ns": 0, - "flush_operations": 0, - "wr_operations": 0, - "rd_merged": 0, - "rd_bytes": 0, - "invalid_flush_operations": 0, - "account_failed": false, - "rd_operations": 0, - "invalid_wr_operations": 0, - "invalid_rd_operations": 0 - }, - "node-name": "#block477" - }, - "stats": { - "flush_total_time_ns": 0, - "wr_highest_offset": 0, - "wr_total_time_ns": 0, - "failed_wr_operations": 0, - "failed_rd_operations": 0, - "wr_merged": 0, - "wr_bytes": 0, - "timed_stats": [ - - ], - "failed_flush_operations": 0, - "account_invalid": false, - "rd_total_time_ns": 0, - "flush_operations": 0, - "wr_operations": 0, - "rd_merged": 0, - "rd_bytes": 0, - "invalid_flush_operations": 0, - "account_failed": false, - "rd_operations": 0, - "invalid_wr_operations": 0, - "invalid_rd_operations": 0 - }, - "node-name": "#block596" - }, - "node-name": "#block338" - } - ] diff --git a/tests/qemumonitorjsondata/qemumonitorjson-nodename-gluster-named-nodes.json b/tests/qemumonitorjsondata/qemumonitorjson-nodename-gluster-named-nodes.json deleted file mode 100644 index e6bd2cfa72..0000000000 --- a/tests/qemumonitorjsondata/qemumonitorjson-nodename-gluster-named-nodes.json +++ /dev/null @@ -1,135 +0,0 @@ -[ - { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "virtual-size": 197120, - "filename": "gluster://gluster-host/vol0/img0", - "format": "raw", - "actual-size": 197120 - }, - "iops_wr": 0, - "ro": true, - "node-name": "#block596", - "backing_file_depth": 0, - "drv": "raw", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, - "encrypted": false, - "bps": 0, - "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": true, - "writeback": true - }, - "file": "gluster://gluster-host/vol0/img0", - "encryption_key_missing": false - }, - { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "virtual-size": 197120, - "filename": "gluster://gluster-host/vol0/img0", - "format": "gluster", - "actual-size": 197120 - }, - "iops_wr": 0, - "ro": true, - "node-name": "#block477", - "backing_file_depth": 0, - "drv": "gluster", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, - "encrypted": false, - "bps": 0, - "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": true, - "writeback": true - }, - "file": "gluster://gluster-host/vol0/img0", - "encryption_key_missing": false - }, - { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "backing-image": { - "virtual-size": 197120, - "filename": "gluster://gluster-host/vol0/img0", - "format": "raw", - "actual-size": 197120 - }, - "backing-filename-format": "raw", - "virtual-size": 197120, - "filename": "gluster://gluster-host:24007/vol0/img1", - "cluster-size": 65536, - "format": "qcow2", - "actual-size": 197120, - "format-specific": { - "type": "qcow2", - "data": { - "compat": "1.1", - "lazy-refcounts": false, - "refcount-bits": 16, - "corrupt": false - } - }, - "full-backing-filename": "gluster://gluster-host/vol0/img0", - "backing-filename": "gluster://gluster-host/vol0/img0", - "dirty-flag": false - }, - "iops_wr": 0, - "ro": false, - "node-name": "#block338", - "backing_file_depth": 1, - "drv": "qcow2", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, - "backing_file": "gluster://gluster-host/vol0/img0", - "encrypted": false, - "bps": 0, - "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": true, - "writeback": true - }, - "file": "gluster://gluster-host:24007/vol0/img1", - "encryption_key_missing": false - }, - { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "virtual-size": 197120, - "filename": "gluster://gluster-host:24007/vol0/img1", - "format": "gluster", - "actual-size": 197120 - }, - "iops_wr": 0, - "ro": false, - "node-name": "#block282", - "backing_file_depth": 0, - "drv": "gluster", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, - "encrypted": false, - "bps": 0, - "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": true, - "writeback": true - }, - "file": "gluster://gluster-host:24007/vol0/img1", - "encryption_key_missing": false - } - ] diff --git a/tests/qemumonitorjsondata/qemumonitorjson-nodename-gluster.result b/tests/qemumonitorjsondata/qemumonitorjson-nodename-gluster.result deleted file mode 100644 index 6289fdd1ad..0000000000 --- a/tests/qemumonitorjsondata/qemumonitorjson-nodename-gluster.result +++ /dev/null @@ -1,11 +0,0 @@ -drive-virtio-disk0 -filename : 'gluster://gluster-host:24007/vol0/img1' -format node : '#block338' -format drv : 'qcow2' -storage node: '#block282' -storage drv : 'gluster' - filename : 'gluster://gluster-host/vol0/img0' - format node : '#block596' - format drv : 'raw' - storage node: '#block477' - storage drv : 'gluster' diff --git a/tests/qemumonitorjsondata/qemumonitorjson-nodename-iscsi-blockstats.json b/tests/qemumonitorjsondata/qemumonitorjson-nodename-iscsi-blockstats.json deleted file mode 100644 index b13386ecbb..0000000000 --- a/tests/qemumonitorjsondata/qemumonitorjson-nodename-iscsi-blockstats.json +++ /dev/null @@ -1,113 +0,0 @@ -[ - { - "device": "drive-virtio-disk0", - "parent": { - "stats": { - "flush_total_time_ns": 0, - "wr_highest_offset": 0, - "wr_total_time_ns": 0, - "failed_wr_operations": 0, - "failed_rd_operations": 0, - "wr_merged": 0, - "wr_bytes": 0, - "timed_stats": [ - - ], - "failed_flush_operations": 0, - "account_invalid": false, - "rd_total_time_ns": 0, - "flush_operations": 0, - "wr_operations": 0, - "rd_merged": 0, - "rd_bytes": 0, - "invalid_flush_operations": 0, - "account_failed": false, - "rd_operations": 0, - "invalid_wr_operations": 0, - "invalid_rd_operations": 0 - }, - "node-name": "#block038" - }, - "stats": { - "flush_total_time_ns": 0, - "wr_highest_offset": 0, - "wr_total_time_ns": 0, - "failed_wr_operations": 0, - "failed_rd_operations": 0, - "wr_merged": 0, - "wr_bytes": 0, - "timed_stats": [ - - ], - "failed_flush_operations": 0, - "account_invalid": true, - "rd_total_time_ns": 995504, - "flush_operations": 0, - "wr_operations": 0, - "rd_merged": 0, - "rd_bytes": 512, - "invalid_flush_operations": 0, - "account_failed": true, - "idle_time_ns": 117550038551, - "rd_operations": 1, - "invalid_wr_operations": 0, - "invalid_rd_operations": 0 - }, - "node-name": "#block169" - }, - { - "device": "drive-scsi0-0-1", - "parent": { - "stats": { - "flush_total_time_ns": 0, - "wr_highest_offset": 0, - "wr_total_time_ns": 0, - "failed_wr_operations": 0, - "failed_rd_operations": 0, - "wr_merged": 0, - "wr_bytes": 0, - "timed_stats": [ - - ], - "failed_flush_operations": 0, - "account_invalid": false, - "rd_total_time_ns": 0, - "flush_operations": 0, - "wr_operations": 0, - "rd_merged": 0, - "rd_bytes": 0, - "invalid_flush_operations": 0, - "account_failed": false, - "rd_operations": 0, - "invalid_wr_operations": 0, - "invalid_rd_operations": 0 - }, - "node-name": "#block250" - }, - "stats": { - "flush_total_time_ns": 0, - "wr_highest_offset": 0, - "wr_total_time_ns": 0, - "failed_wr_operations": 0, - "failed_rd_operations": 0, - "wr_merged": 0, - "wr_bytes": 0, - "timed_stats": [ - - ], - "failed_flush_operations": 0, - "account_invalid": true, - "rd_total_time_ns": 0, - "flush_operations": 0, - "wr_operations": 0, - "rd_merged": 0, - "rd_bytes": 0, - "invalid_flush_operations": 0, - "account_failed": true, - "rd_operations": 0, - "invalid_wr_operations": 0, - "invalid_rd_operations": 0 - }, - "node-name": "#block301" - } -] diff --git a/tests/qemumonitorjsondata/qemumonitorjson-nodename-iscsi-named-nodes.json b/tests/qemumonitorjsondata/qemumonitorjson-nodename-iscsi-named-nodes.json deleted file mode 100644 index 6a04e62c0c..0000000000 --- a/tests/qemumonitorjsondata/qemumonitorjson-nodename-iscsi-named-nodes.json +++ /dev/null @@ -1,114 +0,0 @@ -[ - { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "virtual-size": 1073741824, - "filename": "json:{\"driver\": \"raw\", \"file\": {\"lun\": \"0\", \"portal\": \"example.com:3260\", \"driver\": \"iscsi\", \"transport\": \"tcp\", \"target\": \"iqn.2016-09.com.example:server\"}}", - "format": "raw", - "dirty-flag": false - }, - "iops_wr": 0, - "ro": false, - "node-name": "#block301", - "backing_file_depth": 0, - "drv": "raw", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, - "encrypted": false, - "bps": 0, - "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true - }, - "file": "json:{\"driver\": \"raw\", \"file\": {\"lun\": \"0\", \"portal\": \"example.com:3260\", \"driver\": \"iscsi\", \"transport\": \"tcp\", \"target\": \"iqn.2016-09.com.example:server\"}}", - "encryption_key_missing": false - }, - { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "virtual-size": 1073741824, - "filename": "json:{\"lun\": \"0\", \"portal\": \"example.com:3260\", \"driver\": \"iscsi\", \"transport\": \"tcp\", \"target\": \"iqn.2016-09.com.example:server\"}", - "format": "iscsi", - "dirty-flag": false - }, - "iops_wr": 0, - "ro": false, - "node-name": "#block250", - "backing_file_depth": 0, - "drv": "iscsi", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, - "encrypted": false, - "bps": 0, - "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true - }, - "file": "json:{\"lun\": \"0\", \"portal\": \"example.com:3260\", \"driver\": \"iscsi\", \"transport\": \"tcp\", \"target\": \"iqn.2016-09.com.example:server\"}", - "encryption_key_missing": false - }, - { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "virtual-size": 1073741824, - "filename": "json:{\"driver\": \"raw\", \"file\": {\"lun\": \"0\", \"portal\": \"example.com:3260\", \"driver\": \"iscsi\", \"transport\": \"tcp\", \"target\": \"iqn.2016-09.com.example:server\"}}", - "format": "raw", - "dirty-flag": false - }, - "iops_wr": 0, - "ro": false, - "node-name": "#block169", - "backing_file_depth": 0, - "drv": "raw", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, - "encrypted": false, - "bps": 0, - "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true - }, - "file": "json:{\"driver\": \"raw\", \"file\": {\"lun\": \"0\", \"portal\": \"example.com:3260\", \"driver\": \"iscsi\", \"transport\": \"tcp\", \"target\": \"iqn.2016-09.com.example:server\"}}", - "encryption_key_missing": false - }, - { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "virtual-size": 1073741824, - "filename": "json:{\"lun\": \"0\", \"portal\": \"example.com:3260\", \"driver\": \"iscsi\", \"transport\": \"tcp\", \"target\": \"iqn.2016-09.com.example:server\"}", - "format": "iscsi", - "dirty-flag": false - }, - "iops_wr": 0, - "ro": false, - "node-name": "#block038", - "backing_file_depth": 0, - "drv": "iscsi", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, - "encrypted": false, - "bps": 0, - "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true - }, - "file": "json:{\"lun\": \"0\", \"portal\": \"example.com:3260\", \"driver\": \"iscsi\", \"transport\": \"tcp\", \"target\": \"iqn.2016-09.com.example:server\"}", - "encryption_key_missing": false - } -] diff --git a/tests/qemumonitorjsondata/qemumonitorjson-nodename-iscsi.result b/tests/qemumonitorjsondata/qemumonitorjson-nodename-iscsi.result deleted file mode 100644 index 3ffe553404..0000000000 --- a/tests/qemumonitorjsondata/qemumonitorjson-nodename-iscsi.result +++ /dev/null @@ -1,13 +0,0 @@ -drive-scsi0-0-1 -filename : 'json:{"lun": "0", "portal": "example.com:3260", "driver": "iscsi", "transport": "tcp", "target": "iqn.2016-09.com.example:server"}' -format node : '#block301' -format drv : 'raw' -storage node: '#block250' -storage drv : 'iscsi' - -drive-virtio-disk0 -filename : 'json:{"lun": "0", "portal": "example.com:3260", "driver": "iscsi", "transport": "tcp", "target": "iqn.2016-09.com.example:server"}' -format node : '#block169' -format drv : 'raw' -storage node: '#block038' -storage drv : 'iscsi' diff --git a/tests/qemumonitorjsondata/qemumonitorjson-nodename-luks-blockstats.json b/tests/qemumonitorjsondata/qemumonitorjson-nodename-luks-blockstats.json deleted file mode 100644 index 6f971b2afc..0000000000 --- a/tests/qemumonitorjsondata/qemumonitorjson-nodename-luks-blockstats.json +++ /dev/null @@ -1,58 +0,0 @@ -[ - { - "device": "drive-virtio-disk0", - "parent": { - "stats": { - "flush_total_time_ns": 0, - "wr_highest_offset": 0, - "wr_total_time_ns": 0, - "failed_wr_operations": 0, - "failed_rd_operations": 0, - "wr_merged": 0, - "wr_bytes": 0, - "timed_stats": [ - - ], - "failed_flush_operations": 0, - "account_invalid": false, - "rd_total_time_ns": 0, - "flush_operations": 0, - "wr_operations": 0, - "rd_merged": 0, - "rd_bytes": 0, - "invalid_flush_operations": 0, - "account_failed": false, - "rd_operations": 0, - "invalid_wr_operations": 0, - "invalid_rd_operations": 0 - }, - "node-name": "#block033" - }, - "stats": { - "flush_total_time_ns": 0, - "wr_highest_offset": 0, - "wr_total_time_ns": 0, - "failed_wr_operations": 0, - "failed_rd_operations": 0, - "wr_merged": 0, - "wr_bytes": 0, - "timed_stats": [ - - ], - "failed_flush_operations": 0, - "account_invalid": true, - "rd_total_time_ns": 89560, - "flush_operations": 0, - "wr_operations": 0, - "rd_merged": 0, - "rd_bytes": 512, - "invalid_flush_operations": 0, - "account_failed": true, - "idle_time_ns": 323120536984, - "rd_operations": 1, - "invalid_wr_operations": 0, - "invalid_rd_operations": 0 - }, - "node-name": "#block136" - } -] diff --git a/tests/qemumonitorjsondata/qemumonitorjson-nodename-luks-named-nodes.json b/tests/qemumonitorjsondata/qemumonitorjson-nodename-luks-named-nodes.json deleted file mode 100644 index 8de6d6c6af..0000000000 --- a/tests/qemumonitorjsondata/qemumonitorjson-nodename-luks-named-nodes.json +++ /dev/null @@ -1,109 +0,0 @@ -[ - { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "virtual-size": 10485760, - "filename": "json:{\"driver\": \"luks\", \"file\": {\"driver\": \"file\", \"filename\": \"/var/lib/libvirt/images/luks\"}, \"key-secret\": \"virtio-disk0-luks-secret0\"}", - "format": "luks", - "actual-size": 262144, - "format-specific": { - "type": "luks", - "data": { - "ivgen-alg": "plain64", - "hash-alg": "sha256", - "cipher-alg": "aes-256", - "uuid": "687ef639-c687-40d3-a103-7b4bdaa6e74a", - "cipher-mode": "xts", - "slots": [ - { - "active": true, - "iters": 1886334, - "key-offset": 4096, - "stripes": 4000 - }, - { - "active": false, - "key-offset": 262144 - }, - { - "active": false, - "key-offset": 520192 - }, - { - "active": false, - "key-offset": 778240 - }, - { - "active": false, - "key-offset": 1036288 - }, - { - "active": false, - "key-offset": 1294336 - }, - { - "active": false, - "key-offset": 1552384 - }, - { - "active": false, - "key-offset": 1810432 - } - ], - "payload-offset": 2068480, - "master-key-iters": 484865 - } - }, - "encrypted": true, - "dirty-flag": false - }, - "iops_wr": 0, - "ro": false, - "node-name": "#block136", - "backing_file_depth": 0, - "drv": "luks", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, - "encrypted": true, - "bps": 0, - "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true - }, - "file": "json:{\"driver\": \"luks\", \"file\": {\"driver\": \"file\", \"filename\": \"/var/lib/libvirt/images/luks\"}, \"key-secret\": \"virtio-disk0-luks-secret0\"}", - "encryption_key_missing": false - }, - { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "virtual-size": 12554240, - "filename": "/var/lib/libvirt/images/luks", - "format": "file", - "actual-size": 262144, - "dirty-flag": false - }, - "iops_wr": 0, - "ro": false, - "node-name": "#block033", - "backing_file_depth": 0, - "drv": "file", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, - "encrypted": false, - "bps": 0, - "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true - }, - "file": "/var/lib/libvirt/images/luks", - "encryption_key_missing": false - } -] diff --git a/tests/qemumonitorjsondata/qemumonitorjson-nodename-luks.result b/tests/qemumonitorjsondata/qemumonitorjson-nodename-luks.result deleted file mode 100644 index 6a6b375190..0000000000 --- a/tests/qemumonitorjsondata/qemumonitorjson-nodename-luks.result +++ /dev/null @@ -1,6 +0,0 @@ -drive-virtio-disk0 -filename : '/var/lib/libvirt/images/luks' -format node : '#block136' -format drv : 'luks' -storage node: '#block033' -storage drv : 'file' diff --git a/tests/qemumonitorjsondata/qemumonitorjson-nodename-old-blockstats.json b/tests/qemumonitorjsondata/qemumonitorjson-nodename-old-blockstats.json deleted file mode 100644 index 26c14f9f26..0000000000 --- a/tests/qemumonitorjsondata/qemumonitorjson-nodename-old-blockstats.json +++ /dev/null @@ -1,160 +0,0 @@ -[ - { - "device": "drive-virtio-disk0", - "parent": { - "stats": { - "flush_total_time_ns": 0, - "wr_highest_offset": 32899072, - "wr_total_time_ns": 0, - "failed_wr_operations": 0, - "failed_rd_operations": 0, - "wr_merged": 0, - "wr_bytes": 0, - "timed_stats": [ - - ], - "failed_flush_operations": 0, - "account_invalid": false, - "rd_total_time_ns": 0, - "flush_operations": 0, - "wr_operations": 0, - "rd_merged": 0, - "rd_bytes": 0, - "invalid_flush_operations": 0, - "account_failed": false, - "rd_operations": 0, - "invalid_wr_operations": 0, - "invalid_rd_operations": 0 - } - }, - "stats": { - "flush_total_time_ns": 452246313, - "wr_highest_offset": 8072282112, - "wr_total_time_ns": 4803102521, - "failed_wr_operations": 0, - "failed_rd_operations": 0, - "wr_merged": 8, - "wr_bytes": 6517248, - "timed_stats": [ - - ], - "failed_flush_operations": 0, - "account_invalid": true, - "rd_total_time_ns": 11065169148, - "flush_operations": 10, - "wr_operations": 129, - "rd_merged": 77, - "rd_bytes": 76399104, - "invalid_flush_operations": 0, - "account_failed": true, - "idle_time_ns": 22663656304, - "rd_operations": 4038, - "invalid_wr_operations": 0, - "invalid_rd_operations": 0 - }, - "backing": { - "parent": { - "stats": { - "flush_total_time_ns": 0, - "wr_highest_offset": 0, - "wr_total_time_ns": 0, - "failed_wr_operations": 0, - "failed_rd_operations": 0, - "wr_merged": 0, - "wr_bytes": 0, - "timed_stats": [ - - ], - "failed_flush_operations": 0, - "account_invalid": false, - "rd_total_time_ns": 0, - "flush_operations": 0, - "wr_operations": 0, - "rd_merged": 0, - "rd_bytes": 0, - "invalid_flush_operations": 0, - "account_failed": false, - "rd_operations": 0, - "invalid_wr_operations": 0, - "invalid_rd_operations": 0 - } - }, - "stats": { - "flush_total_time_ns": 0, - "wr_highest_offset": 0, - "wr_total_time_ns": 0, - "failed_wr_operations": 0, - "failed_rd_operations": 0, - "wr_merged": 0, - "wr_bytes": 0, - "timed_stats": [ - - ], - "failed_flush_operations": 0, - "account_invalid": false, - "rd_total_time_ns": 0, - "flush_operations": 0, - "wr_operations": 0, - "rd_merged": 0, - "rd_bytes": 0, - "invalid_flush_operations": 0, - "account_failed": false, - "rd_operations": 0, - "invalid_wr_operations": 0, - "invalid_rd_operations": 0 - }, - "backing": { - "parent": { - "stats": { - "flush_total_time_ns": 0, - "wr_highest_offset": 0, - "wr_total_time_ns": 0, - "failed_wr_operations": 0, - "failed_rd_operations": 0, - "wr_merged": 0, - "wr_bytes": 0, - "timed_stats": [ - - ], - "failed_flush_operations": 0, - "account_invalid": false, - "rd_total_time_ns": 0, - "flush_operations": 0, - "wr_operations": 0, - "rd_merged": 0, - "rd_bytes": 0, - "invalid_flush_operations": 0, - "account_failed": false, - "rd_operations": 0, - "invalid_wr_operations": 0, - "invalid_rd_operations": 0 - } - }, - "stats": { - "flush_total_time_ns": 0, - "wr_highest_offset": 0, - "wr_total_time_ns": 0, - "failed_wr_operations": 0, - "failed_rd_operations": 0, - "wr_merged": 0, - "wr_bytes": 0, - "timed_stats": [ - - ], - "failed_flush_operations": 0, - "account_invalid": false, - "rd_total_time_ns": 0, - "flush_operations": 0, - "wr_operations": 0, - "rd_merged": 0, - "rd_bytes": 0, - "invalid_flush_operations": 0, - "account_failed": false, - "rd_operations": 0, - "invalid_wr_operations": 0, - "invalid_rd_operations": 0 - } - } - } - } -] diff --git a/tests/qemumonitorjsondata/qemumonitorjson-nodename-old-named-nodes.json b/tests/qemumonitorjsondata/qemumonitorjson-nodename-old-named-nodes.json deleted file mode 100644 index 0d4f101c7a..0000000000 --- a/tests/qemumonitorjsondata/qemumonitorjson-nodename-old-named-nodes.json +++ /dev/null @@ -1,2 +0,0 @@ -[ -] diff --git a/tests/qemumonitorjsondata/qemumonitorjson-nodename-old.result b/tests/qemumonitorjsondata/qemumonitorjson-nodename-old.result deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/tests/qemumonitorjsondata/qemumonitorjson-nodename-relative-blockstats.json b/tests/qemumonitorjsondata/qemumonitorjson-nodename-relative-blockstats.json deleted file mode 100644 index 9838ad1a7c..0000000000 --- a/tests/qemumonitorjsondata/qemumonitorjson-nodename-relative-blockstats.json +++ /dev/null @@ -1,329 +0,0 @@ -[ - { - "device": "drive-ide0-0-0", - "parent": { - "stats": { - "flush_total_time_ns": 0, - "wr_highest_offset": 0, - "wr_total_time_ns": 0, - "failed_wr_operations": 0, - "failed_rd_operations": 0, - "wr_merged": 0, - "wr_bytes": 0, - "timed_stats": [ - - ], - "failed_flush_operations": 0, - "account_invalid": false, - "rd_total_time_ns": 0, - "flush_operations": 0, - "wr_operations": 0, - "rd_merged": 0, - "rd_bytes": 0, - "invalid_flush_operations": 0, - "account_failed": false, - "rd_operations": 0, - "invalid_wr_operations": 0, - "invalid_rd_operations": 0 - }, - "node-name": "#block092" - }, - "stats": { - "flush_total_time_ns": 0, - "wr_highest_offset": 0, - "wr_total_time_ns": 0, - "failed_wr_operations": 0, - "failed_rd_operations": 0, - "wr_merged": 0, - "wr_bytes": 0, - "timed_stats": [ - - ], - "failed_flush_operations": 0, - "account_invalid": true, - "rd_total_time_ns": 61904, - "flush_operations": 0, - "wr_operations": 0, - "rd_merged": 0, - "rd_bytes": 512, - "invalid_flush_operations": 0, - "account_failed": true, - "idle_time_ns": 309814663943, - "rd_operations": 1, - "invalid_wr_operations": 0, - "invalid_rd_operations": 0 - }, - "backing": { - "parent": { - "stats": { - "flush_total_time_ns": 0, - "wr_highest_offset": 0, - "wr_total_time_ns": 0, - "failed_wr_operations": 0, - "failed_rd_operations": 0, - "wr_merged": 0, - "wr_bytes": 0, - "timed_stats": [ - - ], - "failed_flush_operations": 0, - "account_invalid": false, - "rd_total_time_ns": 0, - "flush_operations": 0, - "wr_operations": 0, - "rd_merged": 0, - "rd_bytes": 0, - "invalid_flush_operations": 0, - "account_failed": false, - "rd_operations": 0, - "invalid_wr_operations": 0, - "invalid_rd_operations": 0 - }, - "node-name": "#block232" - }, - "stats": { - "flush_total_time_ns": 0, - "wr_highest_offset": 0, - "wr_total_time_ns": 0, - "failed_wr_operations": 0, - "failed_rd_operations": 0, - "wr_merged": 0, - "wr_bytes": 0, - "timed_stats": [ - - ], - "failed_flush_operations": 0, - "account_invalid": false, - "rd_total_time_ns": 0, - "flush_operations": 0, - "wr_operations": 0, - "rd_merged": 0, - "rd_bytes": 0, - "invalid_flush_operations": 0, - "account_failed": false, - "rd_operations": 0, - "invalid_wr_operations": 0, - "invalid_rd_operations": 0 - }, - "backing": { - "parent": { - "stats": { - "flush_total_time_ns": 0, - "wr_highest_offset": 0, - "wr_total_time_ns": 0, - "failed_wr_operations": 0, - "failed_rd_operations": 0, - "wr_merged": 0, - "wr_bytes": 0, - "timed_stats": [ - - ], - "failed_flush_operations": 0, - "account_invalid": false, - "rd_total_time_ns": 0, - "flush_operations": 0, - "wr_operations": 0, - "rd_merged": 0, - "rd_bytes": 0, - "invalid_flush_operations": 0, - "account_failed": false, - "rd_operations": 0, - "invalid_wr_operations": 0, - "invalid_rd_operations": 0 - }, - "node-name": "#block442" - }, - "stats": { - "flush_total_time_ns": 0, - "wr_highest_offset": 0, - "wr_total_time_ns": 0, - "failed_wr_operations": 0, - "failed_rd_operations": 0, - "wr_merged": 0, - "wr_bytes": 0, - "timed_stats": [ - - ], - "failed_flush_operations": 0, - "account_invalid": false, - "rd_total_time_ns": 0, - "flush_operations": 0, - "wr_operations": 0, - "rd_merged": 0, - "rd_bytes": 0, - "invalid_flush_operations": 0, - "account_failed": false, - "rd_operations": 0, - "invalid_wr_operations": 0, - "invalid_rd_operations": 0 - }, - "backing": { - "parent": { - "stats": { - "flush_total_time_ns": 0, - "wr_highest_offset": 0, - "wr_total_time_ns": 0, - "failed_wr_operations": 0, - "failed_rd_operations": 0, - "wr_merged": 0, - "wr_bytes": 0, - "timed_stats": [ - - ], - "failed_flush_operations": 0, - "account_invalid": false, - "rd_total_time_ns": 0, - "flush_operations": 0, - "wr_operations": 0, - "rd_merged": 0, - "rd_bytes": 0, - "invalid_flush_operations": 0, - "account_failed": false, - "rd_operations": 0, - "invalid_wr_operations": 0, - "invalid_rd_operations": 0 - }, - "node-name": "#block614" - }, - "stats": { - "flush_total_time_ns": 0, - "wr_highest_offset": 0, - "wr_total_time_ns": 0, - "failed_wr_operations": 0, - "failed_rd_operations": 0, - "wr_merged": 0, - "wr_bytes": 0, - "timed_stats": [ - - ], - "failed_flush_operations": 0, - "account_invalid": false, - "rd_total_time_ns": 0, - "flush_operations": 0, - "wr_operations": 0, - "rd_merged": 0, - "rd_bytes": 0, - "invalid_flush_operations": 0, - "account_failed": false, - "rd_operations": 0, - "invalid_wr_operations": 0, - "invalid_rd_operations": 0 - }, - "node-name": "#block797" - }, - "node-name": "#block548" - }, - "node-name": "#block346" - }, - "node-name": "#block118" - }, - { - "device": "drive-ide0-0-1", - "parent": { - "stats": { - "flush_total_time_ns": 0, - "wr_highest_offset": 0, - "wr_total_time_ns": 0, - "failed_wr_operations": 0, - "failed_rd_operations": 0, - "wr_merged": 0, - "wr_bytes": 0, - "timed_stats": [ - - ], - "failed_flush_operations": 0, - "account_invalid": false, - "rd_total_time_ns": 0, - "flush_operations": 0, - "wr_operations": 0, - "rd_merged": 0, - "rd_bytes": 0, - "invalid_flush_operations": 0, - "account_failed": false, - "rd_operations": 0, - "invalid_wr_operations": 0, - "invalid_rd_operations": 0 - }, - "node-name": "#block1107" - }, - "stats": { - "flush_total_time_ns": 0, - "wr_highest_offset": 0, - "wr_total_time_ns": 0, - "failed_wr_operations": 0, - "failed_rd_operations": 0, - "wr_merged": 0, - "wr_bytes": 0, - "timed_stats": [ - - ], - "failed_flush_operations": 0, - "account_invalid": true, - "rd_total_time_ns": 0, - "flush_operations": 0, - "wr_operations": 0, - "rd_merged": 0, - "rd_bytes": 0, - "invalid_flush_operations": 0, - "account_failed": true, - "rd_operations": 0, - "invalid_wr_operations": 0, - "invalid_rd_operations": 0 - }, - "backing": { - "parent": { - "stats": { - "flush_total_time_ns": 0, - "wr_highest_offset": 0, - "wr_total_time_ns": 0, - "failed_wr_operations": 0, - "failed_rd_operations": 0, - "wr_merged": 0, - "wr_bytes": 0, - "timed_stats": [ - - ], - "failed_flush_operations": 0, - "account_invalid": false, - "rd_total_time_ns": 0, - "flush_operations": 0, - "wr_operations": 0, - "rd_merged": 0, - "rd_bytes": 0, - "invalid_flush_operations": 0, - "account_failed": false, - "rd_operations": 0, - "invalid_wr_operations": 0, - "invalid_rd_operations": 0 - }, - "node-name": "#block800" - }, - "stats": { - "flush_total_time_ns": 0, - "wr_highest_offset": 0, - "wr_total_time_ns": 0, - "failed_wr_operations": 0, - "failed_rd_operations": 0, - "wr_merged": 0, - "wr_bytes": 0, - "timed_stats": [ - - ], - "failed_flush_operations": 0, - "account_invalid": false, - "rd_total_time_ns": 0, - "flush_operations": 0, - "wr_operations": 0, - "rd_merged": 0, - "rd_bytes": 0, - "invalid_flush_operations": 0, - "account_failed": false, - "rd_operations": 0, - "invalid_wr_operations": 0, - "invalid_rd_operations": 0 - }, - "node-name": "#block927" - }, - "node-name": "#block1290" - } -] diff --git a/tests/qemumonitorjsondata/qemumonitorjson-nodename-relative-named-nodes.json b/tests/qemumonitorjsondata/qemumonitorjson-nodename-relative-named-nodes.json deleted file mode 100644 index 2fcc3b47ed..0000000000 --- a/tests/qemumonitorjsondata/qemumonitorjson-nodename-relative-named-nodes.json +++ /dev/null @@ -1,554 +0,0 @@ -[ - { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "backing-image": { - "virtual-size": 10485760, - "filename": "/var/lib/libvirt/images/base.qcow2", - "cluster-size": 65536, - "format": "qcow2", - "actual-size": 200704, - "format-specific": { - "type": "qcow2", - "data": { - "compat": "1.1", - "lazy-refcounts": false, - "refcount-bits": 16, - "corrupt": false - } - }, - "dirty-flag": false - }, - "backing-filename-format": "qcow2", - "virtual-size": 10485760, - "filename": "/var/lib/libvirt/images/relsnap.qcow2", - "cluster-size": 65536, - "format": "qcow2", - "actual-size": 200704, - "format-specific": { - "type": "qcow2", - "data": { - "compat": "1.1", - "lazy-refcounts": false, - "refcount-bits": 16, - "corrupt": false - } - }, - "full-backing-filename": "/var/lib/libvirt/images/base.qcow2", - "backing-filename": "/var/lib/libvirt/images/base.qcow2", - "dirty-flag": false - }, - "iops_wr": 0, - "ro": false, - "node-name": "#block1290", - "backing_file_depth": 1, - "drv": "qcow2", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, - "backing_file": "/var/lib/libvirt/images/base.qcow2", - "encrypted": false, - "bps": 0, - "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true - }, - "file": "/var/lib/libvirt/images/relsnap.qcow2", - "encryption_key_missing": false - }, - { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "virtual-size": 197120, - "filename": "/var/lib/libvirt/images/relsnap.qcow2", - "format": "file", - "actual-size": 200704, - "dirty-flag": false - }, - "iops_wr": 0, - "ro": false, - "node-name": "#block1107", - "backing_file_depth": 0, - "drv": "file", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, - "encrypted": false, - "bps": 0, - "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true - }, - "file": "/var/lib/libvirt/images/relsnap.qcow2", - "encryption_key_missing": false - }, - { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "virtual-size": 10485760, - "filename": "/var/lib/libvirt/images/base.qcow2", - "cluster-size": 65536, - "format": "qcow2", - "actual-size": 200704, - "format-specific": { - "type": "qcow2", - "data": { - "compat": "1.1", - "lazy-refcounts": false, - "refcount-bits": 16, - "corrupt": false - } - }, - "dirty-flag": false - }, - "iops_wr": 0, - "ro": true, - "node-name": "#block927", - "backing_file_depth": 0, - "drv": "qcow2", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, - "encrypted": false, - "bps": 0, - "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true - }, - "file": "/var/lib/libvirt/images/base.qcow2", - "encryption_key_missing": false - }, - { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "virtual-size": 197120, - "filename": "/var/lib/libvirt/images/base.qcow2", - "format": "file", - "actual-size": 200704, - "dirty-flag": false - }, - "iops_wr": 0, - "ro": true, - "node-name": "#block800", - "backing_file_depth": 0, - "drv": "file", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, - "encrypted": false, - "bps": 0, - "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true - }, - "file": "/var/lib/libvirt/images/base.qcow2", - "encryption_key_missing": false - }, - { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "virtual-size": 10485760, - "filename": "/var/lib/libvirt/images/img0", - "cluster-size": 65536, - "format": "qcow2", - "actual-size": 200704, - "format-specific": { - "type": "qcow2", - "data": { - "compat": "1.1", - "lazy-refcounts": false, - "refcount-bits": 16, - "corrupt": false - } - }, - "dirty-flag": false - }, - "iops_wr": 0, - "ro": true, - "node-name": "#block797", - "backing_file_depth": 0, - "drv": "qcow2", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, - "encrypted": false, - "bps": 0, - "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true - }, - "file": "/var/lib/libvirt/images/img0", - "encryption_key_missing": false - }, - { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "virtual-size": 197120, - "filename": "/var/lib/libvirt/images/img0", - "format": "file", - "actual-size": 200704, - "dirty-flag": false - }, - "iops_wr": 0, - "ro": true, - "node-name": "#block614", - "backing_file_depth": 0, - "drv": "file", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, - "encrypted": false, - "bps": 0, - "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true - }, - "file": "/var/lib/libvirt/images/img0", - "encryption_key_missing": false - }, - { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "backing-image": { - "virtual-size": 10485760, - "filename": "/var/lib/libvirt/images/img0", - "cluster-size": 65536, - "format": "qcow2", - "actual-size": 200704, - "format-specific": { - "type": "qcow2", - "data": { - "compat": "1.1", - "lazy-refcounts": false, - "refcount-bits": 16, - "corrupt": false - } - }, - "dirty-flag": false - }, - "backing-filename-format": "qcow2", - "virtual-size": 10485760, - "filename": "/var/lib/libvirt/images/img1", - "cluster-size": 65536, - "format": "qcow2", - "actual-size": 200704, - "format-specific": { - "type": "qcow2", - "data": { - "compat": "1.1", - "lazy-refcounts": false, - "refcount-bits": 16, - "corrupt": false - } - }, - "full-backing-filename": "/var/lib/libvirt/images/img0", - "backing-filename": "/var/lib/libvirt/images/img0", - "dirty-flag": false - }, - "iops_wr": 0, - "ro": true, - "node-name": "#block548", - "backing_file_depth": 1, - "drv": "qcow2", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, - "backing_file": "/var/lib/libvirt/images/img0", - "encrypted": false, - "bps": 0, - "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true - }, - "file": "/var/lib/libvirt/images/img1", - "encryption_key_missing": false - }, - { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "virtual-size": 197120, - "filename": "/var/lib/libvirt/images/img1", - "format": "file", - "actual-size": 200704, - "dirty-flag": false - }, - "iops_wr": 0, - "ro": true, - "node-name": "#block442", - "backing_file_depth": 0, - "drv": "file", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, - "encrypted": false, - "bps": 0, - "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true - }, - "file": "/var/lib/libvirt/images/img1", - "encryption_key_missing": false - }, - { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "backing-image": { - "backing-image": { - "virtual-size": 10485760, - "filename": "/var/lib/libvirt/images/img0", - "cluster-size": 65536, - "format": "qcow2", - "actual-size": 200704, - "format-specific": { - "type": "qcow2", - "data": { - "compat": "1.1", - "lazy-refcounts": false, - "refcount-bits": 16, - "corrupt": false - } - }, - "dirty-flag": false - }, - "backing-filename-format": "qcow2", - "virtual-size": 10485760, - "filename": "/var/lib/libvirt/images/img1", - "cluster-size": 65536, - "format": "qcow2", - "actual-size": 200704, - "format-specific": { - "type": "qcow2", - "data": { - "compat": "1.1", - "lazy-refcounts": false, - "refcount-bits": 16, - "corrupt": false - } - }, - "full-backing-filename": "/var/lib/libvirt/images/img0", - "backing-filename": "/var/lib/libvirt/images/img0", - "dirty-flag": false - }, - "backing-filename-format": "qcow2", - "virtual-size": 10485760, - "filename": "/var/lib/libvirt/images/img2", - "cluster-size": 65536, - "format": "qcow2", - "actual-size": 200704, - "format-specific": { - "type": "qcow2", - "data": { - "compat": "1.1", - "lazy-refcounts": false, - "refcount-bits": 16, - "corrupt": false - } - }, - "full-backing-filename": "/var/lib/libvirt/images/img1", - "backing-filename": "/var/lib/libvirt/images/img1", - "dirty-flag": false - }, - "iops_wr": 0, - "ro": true, - "node-name": "#block346", - "backing_file_depth": 2, - "drv": "qcow2", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, - "backing_file": "/var/lib/libvirt/images/img1", - "encrypted": false, - "bps": 0, - "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true - }, - "file": "/var/lib/libvirt/images/img2", - "encryption_key_missing": false - }, - { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "virtual-size": 197120, - "filename": "/var/lib/libvirt/images/img2", - "format": "file", - "actual-size": 200704, - "dirty-flag": false - }, - "iops_wr": 0, - "ro": true, - "node-name": "#block232", - "backing_file_depth": 0, - "drv": "file", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, - "encrypted": false, - "bps": 0, - "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true - }, - "file": "/var/lib/libvirt/images/img2", - "encryption_key_missing": false - }, - { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "backing-image": { - "backing-image": { - "backing-image": { - "virtual-size": 10485760, - "filename": "/var/lib/libvirt/images/img0", - "cluster-size": 65536, - "format": "qcow2", - "actual-size": 200704, - "format-specific": { - "type": "qcow2", - "data": { - "compat": "1.1", - "lazy-refcounts": false, - "refcount-bits": 16, - "corrupt": false - } - }, - "dirty-flag": false - }, - "backing-filename-format": "qcow2", - "virtual-size": 10485760, - "filename": "/var/lib/libvirt/images/img1", - "cluster-size": 65536, - "format": "qcow2", - "actual-size": 200704, - "format-specific": { - "type": "qcow2", - "data": { - "compat": "1.1", - "lazy-refcounts": false, - "refcount-bits": 16, - "corrupt": false - } - }, - "full-backing-filename": "/var/lib/libvirt/images/img0", - "backing-filename": "/var/lib/libvirt/images/img0", - "dirty-flag": false - }, - "backing-filename-format": "qcow2", - "virtual-size": 10485760, - "filename": "/var/lib/libvirt/images/img2", - "cluster-size": 65536, - "format": "qcow2", - "actual-size": 200704, - "format-specific": { - "type": "qcow2", - "data": { - "compat": "1.1", - "lazy-refcounts": false, - "refcount-bits": 16, - "corrupt": false - } - }, - "full-backing-filename": "/var/lib/libvirt/images/img1", - "backing-filename": "/var/lib/libvirt/images/img1", - "dirty-flag": false - }, - "backing-filename-format": "qcow2", - "virtual-size": 10485760, - "filename": "/var/lib/libvirt/images/img3", - "cluster-size": 65536, - "format": "qcow2", - "actual-size": 200704, - "format-specific": { - "type": "qcow2", - "data": { - "compat": "1.1", - "lazy-refcounts": false, - "refcount-bits": 16, - "corrupt": false - } - }, - "full-backing-filename": "/var/lib/libvirt/images/img2", - "backing-filename": "/var/lib/libvirt/images/img2", - "dirty-flag": false - }, - "iops_wr": 0, - "ro": false, - "node-name": "#block118", - "backing_file_depth": 3, - "drv": "qcow2", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, - "backing_file": "/var/lib/libvirt/images/img2", - "encrypted": false, - "bps": 0, - "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true - }, - "file": "/var/lib/libvirt/images/img3", - "encryption_key_missing": false - }, - { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "virtual-size": 197120, - "filename": "/var/lib/libvirt/images/img3", - "format": "file", - "actual-size": 200704, - "dirty-flag": false - }, - "iops_wr": 0, - "ro": false, - "node-name": "#block092", - "backing_file_depth": 0, - "drv": "file", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, - "encrypted": false, - "bps": 0, - "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true - }, - "file": "/var/lib/libvirt/images/img3", - "encryption_key_missing": false - } -] diff --git a/tests/qemumonitorjsondata/qemumonitorjson-nodename-relative.result b/tests/qemumonitorjsondata/qemumonitorjson-nodename-relative.result deleted file mode 100644 index 5288319d30..0000000000 --- a/tests/qemumonitorjsondata/qemumonitorjson-nodename-relative.result +++ /dev/null @@ -1,33 +0,0 @@ -drive-ide0-0-0 -filename : '/var/lib/libvirt/images/img3' -format node : '#block118' -format drv : 'qcow2' -storage node: '#block092' -storage drv : 'file' - filename : '/var/lib/libvirt/images/img2' - format node : '#block346' - format drv : 'qcow2' - storage node: '#block232' - storage drv : 'file' - filename : '/var/lib/libvirt/images/img1' - format node : '#block548' - format drv : 'qcow2' - storage node: '#block442' - storage drv : 'file' - filename : '/var/lib/libvirt/images/img0' - format node : '#block797' - format drv : 'qcow2' - storage node: '#block614' - storage drv : 'file' - -drive-ide0-0-1 -filename : '/var/lib/libvirt/images/relsnap.qcow2' -format node : '#block1290' -format drv : 'qcow2' -storage node: '#block1107' -storage drv : 'file' - filename : '/var/lib/libvirt/images/base.qcow2' - format node : '#block927' - format drv : 'qcow2' - storage node: '#block800' - storage drv : 'file' diff --git a/tests/qemumonitorjsondata/qemumonitorjson-nodename-same-backing-blockstats.json b/tests/qemumonitorjsondata/qemumonitorjson-nodename-same-backing-blockstats.json deleted file mode 100644 index 7fd2383013..0000000000 --- a/tests/qemumonitorjsondata/qemumonitorjson-nodename-same-backing-blockstats.json +++ /dev/null @@ -1,221 +0,0 @@ -[ - { - "device": "drive-sata0-0-0", - "parent": { - "stats": { - "flush_total_time_ns": 0, - "wr_highest_offset": 0, - "wr_total_time_ns": 0, - "failed_wr_operations": 0, - "failed_rd_operations": 0, - "wr_merged": 0, - "wr_bytes": 0, - "timed_stats": [ - - ], - "failed_flush_operations": 0, - "account_invalid": false, - "rd_total_time_ns": 0, - "flush_operations": 0, - "wr_operations": 0, - "rd_merged": 0, - "rd_bytes": 0, - "invalid_flush_operations": 0, - "account_failed": false, - "rd_operations": 0, - "invalid_wr_operations": 0, - "invalid_rd_operations": 0 - }, - "node-name": "#block020" - }, - "stats": { - "flush_total_time_ns": 0, - "wr_highest_offset": 0, - "wr_total_time_ns": 0, - "failed_wr_operations": 0, - "failed_rd_operations": 0, - "wr_merged": 0, - "wr_bytes": 0, - "timed_stats": [ - - ], - "failed_flush_operations": 0, - "account_invalid": true, - "rd_total_time_ns": 290083, - "flush_operations": 0, - "wr_operations": 0, - "rd_merged": 0, - "rd_bytes": 512, - "invalid_flush_operations": 0, - "account_failed": true, - "idle_time_ns": 74812730779, - "rd_operations": 1, - "invalid_wr_operations": 0, - "invalid_rd_operations": 0 - }, - "backing": { - "parent": { - "stats": { - "flush_total_time_ns": 0, - "wr_highest_offset": 0, - "wr_total_time_ns": 0, - "failed_wr_operations": 0, - "failed_rd_operations": 0, - "wr_merged": 0, - "wr_bytes": 0, - "timed_stats": [ - - ], - "failed_flush_operations": 0, - "account_invalid": false, - "rd_total_time_ns": 0, - "flush_operations": 0, - "wr_operations": 0, - "rd_merged": 0, - "rd_bytes": 0, - "invalid_flush_operations": 0, - "account_failed": false, - "rd_operations": 0, - "invalid_wr_operations": 0, - "invalid_rd_operations": 0 - }, - "node-name": "#block224" - }, - "stats": { - "flush_total_time_ns": 0, - "wr_highest_offset": 0, - "wr_total_time_ns": 0, - "failed_wr_operations": 0, - "failed_rd_operations": 0, - "wr_merged": 0, - "wr_bytes": 0, - "timed_stats": [ - - ], - "failed_flush_operations": 0, - "account_invalid": false, - "rd_total_time_ns": 0, - "flush_operations": 0, - "wr_operations": 0, - "rd_merged": 0, - "rd_bytes": 0, - "invalid_flush_operations": 0, - "account_failed": false, - "rd_operations": 0, - "invalid_wr_operations": 0, - "invalid_rd_operations": 0 - }, - "node-name": "#block320" - }, - "node-name": "#block132" - }, - { - "device": "drive-sata0-0-1", - "parent": { - "stats": { - "flush_total_time_ns": 0, - "wr_highest_offset": 0, - "wr_total_time_ns": 0, - "failed_wr_operations": 0, - "failed_rd_operations": 0, - "wr_merged": 0, - "wr_bytes": 0, - "timed_stats": [ - - ], - "failed_flush_operations": 0, - "account_invalid": false, - "rd_total_time_ns": 0, - "flush_operations": 0, - "wr_operations": 0, - "rd_merged": 0, - "rd_bytes": 0, - "invalid_flush_operations": 0, - "account_failed": false, - "rd_operations": 0, - "invalid_wr_operations": 0, - "invalid_rd_operations": 0 - }, - "node-name": "#block487" - }, - "stats": { - "flush_total_time_ns": 0, - "wr_highest_offset": 0, - "wr_total_time_ns": 0, - "failed_wr_operations": 0, - "failed_rd_operations": 0, - "wr_merged": 0, - "wr_bytes": 0, - "timed_stats": [ - - ], - "failed_flush_operations": 0, - "account_invalid": true, - "rd_total_time_ns": 0, - "flush_operations": 0, - "wr_operations": 0, - "rd_merged": 0, - "rd_bytes": 0, - "invalid_flush_operations": 0, - "account_failed": true, - "rd_operations": 0, - "invalid_wr_operations": 0, - "invalid_rd_operations": 0 - }, - "backing": { - "parent": { - "stats": { - "flush_total_time_ns": 0, - "wr_highest_offset": 0, - "wr_total_time_ns": 0, - "failed_wr_operations": 0, - "failed_rd_operations": 0, - "wr_merged": 0, - "wr_bytes": 0, - "timed_stats": [ - - ], - "failed_flush_operations": 0, - "account_invalid": false, - "rd_total_time_ns": 0, - "flush_operations": 0, - "wr_operations": 0, - "rd_merged": 0, - "rd_bytes": 0, - "invalid_flush_operations": 0, - "account_failed": false, - "rd_operations": 0, - "invalid_wr_operations": 0, - "invalid_rd_operations": 0 - }, - "node-name": "#block692" - }, - "stats": { - "flush_total_time_ns": 0, - "wr_highest_offset": 0, - "wr_total_time_ns": 0, - "failed_wr_operations": 0, - "failed_rd_operations": 0, - "wr_merged": 0, - "wr_bytes": 0, - "timed_stats": [ - - ], - "failed_flush_operations": 0, - "account_invalid": false, - "rd_total_time_ns": 0, - "flush_operations": 0, - "wr_operations": 0, - "rd_merged": 0, - "rd_bytes": 0, - "invalid_flush_operations": 0, - "account_failed": false, - "rd_operations": 0, - "invalid_wr_operations": 0, - "invalid_rd_operations": 0 - }, - "node-name": "#block771" - }, - "node-name": "#block548" - } - ] diff --git a/tests/qemumonitorjsondata/qemumonitorjson-nodename-same-backing-named-nodes.json b/tests/qemumonitorjsondata/qemumonitorjson-nodename-same-backing-named-nodes.json deleted file mode 100644 index 3945ff5ed8..0000000000 --- a/tests/qemumonitorjsondata/qemumonitorjson-nodename-same-backing-named-nodes.json +++ /dev/null @@ -1,316 +0,0 @@ -[ - { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "virtual-size": 10485760, - "filename": "/var/lib/libvirt/images/base.qcow2", - "cluster-size": 65536, - "format": "qcow2", - "actual-size": 200704, - "format-specific": { - "type": "qcow2", - "data": { - "compat": "1.1", - "lazy-refcounts": false, - "refcount-bits": 16, - "corrupt": false - } - }, - "dirty-flag": false - }, - "iops_wr": 0, - "ro": true, - "node-name": "#block771", - "backing_file_depth": 0, - "drv": "qcow2", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, - "encrypted": false, - "bps": 0, - "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true - }, - "file": "/var/lib/libvirt/images/base.qcow2", - "encryption_key_missing": false - }, - { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "virtual-size": 197120, - "filename": "/var/lib/libvirt/images/base.qcow2", - "format": "file", - "actual-size": 200704, - "dirty-flag": false - }, - "iops_wr": 0, - "ro": true, - "node-name": "#block692", - "backing_file_depth": 0, - "drv": "file", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, - "encrypted": false, - "bps": 0, - "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true - }, - "file": "/var/lib/libvirt/images/base.qcow2", - "encryption_key_missing": false - }, - { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "backing-image": { - "virtual-size": 10485760, - "filename": "/var/lib/libvirt/images/base.qcow2", - "cluster-size": 65536, - "format": "qcow2", - "actual-size": 200704, - "format-specific": { - "type": "qcow2", - "data": { - "compat": "1.1", - "lazy-refcounts": false, - "refcount-bits": 16, - "corrupt": false - } - }, - "dirty-flag": false - }, - "backing-filename-format": "qcow2", - "virtual-size": 10485760, - "filename": "/var/lib/libvirt/images/b.qcow2", - "cluster-size": 65536, - "format": "qcow2", - "actual-size": 200704, - "format-specific": { - "type": "qcow2", - "data": { - "compat": "1.1", - "lazy-refcounts": false, - "refcount-bits": 16, - "corrupt": false - } - }, - "full-backing-filename": "/var/lib/libvirt/images/base.qcow2", - "backing-filename": "/var/lib/libvirt/images/base.qcow2", - "dirty-flag": false - }, - "iops_wr": 0, - "ro": false, - "node-name": "#block548", - "backing_file_depth": 1, - "drv": "qcow2", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, - "backing_file": "/var/lib/libvirt/images/base.qcow2", - "encrypted": false, - "bps": 0, - "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true - }, - "file": "/var/lib/libvirt/images/b.qcow2", - "encryption_key_missing": false - }, - { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "virtual-size": 197120, - "filename": "/var/lib/libvirt/images/b.qcow2", - "format": "file", - "actual-size": 200704, - "dirty-flag": false - }, - "iops_wr": 0, - "ro": false, - "node-name": "#block487", - "backing_file_depth": 0, - "drv": "file", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, - "encrypted": false, - "bps": 0, - "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true - }, - "file": "/var/lib/libvirt/images/b.qcow2", - "encryption_key_missing": false - }, - { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "virtual-size": 10485760, - "filename": "/var/lib/libvirt/images/base.qcow2", - "cluster-size": 65536, - "format": "qcow2", - "actual-size": 200704, - "format-specific": { - "type": "qcow2", - "data": { - "compat": "1.1", - "lazy-refcounts": false, - "refcount-bits": 16, - "corrupt": false - } - }, - "dirty-flag": false - }, - "iops_wr": 0, - "ro": true, - "node-name": "#block320", - "backing_file_depth": 0, - "drv": "qcow2", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, - "encrypted": false, - "bps": 0, - "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true - }, - "file": "/var/lib/libvirt/images/base.qcow2", - "encryption_key_missing": false - }, - { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "virtual-size": 197120, - "filename": "/var/lib/libvirt/images/base.qcow2", - "format": "file", - "actual-size": 200704, - "dirty-flag": false - }, - "iops_wr": 0, - "ro": true, - "node-name": "#block224", - "backing_file_depth": 0, - "drv": "file", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, - "encrypted": false, - "bps": 0, - "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true - }, - "file": "/var/lib/libvirt/images/base.qcow2", - "encryption_key_missing": false - }, - { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "backing-image": { - "virtual-size": 10485760, - "filename": "/var/lib/libvirt/images/base.qcow2", - "cluster-size": 65536, - "format": "qcow2", - "actual-size": 200704, - "format-specific": { - "type": "qcow2", - "data": { - "compat": "1.1", - "lazy-refcounts": false, - "refcount-bits": 16, - "corrupt": false - } - }, - "dirty-flag": false - }, - "backing-filename-format": "qcow2", - "virtual-size": 10485760, - "filename": "/var/lib/libvirt/images/a.qcow2", - "cluster-size": 65536, - "format": "qcow2", - "actual-size": 200704, - "format-specific": { - "type": "qcow2", - "data": { - "compat": "1.1", - "lazy-refcounts": false, - "refcount-bits": 16, - "corrupt": false - } - }, - "full-backing-filename": "/var/lib/libvirt/images/base.qcow2", - "backing-filename": "/var/lib/libvirt/images/base.qcow2", - "dirty-flag": false - }, - "iops_wr": 0, - "ro": false, - "node-name": "#block132", - "backing_file_depth": 1, - "drv": "qcow2", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, - "backing_file": "/var/lib/libvirt/images/base.qcow2", - "encrypted": false, - "bps": 0, - "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true - }, - "file": "/var/lib/libvirt/images/a.qcow2", - "encryption_key_missing": false - }, - { - "iops_rd": 0, - "detect_zeroes": "off", - "image": { - "virtual-size": 197120, - "filename": "/var/lib/libvirt/images/a.qcow2", - "format": "file", - "actual-size": 200704, - "dirty-flag": false - }, - "iops_wr": 0, - "ro": false, - "node-name": "#block020", - "backing_file_depth": 0, - "drv": "file", - "iops": 0, - "bps_wr": 0, - "write_threshold": 0, - "encrypted": false, - "bps": 0, - "bps_rd": 0, - "cache": { - "no-flush": false, - "direct": false, - "writeback": true - }, - "file": "/var/lib/libvirt/images/a.qcow2", - "encryption_key_missing": false - } - ] diff --git a/tests/qemumonitorjsondata/qemumonitorjson-nodename-same-backing.result b/tests/qemumonitorjsondata/qemumonitorjson-nodename-same-backing.result deleted file mode 100644 index 7b12a1746a..0000000000 --- a/tests/qemumonitorjsondata/qemumonitorjson-nodename-same-backing.result +++ /dev/null @@ -1,23 +0,0 @@ -drive-sata0-0-0 -filename : '/var/lib/libvirt/images/a.qcow2' -format node : '#block132' -format drv : 'qcow2' -storage node: '#block020' -storage drv : 'file' - filename : '/var/lib/libvirt/images/base.qcow2' - format node : '#block320' - format drv : 'qcow2' - storage node: '#block224' - storage drv : 'file' - -drive-sata0-0-1 -filename : '/var/lib/libvirt/images/b.qcow2' -format node : '#block548' -format drv : 'qcow2' -storage node: '#block487' -storage drv : 'file' - filename : '/var/lib/libvirt/images/base.qcow2' - format node : '#block771' - format drv : 'qcow2' - storage node: '#block692' - storage drv : 'file' diff --git a/tests/qemumonitorjsontest.c b/tests/qemumonitorjsontest.c index adfe6e1c55..0bff1ed4d0 100644 --- a/tests/qemumonitorjsontest.c +++ b/tests/qemumonitorjsontest.c @@ -2474,80 +2474,6 @@ testQemuMonitorCPUInfo(const void *opaque) } -static int -testBlockNodeNameDetectFormat(void *payload, - const char *name, - void *opaque) -{ - qemuBlockNodeNameBackingChainData *entry = payload; - const char *diskalias = name; - virBuffer *buf = opaque; - - virBufferSetIndent(buf, 0); - - virBufferAdd(buf, diskalias, -1); - virBufferAddLit(buf, "\n"); - - while (entry) { - virBufferAsprintf(buf, "filename : '%s'\n", entry->qemufilename); - virBufferAsprintf(buf, "format node : '%s'\n", - NULLSTR(entry->nodeformat)); - virBufferAsprintf(buf, "format drv : '%s'\n", NULLSTR(entry->drvformat)); - virBufferAsprintf(buf, "storage node: '%s'\n", - NULLSTR(entry->nodestorage)); - virBufferAsprintf(buf, "storage drv : '%s'\n", NULLSTR(entry->drvstorage)); - - virBufferAdjustIndent(buf, 2); - - entry = entry->backing; - } - - virBufferSetIndent(buf, 0); - virBufferAddLit(buf, "\n"); - return 0; -} - - -static int -testBlockNodeNameDetect(const void *opaque) -{ - const char *testname = opaque; - const char *pathprefix = "qemumonitorjsondata/qemumonitorjson-nodename-"; - g_autofree char *resultFile = NULL; - g_autofree char *actual = NULL; - g_autoptr(virJSONValue) namedNodesJson = NULL; - g_autoptr(virJSONValue) blockstatsJson = NULL; - g_autoptr(GHashTable) nodedata = NULL; - g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; - - resultFile = g_strdup_printf("%s/%s%s.result", abs_srcdir, pathprefix, - testname); - - if (!(namedNodesJson = virTestLoadFileJSON(pathprefix, testname, - "-named-nodes.json", NULL))) - return -1; - - if (!(blockstatsJson = virTestLoadFileJSON(pathprefix, testname, - "-blockstats.json", NULL))) - return -1; - - if (!(nodedata = qemuBlockNodeNameGetBackingChain(namedNodesJson, - blockstatsJson))) - return -1; - - virHashForEachSorted(nodedata, testBlockNodeNameDetectFormat, &buf); - - virBufferTrim(&buf, "\n"); - - actual = virBufferContentAndReset(&buf); - - if (virTestCompareToFile(actual, resultFile) < 0) - return -1; - - return 0; -} - - struct testQAPISchemaData { GHashTable *schema; const char *name; @@ -3127,24 +3053,6 @@ mymain(void) DO_TEST_CPU_INFO_FAST("s390-fast", 2); -#define DO_TEST_BLOCK_NODE_DETECT(testname) \ - do { \ - if (virTestRun("node-name-detect(" testname ")", \ - testBlockNodeNameDetect, testname) < 0) \ - ret = -1; \ - } while (0) - - DO_TEST_BLOCK_NODE_DETECT("basic"); - DO_TEST_BLOCK_NODE_DETECT("same-backing"); - DO_TEST_BLOCK_NODE_DETECT("relative"); - DO_TEST_BLOCK_NODE_DETECT("gluster"); - DO_TEST_BLOCK_NODE_DETECT("blockjob"); - DO_TEST_BLOCK_NODE_DETECT("luks"); - DO_TEST_BLOCK_NODE_DETECT("iscsi"); - DO_TEST_BLOCK_NODE_DETECT("old"); - DO_TEST_BLOCK_NODE_DETECT("empty"); - -#undef DO_TEST_BLOCK_NODE_DETECT #define DO_TEST_QAPI_QUERY(nme, qry, scc, rplobj) \ do { \ -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:13PM +0200, Peter Krempa wrote:
With blockdev we are generating the nodenames ourselves so all of this infrastructrure became obsolete. Remove it.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_block.c | 274 ------- src/qemu/qemu_block.h | 9 - ...monitorjson-nodename-basic-blockstats.json | 166 ----- ...onitorjson-nodename-basic-named-nodes.json | 268 ------- .../qemumonitorjson-nodename-basic.result | 16 - ...itorjson-nodename-blockjob-blockstats.json | 301 -------- ...torjson-nodename-blockjob-named-nodes.json | 682 ------------------ .../qemumonitorjson-nodename-blockjob.result | 26 - ...monitorjson-nodename-empty-blockstats.json | 2 - ...onitorjson-nodename-empty-named-nodes.json | 2 - .../qemumonitorjson-nodename-empty.result | 0 ...nitorjson-nodename-gluster-blockstats.json | 111 --- ...itorjson-nodename-gluster-named-nodes.json | 135 ---- .../qemumonitorjson-nodename-gluster.result | 11 - ...monitorjson-nodename-iscsi-blockstats.json | 113 --- ...onitorjson-nodename-iscsi-named-nodes.json | 114 --- .../qemumonitorjson-nodename-iscsi.result | 13 - ...umonitorjson-nodename-luks-blockstats.json | 58 -- ...monitorjson-nodename-luks-named-nodes.json | 109 --- .../qemumonitorjson-nodename-luks.result | 6 - ...mumonitorjson-nodename-old-blockstats.json | 160 ---- ...umonitorjson-nodename-old-named-nodes.json | 2 - .../qemumonitorjson-nodename-old.result | 0 ...itorjson-nodename-relative-blockstats.json | 329 --------- ...torjson-nodename-relative-named-nodes.json | 554 -------------- .../qemumonitorjson-nodename-relative.result | 33 - ...json-nodename-same-backing-blockstats.json | 221 ------ ...son-nodename-same-backing-named-nodes.json | 316 -------- ...mumonitorjson-nodename-same-backing.result | 23 - tests/qemumonitorjsontest.c | 92 --- 30 files changed, 4146 deletions(-) delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-basic-blockstats.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-basic-named-nodes.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-basic.result delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-blockjob-blockstats.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-blockjob-named-nodes.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-blockjob.result delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-empty-blockstats.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-empty-named-nodes.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-empty.result delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-gluster-blockstats.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-gluster-named-nodes.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-gluster.result delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-iscsi-blockstats.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-iscsi-named-nodes.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-iscsi.result delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-luks-blockstats.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-luks-named-nodes.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-luks.result delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-old-blockstats.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-old-named-nodes.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-old.result delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-relative-blockstats.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-relative-named-nodes.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-relative.result delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-same-backing-blockstats.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-same-backing-named-nodes.json delete mode 100644 tests/qemumonitorjsondata/qemumonitorjson-nodename-same-backing.result
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

On a Tuesday in 2022, Peter Krempa wrote:
With blockdev we are generating the nodenames ourselves so all of this infrastructrure became obsolete. Remove it.
*infrastructure
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_block.c | 274 ------- src/qemu/qemu_block.h | 9 - ...monitorjson-nodename-basic-blockstats.json | 166 ----- ...onitorjson-nodename-basic-named-nodes.json | 268 ------- .../qemumonitorjson-nodename-basic.result | 16 - ...itorjson-nodename-blockjob-blockstats.json | 301 -------- ...torjson-nodename-blockjob-named-nodes.json | 682 ------------------ .../qemumonitorjson-nodename-blockjob.result | 26 - ...monitorjson-nodename-empty-blockstats.json | 2 - ...onitorjson-nodename-empty-named-nodes.json | 2 - .../qemumonitorjson-nodename-empty.result | 0 ...nitorjson-nodename-gluster-blockstats.json | 111 --- ...itorjson-nodename-gluster-named-nodes.json | 135 ---- .../qemumonitorjson-nodename-gluster.result | 11 - ...monitorjson-nodename-iscsi-blockstats.json | 113 --- ...onitorjson-nodename-iscsi-named-nodes.json | 114 --- .../qemumonitorjson-nodename-iscsi.result | 13 - ...umonitorjson-nodename-luks-blockstats.json | 58 -- ...monitorjson-nodename-luks-named-nodes.json | 109 --- .../qemumonitorjson-nodename-luks.result | 6 - ...mumonitorjson-nodename-old-blockstats.json | 160 ---- ...umonitorjson-nodename-old-named-nodes.json | 2 - .../qemumonitorjson-nodename-old.result | 0 ...itorjson-nodename-relative-blockstats.json | 329 --------- ...torjson-nodename-relative-named-nodes.json | 554 -------------- .../qemumonitorjson-nodename-relative.result | 33 - ...json-nodename-same-backing-blockstats.json | 221 ------ ...son-nodename-same-backing-named-nodes.json | 316 -------- ...mumonitorjson-nodename-same-backing.result | 23 - tests/qemumonitorjsontest.c | 92 --- 30 files changed, 4146 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_blockjob.c | 30 +++--------------------------- 1 file changed, 3 insertions(+), 27 deletions(-) diff --git a/src/qemu/qemu_blockjob.c b/src/qemu/qemu_blockjob.c index 304008a31a..03c46923b3 100644 --- a/src/qemu/qemu_blockjob.c +++ b/src/qemu/qemu_blockjob.c @@ -250,16 +250,8 @@ qemuBlockJobDiskNewPull(virDomainObj *vm, virStorageSource *base, unsigned int jobflags) { - qemuDomainObjPrivate *priv = vm->privateData; g_autoptr(qemuBlockJobData) job = NULL; - g_autofree char *jobname = NULL; - - if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV)) { - jobname = g_strdup_printf("pull-%s-%s", disk->dst, disk->src->nodeformat); - } else { - if (!(jobname = qemuAliasDiskDriveFromDisk(disk))) - return NULL; - } + g_autofree char *jobname = g_strdup_printf("pull-%s-%s", disk->dst, disk->src->nodeformat); if (!(job = qemuBlockJobDataNew(QEMU_BLOCKJOB_TYPE_PULL, jobname))) return NULL; @@ -283,21 +275,13 @@ qemuBlockJobDiskNewCommit(virDomainObj *vm, bool delete_imgs, unsigned int jobflags) { - qemuDomainObjPrivate *priv = vm->privateData; g_autoptr(qemuBlockJobData) job = NULL; - g_autofree char *jobname = NULL; + g_autofree char *jobname = g_strdup_printf("commit-%s-%s", disk->dst, top->nodeformat); qemuBlockJobType jobtype = QEMU_BLOCKJOB_TYPE_COMMIT; if (topparent == NULL) jobtype = QEMU_BLOCKJOB_TYPE_ACTIVE_COMMIT; - if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV)) { - jobname = g_strdup_printf("commit-%s-%s", disk->dst, top->nodeformat); - } else { - if (!(jobname = qemuAliasDiskDriveFromDisk(disk))) - return NULL; - } - if (!(job = qemuBlockJobDataNew(jobtype, jobname))) return NULL; @@ -352,16 +336,8 @@ qemuBlockJobDiskNewCopy(virDomainObj *vm, bool reuse, unsigned int jobflags) { - qemuDomainObjPrivate *priv = vm->privateData; g_autoptr(qemuBlockJobData) job = NULL; - g_autofree char *jobname = NULL; - - if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV)) { - jobname = g_strdup_printf("copy-%s-%s", disk->dst, disk->src->nodeformat); - } else { - if (!(jobname = qemuAliasDiskDriveFromDisk(disk))) - return NULL; - } + g_autofree char *jobname = g_strdup_printf("copy-%s-%s", disk->dst, disk->src->nodeformat); if (!(job = qemuBlockJobDataNew(QEMU_BLOCKJOB_TYPE_COPY, jobname))) return NULL; -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:14PM +0200, Peter Krempa wrote:
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_blockjob.c | 30 +++--------------------------- 1 file changed, 3 insertions(+), 27 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

The only instance in this file can be simplified to avoid checking the capability. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_alias.c | 10 ++++------ src/qemu/qemu_alias.h | 5 ++--- src/qemu/qemu_hotplug.c | 2 +- src/qemu/qemu_process.c | 2 +- tests/qemuhotplugtest.c | 2 +- 5 files changed, 9 insertions(+), 12 deletions(-) diff --git a/src/qemu/qemu_alias.c b/src/qemu/qemu_alias.c index 7b91fe3141..835401dc07 100644 --- a/src/qemu/qemu_alias.c +++ b/src/qemu/qemu_alias.c @@ -192,8 +192,7 @@ qemuAssignDeviceControllerAlias(virDomainDef *domainDef, int qemuAssignDeviceDiskAlias(virDomainDef *def, - virDomainDiskDef *disk, - virQEMUCaps *qemuCaps) + virDomainDiskDef *disk) { qemuDomainDiskPrivate *diskPriv = QEMU_DOMAIN_DISK_PRIVATE(disk); const char *prefix = virDomainDiskBusTypeToString(disk->bus); @@ -231,8 +230,7 @@ qemuAssignDeviceDiskAlias(virDomainDef *def, * on the alias in qemu. While certain disk types use just the alias, some * need the full path into /machine/peripheral as a historical artifact. */ - if (!diskPriv->qomName && - virQEMUCapsGet(qemuCaps, QEMU_CAPS_BLOCKDEV)) { + if (!diskPriv->qomName) { switch ((virDomainDiskBus) disk->bus) { case VIR_DOMAIN_DISK_BUS_FDC: case VIR_DOMAIN_DISK_BUS_IDE: @@ -606,12 +604,12 @@ qemuAssignDeviceIOMMUAlias(virDomainIOMMUDef *iommu) int -qemuAssignDeviceAliases(virDomainDef *def, virQEMUCaps *qemuCaps) +qemuAssignDeviceAliases(virDomainDef *def) { size_t i; for (i = 0; i < def->ndisks; i++) { - if (qemuAssignDeviceDiskAlias(def, def->disks[i], qemuCaps) < 0) + if (qemuAssignDeviceDiskAlias(def, def->disks[i]) < 0) return -1; } for (i = 0; i < def->nnets; i++) { diff --git a/src/qemu/qemu_alias.h b/src/qemu/qemu_alias.h index 1a583b8207..6433ae4cec 100644 --- a/src/qemu/qemu_alias.h +++ b/src/qemu/qemu_alias.h @@ -33,8 +33,7 @@ void qemuAssignDeviceControllerAlias(virDomainDef *domainDef, virDomainControllerDef *controller); int qemuAssignDeviceDiskAlias(virDomainDef *def, - virDomainDiskDef *disk, - virQEMUCaps *qemuCaps); + virDomainDiskDef *disk); void qemuAssignDeviceHostdevAlias(virDomainDef *def, char **alias, @@ -71,7 +70,7 @@ void qemuAssignDeviceInputAlias(virDomainDef *def, void qemuAssignDeviceVsockAlias(virDomainVsockDef *vsock); -int qemuAssignDeviceAliases(virDomainDef *def, virQEMUCaps *qemuCaps); +int qemuAssignDeviceAliases(virDomainDef *def); int qemuDomainDeviceAliasIndex(const virDomainDeviceInfo *info, const char *prefix); diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index 5eb370c3df..28e4284e62 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -1081,7 +1081,7 @@ qemuDomainAttachDeviceDiskLiveInternal(virQEMUDriver *driver, releaseSeclabel = true; - if (qemuAssignDeviceDiskAlias(vm->def, disk, priv->qemuCaps) < 0) + if (qemuAssignDeviceDiskAlias(vm->def, disk) < 0) goto cleanup; if (qemuDomainPrepareDiskSource(disk, priv, cfg) < 0) diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 6083ee10d8..f13664c7f2 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -6629,7 +6629,7 @@ qemuProcessPrepareDomain(virQEMUDriver *driver, return -1; } - if (qemuAssignDeviceAliases(vm->def, priv->qemuCaps) < 0) + if (qemuAssignDeviceAliases(vm->def) < 0) return -1; qemuProcessPrepareDeviceBootorder(vm->def); diff --git a/tests/qemuhotplugtest.c b/tests/qemuhotplugtest.c index 3c9dac241a..c938c8dc4c 100644 --- a/tests/qemuhotplugtest.c +++ b/tests/qemuhotplugtest.c @@ -107,7 +107,7 @@ qemuHotplugCreateObjects(virDomainXMLOption *xmlopt, return -1; } - if (qemuAssignDeviceAliases((*vm)->def, priv->qemuCaps) < 0) + if (qemuAssignDeviceAliases((*vm)->def) < 0) return -1; (*vm)->def->id = QEMU_HOTPLUG_TEST_DOMAIN_ID; -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:15PM +0200, Peter Krempa wrote:
The only instance in this file can be simplified to avoid checking the capability.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_alias.c | 10 ++++------ src/qemu/qemu_alias.h | 5 ++--- src/qemu/qemu_hotplug.c | 2 +- src/qemu/qemu_process.c | 2 +- tests/qemuhotplugtest.c | 2 +- 5 files changed, 9 insertions(+), 12 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

This function and it's callees were a bit more entangled so remove the pre-blockdev code separately. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_driver.c | 80 +++++++----------------------------------- 1 file changed, 12 insertions(+), 68 deletions(-) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index e7b0acd46f..811b4a610c 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -18245,42 +18245,6 @@ qemuDomainGetStatsOneBlockFallback(virQEMUDriver *driver, } -/** - * qemuDomainGetStatsOneBlockRefreshNamed: - * @src: disk source structure - * @alias: disk alias - * @stats: hash table containing stats for all disks - * @nodedata: reply containing 'query-named-block-nodes' data - * - * Refresh disk block stats data (qemuBlockStats *) which are present only - * in the reply of 'query-named-block-nodes' in cases when the data was gathered - * by using query-block originally. - */ -static void -qemuDomainGetStatsOneBlockRefreshNamed(virStorageSource *src, - const char *alias, - GHashTable *stats, - GHashTable *nodedata) -{ - qemuBlockStats *entry; - - virJSONValue *data; - unsigned long long tmp; - - if (!nodedata || !src->nodestorage) - return; - - if (!(entry = virHashLookup(stats, alias))) - return; - - if (!(data = virHashLookup(nodedata, src->nodestorage))) - return; - - if (virJSONValueObjectGetNumberUlong(data, "write_threshold", &tmp) == 0) - entry->write_threshold = tmp; -} - - static int qemuDomainGetStatsOneBlock(virQEMUDriver *driver, virQEMUDriverConfig *cfg, @@ -18403,20 +18367,15 @@ qemuDomainGetStatsBlockExportHeader(virDomainDiskDef *disk, static int qemuDomainGetStatsBlockExportDisk(virDomainDiskDef *disk, GHashTable *stats, - GHashTable *nodestats, virTypedParamList *params, size_t *recordnr, bool visitBacking, virQEMUDriver *driver, virQEMUDriverConfig *cfg, - virDomainObj *dom, - bool blockdev) + virDomainObj *dom) { virStorageSource *n; - const char *frontendalias; - const char *backendalias; - const char *backendstoragealias; /* * This helps to keep logs clean from error messages on getting stats @@ -18452,9 +18411,10 @@ qemuDomainGetStatsBlockExportDisk(virDomainDiskDef *disk, for (n = disk->src; virStorageSourceIsBacking(n); n = n->backingStore) { g_autofree char *alias = NULL; + const char *frontendalias; + const char *backendalias; + const char *backendstoragealias; - /* for 'sd' disks we won't be displaying stats for the backing chain - * as we don't update the stats correctly */ if (QEMU_DOMAIN_DISK_PRIVATE(disk)->qomName) { frontendalias = QEMU_DOMAIN_DISK_PRIVATE(disk)->qomName; backendalias = n->nodeformat; @@ -18465,7 +18425,8 @@ qemuDomainGetStatsBlockExportDisk(virDomainDiskDef *disk, !(alias = qemuDomainStorageAlias(disk->info.alias, n->id))) return -1; - qemuDomainGetStatsOneBlockRefreshNamed(n, alias, stats, nodestats); + /* for 'sd' disks we won't be displaying stats for the backing chain + * as we don't update the stats correctly */ frontendalias = alias; backendalias = alias; @@ -18501,7 +18462,7 @@ qemuDomainGetStatsBlockExportDisk(virDomainDiskDef *disk, /* in blockdev mode where we can properly and uniquely identify images we * can also report stats for the mirror target or the scratch image or target * of a backup operation */ - if (visitBacking && blockdev) { + if (visitBacking) { qemuDomainObjPrivate *priv = dom->privateData; if (disk->mirror && @@ -18571,13 +18532,8 @@ qemuDomainGetStatsBlock(virQEMUDriver *driver, size_t i; int rc; g_autoptr(GHashTable) stats = NULL; - g_autoptr(GHashTable) nodestats = NULL; - g_autoptr(virJSONValue) nodedata = NULL; qemuDomainObjPrivate *priv = dom->privateData; g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); - bool blockdev = virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV); - bool fetchnodedata = virQEMUCapsGet(priv->qemuCaps, - QEMU_CAPS_QUERY_NAMED_BLOCK_NODES) && !blockdev; int count_index = -1; size_t visited = 0; bool visitBacking = !!(privflags & QEMU_DOMAIN_STATS_BACKING); @@ -18587,27 +18543,16 @@ qemuDomainGetStatsBlock(virQEMUDriver *driver, rc = qemuMonitorGetAllBlockStatsInfo(priv->mon, &stats); - if (rc >= 0) { - if (blockdev) - rc = qemuMonitorBlockStatsUpdateCapacityBlockdev(priv->mon, stats); - else - ignore_value(qemuMonitorBlockStatsUpdateCapacity(priv->mon, stats)); - } - - if (fetchnodedata) - nodedata = qemuMonitorQueryNamedBlockNodes(priv->mon); + if (rc >= 0) + rc = qemuMonitorBlockStatsUpdateCapacityBlockdev(priv->mon, stats); qemuDomainObjExitMonitor(dom); /* failure to retrieve stats is fine at this point */ - if (rc < 0 || (fetchnodedata && !nodedata)) + if (rc < 0) virResetLastError(); } - if (nodedata && - !(nodestats = qemuBlockGetNodeData(nodedata))) - return -1; - /* When listing backing chains, it's easier to fix up the count * after the iteration than it is to iterate twice; but we still * want count listed first. */ @@ -18616,10 +18561,9 @@ qemuDomainGetStatsBlock(virQEMUDriver *driver, return -1; for (i = 0; i < dom->def->ndisks; i++) { - if (qemuDomainGetStatsBlockExportDisk(dom->def->disks[i], stats, nodestats, + if (qemuDomainGetStatsBlockExportDisk(dom->def->disks[i], stats, params, &visited, - visitBacking, driver, cfg, dom, - blockdev) < 0) + visitBacking, driver, cfg, dom) < 0) return -1; } -- 2.36.1

On a Tuesday in 2022, Peter Krempa wrote:
This function and it's callees were a bit more entangled so remove the
s/it's/its/
pre-blockdev code separately.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_driver.c | 80 +++++++----------------------------------- 1 file changed, 12 insertions(+), 68 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

On Tue, Jul 26, 2022 at 04:37:16PM +0200, Peter Krempa wrote:
This function and it's callees were a bit more entangled so remove the pre-blockdev code separately.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_driver.c | 80 +++++++----------------------------------- 1 file changed, 12 insertions(+), 68 deletions(-)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index e7b0acd46f..811b4a610c 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c
[...]
@@ -18403,20 +18367,15 @@ qemuDomainGetStatsBlockExportHeader(virDomainDiskDef *disk, static int qemuDomainGetStatsBlockExportDisk(virDomainDiskDef *disk, GHashTable *stats, - GHashTable *nodestats, virTypedParamList *params, size_t *recordnr, bool visitBacking, virQEMUDriver *driver, virQEMUDriverConfig *cfg, - virDomainObj *dom, - bool blockdev) + virDomainObj *dom)
{ virStorageSource *n; - const char *frontendalias; - const char *backendalias; - const char *backendstoragealias;
/* * This helps to keep logs clean from error messages on getting stats @@ -18452,9 +18411,10 @@ qemuDomainGetStatsBlockExportDisk(virDomainDiskDef *disk,
for (n = disk->src; virStorageSourceIsBacking(n); n = n->backingStore) { g_autofree char *alias = NULL; + const char *frontendalias; + const char *backendalias; + const char *backendstoragealias;
This code movement seems to be unrelated.
- /* for 'sd' disks we won't be displaying stats for the backing chain - * as we don't update the stats correctly */ if (QEMU_DOMAIN_DISK_PRIVATE(disk)->qomName) { frontendalias = QEMU_DOMAIN_DISK_PRIVATE(disk)->qomName; backendalias = n->nodeformat; @@ -18465,7 +18425,8 @@ qemuDomainGetStatsBlockExportDisk(virDomainDiskDef *disk, !(alias = qemuDomainStorageAlias(disk->info.alias, n->id))) return -1;
- qemuDomainGetStatsOneBlockRefreshNamed(n, alias, stats, nodestats); + /* for 'sd' disks we won't be displaying stats for the backing chain + * as we don't update the stats correctly */
Same for the comment movement.
frontendalias = alias; backendalias = alias;
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_block.c | 40 ---------------------------------------- src/qemu/qemu_block.h | 3 --- 2 files changed, 43 deletions(-) diff --git a/src/qemu/qemu_block.c b/src/qemu/qemu_block.c index ea0b783bbb..6e643598bc 100644 --- a/src/qemu/qemu_block.c +++ b/src/qemu/qemu_block.c @@ -52,46 +52,6 @@ qemuBlockNodeNameValidate(const char *nn) } -static int -qemuBlockNamedNodesArrayToHash(size_t pos G_GNUC_UNUSED, - virJSONValue *item, - void *opaque) -{ - GHashTable *table = opaque; - const char *name; - - if (!(name = virJSONValueObjectGetString(item, "node-name"))) - return 1; - - if (virHashAddEntry(table, name, item) < 0) - return -1; - - return 0; -} - - -/** - * qemuBlockGetNodeData: - * @data: JSON object returned from query-named-block-nodes - * - * Returns a hash table organized by the node name of the JSON value objects of - * data for given qemu block nodes. - * - * Returns a filled GHashTable *on success NULL on error. - */ -GHashTable * -qemuBlockGetNodeData(virJSONValue *data) -{ - g_autoptr(GHashTable) nodedata = virHashNew(virJSONValueHashFree); - - if (virJSONValueArrayForeachSteal(data, - qemuBlockNamedNodesArrayToHash, nodedata) < 0) - return NULL; - - return g_steal_pointer(&nodedata); -} - - /** * qemuBlockStorageSourceSupportsConcurrentAccess: * @src: disk storage source diff --git a/src/qemu/qemu_block.h b/src/qemu/qemu_block.h index 134ce41dd5..422c1a0deb 100644 --- a/src/qemu/qemu_block.h +++ b/src/qemu/qemu_block.h @@ -39,9 +39,6 @@ struct qemuBlockNodeNameBackingChainData { char *drvstorage; }; -GHashTable * -qemuBlockGetNodeData(virJSONValue *data); - bool qemuBlockStorageSourceSupportsConcurrentAccess(virStorageSource *src); -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:17PM +0200, Peter Krempa wrote:
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_block.c | 40 ---------------------------------------- src/qemu/qemu_block.h | 3 --- 2 files changed, 43 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

The top level API is unused so it can be removed but internally the JSON version is called by other monitor commands which extract information from the reply. Thus qemuMonitorJSONQueryNamedBlockNodes is unexported and moved appropriately. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_monitor.c | 9 ------- src/qemu/qemu_monitor.h | 2 -- src/qemu/qemu_monitor_json.c | 52 +++++++++++++++++++++--------------- src/qemu/qemu_monitor_json.h | 5 ---- 4 files changed, 30 insertions(+), 38 deletions(-) diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c index a58aa5622f..a4b1b90c7c 100644 --- a/src/qemu/qemu_monitor.c +++ b/src/qemu/qemu_monitor.c @@ -3995,15 +3995,6 @@ qemuMonitorSetBlockThreshold(qemuMonitor *mon, } -virJSONValue * -qemuMonitorQueryNamedBlockNodes(qemuMonitor *mon) -{ - QEMU_CHECK_MONITOR_NULL(mon); - - return qemuMonitorJSONQueryNamedBlockNodes(mon, false); -} - - char * qemuMonitorGuestPanicEventInfoFormatMsg(qemuMonitorEventPanicInfo *info) { diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index 0e3640c1da..352cf0ada5 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -1335,8 +1335,6 @@ int qemuMonitorSetBlockThreshold(qemuMonitor *mon, const char *nodename, unsigned long long threshold); -virJSONValue *qemuMonitorQueryNamedBlockNodes(qemuMonitor *mon); - int qemuMonitorSetWatchdogAction(qemuMonitor *mon, const char *action); diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index 4584786872..9363f86a55 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -2056,6 +2056,36 @@ qemuMonitorJSONSetDBusVMStateIdList(qemuMonitor *mon, } +/* qemuMonitorJSONQueryNamedBlockNodes: + * @mon: Monitor pointer + * + * This helper will attempt to make a "query-named-block-nodes" call and check for + * errors before returning with the reply. + * + * Returns: NULL on error, reply on success + */ +static virJSONValue * +qemuMonitorJSONQueryNamedBlockNodes(qemuMonitor *mon, + bool flat) +{ + g_autoptr(virJSONValue) cmd = NULL; + g_autoptr(virJSONValue) reply = NULL; + + if (!(cmd = qemuMonitorJSONMakeCommand("query-named-block-nodes", + "B:flat", flat, + NULL))) + return NULL; + + if (qemuMonitorJSONCommand(mon, cmd, &reply) < 0) + return NULL; + + if (qemuMonitorJSONCheckReply(cmd, reply, VIR_JSON_TYPE_ARRAY) < 0) + return NULL; + + return virJSONValueObjectStealArray(reply, "return"); +} + + /* qemuMonitorJSONQueryBlock: * @mon: Monitor pointer * @@ -7882,28 +7912,6 @@ qemuMonitorJSONSetBlockThreshold(qemuMonitor *mon, } -virJSONValue * -qemuMonitorJSONQueryNamedBlockNodes(qemuMonitor *mon, - bool flat) -{ - g_autoptr(virJSONValue) cmd = NULL; - g_autoptr(virJSONValue) reply = NULL; - - if (!(cmd = qemuMonitorJSONMakeCommand("query-named-block-nodes", - "B:flat", flat, - NULL))) - return NULL; - - if (qemuMonitorJSONCommand(mon, cmd, &reply) < 0) - return NULL; - - if (qemuMonitorJSONCheckReply(cmd, reply, VIR_JSON_TYPE_ARRAY) < 0) - return NULL; - - return virJSONValueObjectStealArray(reply, "return"); -} - - int qemuMonitorJSONSetWatchdogAction(qemuMonitor *mon, const char *action) diff --git a/src/qemu/qemu_monitor_json.h b/src/qemu/qemu_monitor_json.h index 613b251908..31f6214ec4 100644 --- a/src/qemu/qemu_monitor_json.h +++ b/src/qemu/qemu_monitor_json.h @@ -713,11 +713,6 @@ qemuMonitorJSONSetBlockThreshold(qemuMonitor *mon, unsigned long long threshold) ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2); -virJSONValue * -qemuMonitorJSONQueryNamedBlockNodes(qemuMonitor *mon, - bool flat) - ATTRIBUTE_NONNULL(1); - int qemuMonitorJSONSetWatchdogAction(qemuMonitor *mon, const char *action) -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:18PM +0200, Peter Krempa wrote:
The top level API is unused so it can be removed but internally the JSON version is called by other monitor commands which extract information from the reply.
Thus qemuMonitorJSONQueryNamedBlockNodes is unexported and moved appropriately.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_monitor.c | 9 ------- src/qemu/qemu_monitor.h | 2 -- src/qemu/qemu_monitor_json.c | 52 +++++++++++++++++++++--------------- src/qemu/qemu_monitor_json.h | 5 ---- 4 files changed, 30 insertions(+), 38 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_driver.c | 171 ++++++++++++++++------------------------- 1 file changed, 66 insertions(+), 105 deletions(-) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 811b4a610c..bae9558cfd 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -14943,8 +14943,7 @@ qemuDomainBlockCopyValidateMirror(virStorageSource *mirror, */ static int qemuDomainBlockCopyCommonValidateUserMirrorBackingStore(virStorageSource *mirror, - bool shallow, - bool blockdev) + bool shallow) { if (!virStorageSourceHasBacking(mirror)) { /* for deep copy there won't be backing chain so we can terminate it */ @@ -14960,12 +14959,6 @@ qemuDomainBlockCopyCommonValidateUserMirrorBackingStore(virStorageSource *mirror * For a copy when we are not reusing external image requesting shallow * is okay and will inherit the original backing chain */ } else { - if (!blockdev) { - virReportError(VIR_ERR_INVALID_ARG, "%s", - _("backingStore of mirror target is not supported by this qemu")); - return -1; - } - if (!shallow) { virReportError(VIR_ERR_INVALID_ARG, "%s", _("backingStore of mirror without VIR_DOMAIN_BLOCK_COPY_SHALLOW doesn't make sense")); @@ -15000,13 +14993,11 @@ qemuDomainBlockCopyCommon(virDomainObj *vm, bool need_unlink = false; bool need_revoke = false; g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); - const char *format = NULL; bool mirror_reuse = !!(flags & VIR_DOMAIN_BLOCK_COPY_REUSE_EXT); bool mirror_shallow = !!(flags & VIR_DOMAIN_BLOCK_COPY_SHALLOW); bool existing = mirror_reuse; qemuBlockJobData *job = NULL; g_autoptr(virStorageSource) mirror = mirrorsrc; - bool blockdev = virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV); bool supports_create = false; bool supports_access = false; bool supports_detect = false; @@ -15060,12 +15051,6 @@ qemuDomainBlockCopyCommon(virDomainObj *vm, virDomainDiskDefSourceLUNValidate(mirror) < 0) goto endjob; - if (syncWrites && !blockdev) { - virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s", - _("VIR_DOMAIN_BLOCK_COPY_SYNCHRONOUS_WRITES is not supported by this VM")); - goto endjob; - } - if (!(flags & VIR_DOMAIN_BLOCK_COPY_TRANSIENT_JOB) && vm->persistent) { /* XXX if qemu ever lets us start a new domain with mirroring @@ -15084,8 +15069,7 @@ qemuDomainBlockCopyCommon(virDomainObj *vm, } if (qemuDomainBlockCopyCommonValidateUserMirrorBackingStore(mirror, - mirror_shallow, - blockdev) < 0) + mirror_shallow) < 0) goto endjob; /* unless the user provides a pre-created file, shallow copy into a raw @@ -15098,14 +15082,6 @@ qemuDomainBlockCopyCommon(virDomainObj *vm, goto endjob; } - /* Prepare the destination file. */ - if (!blockdev && - !virStorageSourceIsLocalStorage(mirror)) { - virReportError(VIR_ERR_ARGUMENT_UNSUPPORTED, "%s", - _("non-file destination not supported yet")); - goto endjob; - } - supports_access = virStorageSourceSupportsAccess(mirror) == 1; supports_create = virStorageSourceSupportsCreate(mirror) == 1; supports_detect = virStorageSourceSupportsBackingChainTraversal(mirror) == 1; @@ -15148,8 +15124,8 @@ qemuDomainBlockCopyCommon(virDomainObj *vm, goto endjob; } - /* pre-create the image file. In case when 'blockdev' is used this is - * required so that libvirt can properly label the image for access by qemu */ + /* pre-create the image file. This is required so that libvirt can properly + * label the image for access by qemu */ if (!existing) { if (supports_create) { if (virStorageSourceCreate(mirror) < 0) { @@ -15161,9 +15137,6 @@ qemuDomainBlockCopyCommon(virDomainObj *vm, } } - if (mirror->format > 0) - format = virStorageFileFormatTypeToString(mirror->format); - if (virStorageSourceInitChainElement(mirror, disk->src, keepParentLabel) < 0) goto endjob; @@ -15179,21 +15152,19 @@ qemuDomainBlockCopyCommon(virDomainObj *vm, /* we must initialize XML-provided chain prior to detecting to keep semantics * with VM startup */ - if (blockdev) { - for (n = mirror; virStorageSourceIsBacking(n); n = n->backingStore) { - if (qemuDomainPrepareStorageSourceBlockdev(disk, n, priv, cfg) < 0) - goto endjob; - } - - /* 'qemuDomainPrepareStorageSourceBlockdev' calls - * 'qemuDomainPrepareDiskSourceData' which propagates 'detect_zeroes' - * into the topmost virStorage source of the disk chain. - * Since 'mirror' has the ambition to replace it we need to propagate - * it into the mirror too. We do it directly as otherwise we'd need - * to modify all callers of 'qemuDomainPrepareStorageSourceBlockdev' */ - mirror->detect_zeroes = disk->detect_zeroes; + for (n = mirror; virStorageSourceIsBacking(n); n = n->backingStore) { + if (qemuDomainPrepareStorageSourceBlockdev(disk, n, priv, cfg) < 0) + goto endjob; } + /* 'qemuDomainPrepareStorageSourceBlockdev' calls + * 'qemuDomainPrepareDiskSourceData' which propagates 'detect_zeroes' + * into the topmost virStorage source of the disk chain. + * Since 'mirror' has the ambition to replace it we need to propagate + * it into the mirror too. We do it directly as otherwise we'd need + * to modify all callers of 'qemuDomainPrepareStorageSourceBlockdev' */ + mirror->detect_zeroes = disk->detect_zeroes; + /* If reusing an external image that includes a backing file but the user * did not enumerate the chain in the XML we need to detect the chain */ if (mirror_reuse && @@ -15206,67 +15177,65 @@ qemuDomainBlockCopyCommon(virDomainObj *vm, goto endjob; need_revoke = true; - if (blockdev) { - if (mirror_reuse) { - /* oVirt depended on late-backing-chain-opening semantics the old - * qemu command had to copy the backing chain data while the top - * level is being copied. To restore this semantics if - * blockdev-reopen is supported defer opening of the backing chain - * of 'mirror' to the pivot step */ - if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV_SNAPSHOT_ALLOW_WRITE_ONLY)) { - g_autoptr(virStorageSource) terminator = virStorageSourceNew(); - - if (!(data = qemuBuildStorageSourceChainAttachPrepareBlockdevTop(mirror, - terminator))) - goto endjob; - } else { - if (!(data = qemuBuildStorageSourceChainAttachPrepareBlockdev(mirror))) - goto endjob; - } + if (mirror_reuse) { + /* oVirt depended on late-backing-chain-opening semantics the old + * qemu command had to copy the backing chain data while the top + * level is being copied. To restore this semantics if + * blockdev-reopen is supported defer opening of the backing chain + * of 'mirror' to the pivot step */ + if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV_SNAPSHOT_ALLOW_WRITE_ONLY)) { + g_autoptr(virStorageSource) terminator = virStorageSourceNew(); + + if (!(data = qemuBuildStorageSourceChainAttachPrepareBlockdevTop(mirror, + terminator))) + goto endjob; } else { - if (!(blockNamedNodeData = qemuBlockGetNamedNodeData(vm, VIR_ASYNC_JOB_NONE))) + if (!(data = qemuBuildStorageSourceChainAttachPrepareBlockdev(mirror))) goto endjob; + } + } else { + if (!(blockNamedNodeData = qemuBlockGetNamedNodeData(vm, VIR_ASYNC_JOB_NONE))) + goto endjob; - if (qemuBlockStorageSourceCreateDetectSize(blockNamedNodeData, - mirror, disk->src)) - goto endjob; + if (qemuBlockStorageSourceCreateDetectSize(blockNamedNodeData, + mirror, disk->src)) + goto endjob; + + if (mirror_shallow) { + /* if external backing store is populated we'll need to open it */ + if (virStorageSourceHasBacking(mirror)) { + if (!(data = qemuBuildStorageSourceChainAttachPrepareBlockdev(mirror->backingStore))) + goto endjob; - if (mirror_shallow) { - /* if external backing store is populated we'll need to open it */ - if (virStorageSourceHasBacking(mirror)) { - if (!(data = qemuBuildStorageSourceChainAttachPrepareBlockdev(mirror->backingStore))) - goto endjob; - - mirrorBacking = mirror->backingStore; - } else { - /* backing store of original image will be reused, but the - * new image must refer to it in the metadata */ - mirrorBacking = disk->src->backingStore; - } - } else { mirrorBacking = mirror->backingStore; + } else { + /* backing store of original image will be reused, but the + * new image must refer to it in the metadata */ + mirrorBacking = disk->src->backingStore; } - - if (!(crdata = qemuBuildStorageSourceChainAttachPrepareBlockdevTop(mirror, - mirrorBacking))) - goto endjob; + } else { + mirrorBacking = mirror->backingStore; } - if (data) { - qemuDomainObjEnterMonitor(driver, vm); - rc = qemuBlockStorageSourceChainAttach(priv->mon, data); - qemuDomainObjExitMonitor(vm); + if (!(crdata = qemuBuildStorageSourceChainAttachPrepareBlockdevTop(mirror, + mirrorBacking))) + goto endjob; + } - if (rc < 0) - goto endjob; - } + if (data) { + qemuDomainObjEnterMonitor(driver, vm); + rc = qemuBlockStorageSourceChainAttach(priv->mon, data); + qemuDomainObjExitMonitor(vm); - if (crdata && - qemuBlockStorageSourceCreate(vm, mirror, mirrorBacking, mirror->backingStore, - crdata->srcdata[0], VIR_ASYNC_JOB_NONE) < 0) + if (rc < 0) goto endjob; } + if (crdata && + qemuBlockStorageSourceCreate(vm, mirror, mirrorBacking, mirror->backingStore, + crdata->srcdata[0], VIR_ASYNC_JOB_NONE) < 0) + goto endjob; + if (!(job = qemuBlockJobDiskNewCopy(vm, disk, mirror, mirror_shallow, mirror_reuse, flags))) goto endjob; @@ -15275,19 +15244,11 @@ qemuDomainBlockCopyCommon(virDomainObj *vm, /* Actually start the mirroring */ qemuDomainObjEnterMonitor(driver, vm); - if (blockdev) { - ret = qemuMonitorBlockdevMirror(priv->mon, job->name, true, - qemuDomainDiskGetTopNodename(disk), - mirror->nodeformat, bandwidth, - granularity, buf_size, mirror_shallow, - syncWrites); - } else { - /* qemuMonitorDriveMirror needs to honor the REUSE_EXT flag as specified - * by the user */ - ret = qemuMonitorDriveMirror(priv->mon, job->name, mirror->path, format, - bandwidth, granularity, buf_size, - mirror_shallow, mirror_reuse); - } + ret = qemuMonitorBlockdevMirror(priv->mon, job->name, true, + qemuDomainDiskGetTopNodename(disk), + mirror->nodeformat, bandwidth, + granularity, buf_size, mirror_shallow, + syncWrites); virDomainAuditDisk(vm, NULL, mirror, "mirror", ret >= 0); qemuDomainObjExitMonitor(vm); -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:19PM +0200, Peter Krempa wrote:
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_driver.c | 171 ++++++++++++++++------------------------- 1 file changed, 66 insertions(+), 105 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_monitor.c | 21 ------------------ src/qemu/qemu_monitor.h | 10 --------- src/qemu/qemu_monitor_json.c | 41 ------------------------------------ src/qemu/qemu_monitor_json.h | 11 ---------- tests/qemumonitorjsontest.c | 2 -- 5 files changed, 85 deletions(-) diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c index a4b1b90c7c..9c24b842bd 100644 --- a/src/qemu/qemu_monitor.c +++ b/src/qemu/qemu_monitor.c @@ -2871,27 +2871,6 @@ qemuMonitorDeleteSnapshot(qemuMonitor *mon, const char *name) } -/* Start a drive-mirror block job. bandwidth is in bytes/sec. */ -int -qemuMonitorDriveMirror(qemuMonitor *mon, - const char *device, const char *file, - const char *format, unsigned long long bandwidth, - unsigned int granularity, unsigned long long buf_size, - bool shallow, - bool reuse) -{ - VIR_DEBUG("device=%s, file=%s, format=%s, bandwidth=%lld, " - "granularity=%#x, buf_size=%lld, shallow=%d, reuse=%d", - device, file, NULLSTR(format), bandwidth, granularity, - buf_size, shallow, reuse); - - QEMU_CHECK_MONITOR(mon); - - return qemuMonitorJSONDriveMirror(mon, device, file, format, bandwidth, - granularity, buf_size, shallow, reuse); -} - - int qemuMonitorBlockdevMirror(qemuMonitor *mon, const char *jobname, diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index 352cf0ada5..aee9ca0e6a 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -979,16 +979,6 @@ int qemuMonitorDeleteSnapshot(qemuMonitor *mon, const char *name); int qemuMonitorTransaction(qemuMonitor *mon, virJSONValue **actions) ATTRIBUTE_NONNULL(2); -int qemuMonitorDriveMirror(qemuMonitor *mon, - const char *device, - const char *file, - const char *format, - unsigned long long bandwidth, - unsigned int granularity, - unsigned long long buf_size, - bool shallow, - bool reuse) - ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3); int qemuMonitorBlockdevMirror(qemuMonitor *mon, const char *jobname, bool persistjob, diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index 9363f86a55..bd3130075b 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -4096,47 +4096,6 @@ qemuMonitorJSONDelObject(qemuMonitor *mon, } -/* speed is in bytes/sec */ -int -qemuMonitorJSONDriveMirror(qemuMonitor *mon, - const char *device, const char *file, - const char *format, unsigned long long speed, - unsigned int granularity, - unsigned long long buf_size, - bool shallow, - bool reuse) -{ - g_autoptr(virJSONValue) cmd = NULL; - g_autoptr(virJSONValue) reply = NULL; - const char *syncmode = "full"; - const char *mode = "absolute-paths"; - - if (shallow) - syncmode = "top"; - - if (reuse) - mode = "existing"; - - cmd = qemuMonitorJSONMakeCommand("drive-mirror", - "s:device", device, - "s:target", file, - "Y:speed", speed, - "z:granularity", granularity, - "P:buf-size", buf_size, - "s:sync", syncmode, - "s:mode", mode, - "S:format", format, - NULL); - if (!cmd) - return -1; - - if (qemuMonitorJSONCommand(mon, cmd, &reply) < 0) - return -1; - - return qemuMonitorJSONCheckError(cmd, reply); -} - - int qemuMonitorJSONBlockdevMirror(qemuMonitor *mon, const char *jobname, diff --git a/src/qemu/qemu_monitor_json.h b/src/qemu/qemu_monitor_json.h index 31f6214ec4..f409480c0b 100644 --- a/src/qemu/qemu_monitor_json.h +++ b/src/qemu/qemu_monitor_json.h @@ -305,17 +305,6 @@ int qemuMonitorJSONTransaction(qemuMonitor *mon, virJSONValue **actions) ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2); -int -qemuMonitorJSONDriveMirror(qemuMonitor *mon, - const char *device, - const char *file, - const char *format, - unsigned long long speed, - unsigned int granularity, - unsigned long long buf_size, - bool shallow, - bool reuse) - ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3); int qemuMonitorJSONBlockdevMirror(qemuMonitor *mon, diff --git a/tests/qemumonitorjsontest.c b/tests/qemumonitorjsontest.c index 0bff1ed4d0..265fa0b705 100644 --- a/tests/qemumonitorjsontest.c +++ b/tests/qemumonitorjsontest.c @@ -1213,7 +1213,6 @@ GEN_TEST_FUNC(qemuMonitorJSONGraphicsRelocate, VIR_DOMAIN_GRAPHICS_TYPE_SPICE, "localhost", 12345, 12346, "certsubjectval") GEN_TEST_FUNC(qemuMonitorJSONRemoveNetdev, "net0") GEN_TEST_FUNC(qemuMonitorJSONDelDevice, "ide0") -GEN_TEST_FUNC(qemuMonitorJSONDriveMirror, "vdb", "/foo/bar", "formatstr", 1024, 1234, 31234, true, true) GEN_TEST_FUNC(qemuMonitorJSONBlockdevMirror, "jobname", true, "vdb", "targetnode", 1024, 1234, 31234, true, true) GEN_TEST_FUNC(qemuMonitorJSONBlockStream, "vdb", "jobname", true, "/foo/bar1", "backingnode", "backingfilename", 1024) GEN_TEST_FUNC(qemuMonitorJSONBlockCommit, "vdb", "jobname", true, "/foo/bar1", "topnode", "/foo/bar2", "basenode", "backingfilename", 1024) @@ -3001,7 +3000,6 @@ mymain(void) DO_TEST_GEN(qemuMonitorJSONGraphicsRelocate); DO_TEST_GEN(qemuMonitorJSONRemoveNetdev); DO_TEST_GEN(qemuMonitorJSONDelDevice); - DO_TEST_GEN(qemuMonitorJSONDriveMirror); DO_TEST_GEN(qemuMonitorJSONBlockdevMirror); DO_TEST_GEN(qemuMonitorJSONBlockStream); DO_TEST_GEN(qemuMonitorJSONBlockCommit); -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:20PM +0200, Peter Krempa wrote:
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_monitor.c | 21 ------------------ src/qemu/qemu_monitor.h | 10 --------- src/qemu/qemu_monitor_json.c | 41 ------------------------------------ src/qemu/qemu_monitor_json.h | 11 ---------- tests/qemumonitorjsontest.c | 2 -- 5 files changed, 85 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_driver.c | 60 +++++++++--------------------------------- 1 file changed, 13 insertions(+), 47 deletions(-) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index bae9558cfd..e8dc524186 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -15469,24 +15469,16 @@ qemuDomainBlockCommit(virDomainPtr dom, virQEMUDriver *driver = dom->conn->privateData; qemuDomainObjPrivate *priv; virDomainObj *vm = NULL; - const char *device = NULL; - const char *jobname = NULL; int ret = -1; virDomainDiskDef *disk = NULL; virStorageSource *topSource; virStorageSource *baseSource = NULL; virStorageSource *top_parent = NULL; bool clean_access = false; - g_autofree char *topPath = NULL; - g_autofree char *basePath = NULL; g_autofree char *backingPath = NULL; unsigned long long speed = bandwidth; qemuBlockJobData *job = NULL; g_autoptr(virStorageSource) mirror = NULL; - const char *nodetop = NULL; - const char *nodebase = NULL; - bool persistjob = false; - bool blockdev = false; virCheckFlags(VIR_DOMAIN_BLOCK_COMMIT_SHALLOW | VIR_DOMAIN_BLOCK_COMMIT_ACTIVE | @@ -15507,8 +15499,6 @@ qemuDomainBlockCommit(virDomainPtr dom, if (virDomainObjCheckActive(vm) < 0) goto endjob; - blockdev = virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV); - /* Convert bandwidth MiB to bytes, if necessary */ if (!(flags & VIR_DOMAIN_BLOCK_COMMIT_BANDWIDTH_BYTES)) { if (speed > LLONG_MAX >> 20) { @@ -15539,12 +15529,6 @@ qemuDomainBlockCommit(virDomainPtr dom, if (qemuDomainSupportsCheckpointsBlockjobs(vm) < 0) goto endjob; - if (!blockdev && (flags & VIR_DOMAIN_BLOCK_COMMIT_DELETE)) { - virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s", - _("deleting committed images is not supported by this VM")); - goto endjob; - } - if (!top || STREQ(top, disk->dst)) topSource = disk->src; else if (!(topSource = virStorageSourceChainLookup(disk->src, NULL, top, @@ -15600,7 +15584,7 @@ qemuDomainBlockCommit(virDomainPtr dom, if (flags & VIR_DOMAIN_BLOCK_COMMIT_RELATIVE && topSource != disk->src) { - if (blockdev && top_parent && + if (top_parent && qemuBlockUpdateRelativeBacking(vm, top_parent, disk->src) < 0) goto endjob; @@ -15644,39 +15628,21 @@ qemuDomainBlockCommit(virDomainPtr dom, disk->mirrorState = VIR_DOMAIN_DISK_MIRROR_STATE_NONE; - /* Start the commit operation. Pass the user's original spelling, - * if any, through to qemu, since qemu may behave differently - * depending on whether the input was specified as relative or - * absolute (that is, our absolute top_canon may do the wrong - * thing if the user specified a relative name). */ - - if (blockdev) { - persistjob = true; - jobname = job->name; - nodetop = topSource->nodeformat; - nodebase = baseSource->nodeformat; - device = qemuDomainDiskGetTopNodename(disk); - if (!backingPath && top_parent && - !(backingPath = qemuBlockGetBackingStoreString(baseSource, false))) - goto endjob; - - } else { - device = job->name; - } + if (!backingPath && top_parent && + !(backingPath = qemuBlockGetBackingStoreString(baseSource, false))) + goto endjob; qemuDomainObjEnterMonitor(driver, vm); - if (!blockdev) { - basePath = qemuMonitorDiskNameLookup(priv->mon, device, disk->src, - baseSource); - topPath = qemuMonitorDiskNameLookup(priv->mon, device, disk->src, - topSource); - } - - if (blockdev || (basePath && topPath)) - ret = qemuMonitorBlockCommit(priv->mon, device, jobname, persistjob, - topPath, nodetop, basePath, nodebase, - backingPath, speed); + ret = qemuMonitorBlockCommit(priv->mon, + qemuDomainDiskGetTopNodename(disk), + job->name, + true, + NULL, + topSource->nodeformat, + NULL, + baseSource->nodeformat, + backingPath, speed); qemuDomainObjExitMonitor(vm); -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:21PM +0200, Peter Krempa wrote:
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_driver.c | 60 +++++++++--------------------------------- 1 file changed, 13 insertions(+), 47 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

The 'persistjob' is always true and 'top' and 'base' are always NULL. Adjust the functions to drop the arguments. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_driver.c | 3 --- src/qemu/qemu_monitor.c | 15 +++++---------- src/qemu/qemu_monitor.h | 3 --- src/qemu/qemu_monitor_json.c | 14 ++------------ src/qemu/qemu_monitor_json.h | 3 --- tests/qemumonitorjsontest.c | 2 +- 6 files changed, 8 insertions(+), 32 deletions(-) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index e8dc524186..ac20d04353 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -15637,10 +15637,7 @@ qemuDomainBlockCommit(virDomainPtr dom, ret = qemuMonitorBlockCommit(priv->mon, qemuDomainDiskGetTopNodename(disk), job->name, - true, - NULL, topSource->nodeformat, - NULL, baseSource->nodeformat, backingPath, speed); diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c index 9c24b842bd..1453181f94 100644 --- a/src/qemu/qemu_monitor.c +++ b/src/qemu/qemu_monitor.c @@ -2913,24 +2913,19 @@ int qemuMonitorBlockCommit(qemuMonitor *mon, const char *device, const char *jobname, - bool persistjob, - const char *top, const char *topNode, - const char *base, const char *baseNode, const char *backingName, unsigned long long bandwidth) { - VIR_DEBUG("device=%s, jobname=%s, persistjob=%d, top=%s, topNode=%s, " - "base=%s, baseNode=%s, backingName=%s, bandwidth=%llu", - device, NULLSTR(jobname), persistjob, NULLSTR(top), NULLSTR(topNode), - NULLSTR(base), NULLSTR(baseNode), NULLSTR(backingName), bandwidth); + VIR_DEBUG("device=%s, jobname=%s, topNode=%s, baseNode=%s, backingName=%s, bandwidth=%llu", + device, NULLSTR(jobname), NULLSTR(topNode), + NULLSTR(baseNode), NULLSTR(backingName), bandwidth); QEMU_CHECK_MONITOR(mon); - return qemuMonitorJSONBlockCommit(mon, device, jobname, persistjob, top, - topNode, base, baseNode, backingName, - bandwidth); + return qemuMonitorJSONBlockCommit(mon, device, jobname, topNode, baseNode, + backingName, bandwidth); } diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index aee9ca0e6a..7aed4ffd4f 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -997,10 +997,7 @@ int qemuMonitorDrivePivot(qemuMonitor *mon, int qemuMonitorBlockCommit(qemuMonitor *mon, const char *device, const char *jobname, - bool persistjob, - const char *top, const char *topNode, - const char *base, const char *baseNode, const char *backingName, unsigned long long bandwidth) diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index bd3130075b..e6eb41d85b 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -4176,31 +4176,21 @@ int qemuMonitorJSONBlockCommit(qemuMonitor *mon, const char *device, const char *jobname, - bool persistjob, - const char *top, const char *topNode, - const char *base, const char *baseNode, const char *backingName, unsigned long long speed) { g_autoptr(virJSONValue) cmd = NULL; g_autoptr(virJSONValue) reply = NULL; - virTristateBool autofinalize = VIR_TRISTATE_BOOL_ABSENT; - virTristateBool autodismiss = VIR_TRISTATE_BOOL_ABSENT; - - if (persistjob) { - autofinalize = VIR_TRISTATE_BOOL_YES; - autodismiss = VIR_TRISTATE_BOOL_NO; - } + virTristateBool autofinalize = VIR_TRISTATE_BOOL_YES; + virTristateBool autodismiss = VIR_TRISTATE_BOOL_NO; cmd = qemuMonitorJSONMakeCommand("block-commit", "s:device", device, "S:job-id", jobname, "Y:speed", speed, - "S:top", top, "S:top-node", topNode, - "S:base", base, "S:base-node", baseNode, "S:backing-file", backingName, "T:auto-finalize", autofinalize, diff --git a/src/qemu/qemu_monitor_json.h b/src/qemu/qemu_monitor_json.h index f409480c0b..9da26ca646 100644 --- a/src/qemu/qemu_monitor_json.h +++ b/src/qemu/qemu_monitor_json.h @@ -328,10 +328,7 @@ int qemuMonitorJSONBlockCommit(qemuMonitor *mon, const char *device, const char *jobname, - bool persistjob, - const char *top, const char *topNode, - const char *base, const char *baseNode, const char *backingName, unsigned long long bandwidth) diff --git a/tests/qemumonitorjsontest.c b/tests/qemumonitorjsontest.c index 265fa0b705..d5915720c8 100644 --- a/tests/qemumonitorjsontest.c +++ b/tests/qemumonitorjsontest.c @@ -1215,7 +1215,7 @@ GEN_TEST_FUNC(qemuMonitorJSONRemoveNetdev, "net0") GEN_TEST_FUNC(qemuMonitorJSONDelDevice, "ide0") GEN_TEST_FUNC(qemuMonitorJSONBlockdevMirror, "jobname", true, "vdb", "targetnode", 1024, 1234, 31234, true, true) GEN_TEST_FUNC(qemuMonitorJSONBlockStream, "vdb", "jobname", true, "/foo/bar1", "backingnode", "backingfilename", 1024) -GEN_TEST_FUNC(qemuMonitorJSONBlockCommit, "vdb", "jobname", true, "/foo/bar1", "topnode", "/foo/bar2", "basenode", "backingfilename", 1024) +GEN_TEST_FUNC(qemuMonitorJSONBlockCommit, "vdb", "jobname", "topnode", "basenode", "backingfilename", 1024) GEN_TEST_FUNC(qemuMonitorJSONDrivePivot, "vdb") GEN_TEST_FUNC(qemuMonitorJSONScreendump, "devicename", 1, "/foo/bar") GEN_TEST_FUNC(qemuMonitorJSONOpenGraphics, "spice", "spicefd", false) -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:22PM +0200, Peter Krempa wrote:
The 'persistjob' is always true and 'top' and 'base' are always NULL. Adjust the functions to drop the arguments.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_driver.c | 3 --- src/qemu/qemu_monitor.c | 15 +++++---------- src/qemu/qemu_monitor.h | 3 --- src/qemu/qemu_monitor_json.c | 14 ++------------ src/qemu/qemu_monitor_json.h | 3 --- tests/qemumonitorjsontest.c | 2 +- 6 files changed, 8 insertions(+), 32 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_driver.c | 41 ++++++++++++++--------------------------- 1 file changed, 14 insertions(+), 27 deletions(-) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index ac20d04353..7a2d8dde5e 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -14466,17 +14466,12 @@ qemuDomainBlockPullCommon(virDomainObj *vm, { qemuDomainObjPrivate *priv = vm->privateData; virQEMUDriver *driver = priv->driver; - const char *device = NULL; - const char *jobname = NULL; virDomainDiskDef *disk; virStorageSource *baseSource = NULL; - g_autofree char *basePath = NULL; g_autofree char *backingPath = NULL; unsigned long long speed = bandwidth; qemuBlockJobData *job = NULL; - bool persistjob = false; const char *nodebase = NULL; - bool blockdev = virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV); int ret = -1; if (flags & VIR_DOMAIN_BLOCK_REBASE_RELATIVE && !base) { @@ -14511,8 +14506,7 @@ qemuDomainBlockPullCommon(virDomainObj *vm, if (baseSource) { if (flags & VIR_DOMAIN_BLOCK_REBASE_RELATIVE) { - if (blockdev && - qemuBlockUpdateRelativeBacking(vm, disk->src, disk->src) < 0) + if (qemuBlockUpdateRelativeBacking(vm, disk->src, disk->src) < 0) goto endjob; if (virStorageSourceGetRelativeBackingPath(disk->src->backingStore, @@ -14542,29 +14536,22 @@ qemuDomainBlockPullCommon(virDomainObj *vm, if (!(job = qemuBlockJobDiskNewPull(vm, disk, baseSource, flags))) goto endjob; - if (blockdev) { - jobname = job->name; - persistjob = true; - if (baseSource) { - nodebase = baseSource->nodeformat; - if (!backingPath && - !(backingPath = qemuBlockGetBackingStoreString(baseSource, false))) - goto endjob; - } - device = disk->src->nodeformat; - } else { - device = job->name; + if (baseSource) { + nodebase = baseSource->nodeformat; + if (!backingPath && + !(backingPath = qemuBlockGetBackingStoreString(baseSource, false))) + goto endjob; } qemuDomainObjEnterMonitor(driver, vm); - if (!blockdev && baseSource) - basePath = qemuMonitorDiskNameLookup(priv->mon, device, disk->src, - baseSource); - - if (blockdev || - (!baseSource || basePath)) - ret = qemuMonitorBlockStream(priv->mon, device, jobname, persistjob, basePath, - nodebase, backingPath, speed); + ret = qemuMonitorBlockStream(priv->mon, + disk->src->nodeformat, + job->name, + true, + NULL, + nodebase, + backingPath, + speed); qemuDomainObjExitMonitor(vm); if (ret < 0) -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:23PM +0200, Peter Krempa wrote:
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_driver.c | 41 ++++++++++++++--------------------------- 1 file changed, 14 insertions(+), 27 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_driver.c | 2 -- src/qemu/qemu_monitor.c | 15 +++------------ src/qemu/qemu_monitor.h | 2 -- src/qemu/qemu_monitor_json.c | 12 ++---------- src/qemu/qemu_monitor_json.h | 2 -- tests/qemumonitorjsontest.c | 2 +- 6 files changed, 6 insertions(+), 29 deletions(-) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 7a2d8dde5e..e4caccfbd9 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -14547,8 +14547,6 @@ qemuDomainBlockPullCommon(virDomainObj *vm, ret = qemuMonitorBlockStream(priv->mon, disk->src->nodeformat, job->name, - true, - NULL, nodebase, backingPath, speed); diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c index 1453181f94..15fe6690e9 100644 --- a/src/qemu/qemu_monitor.c +++ b/src/qemu/qemu_monitor.c @@ -3016,26 +3016,17 @@ int qemuMonitorBlockStream(qemuMonitor *mon, const char *device, const char *jobname, - bool persistjob, - const char *base, const char *baseNode, const char *backingName, unsigned long long bandwidth) { - VIR_DEBUG("device=%s, jobname=%s, persistjob=%d, base=%s, baseNode=%s, " - "backingName=%s, bandwidth=%lluB", - device, NULLSTR(jobname), persistjob, NULLSTR(base), + VIR_DEBUG("device=%s, jobname=%s, baseNode=%s, backingName=%s, bandwidth=%lluB", + device, NULLSTR(jobname), NULLSTR(baseNode), NULLSTR(backingName), bandwidth); QEMU_CHECK_MONITOR(mon); - if (base && baseNode) { - virReportError(VIR_ERR_INTERNAL_ERROR, "%s", - _("'base' and 'baseNode' can't be used together")); - return -1; - } - - return qemuMonitorJSONBlockStream(mon, device, jobname, persistjob, base, + return qemuMonitorJSONBlockStream(mon, device, jobname, baseNode, backingName, bandwidth); } diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index 7aed4ffd4f..89b2348775 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -1029,8 +1029,6 @@ int qemuMonitorSendKey(qemuMonitor *mon, int qemuMonitorBlockStream(qemuMonitor *mon, const char *device, const char *jobname, - bool persistjob, - const char *base, const char *baseNode, const char *backingName, unsigned long long bandwidth) diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index e6eb41d85b..e569cf27be 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -4531,27 +4531,19 @@ int qemuMonitorJSONBlockStream(qemuMonitor *mon, const char *device, const char *jobname, - bool persistjob, - const char *base, const char *baseNode, const char *backingName, unsigned long long speed) { g_autoptr(virJSONValue) cmd = NULL; g_autoptr(virJSONValue) reply = NULL; - virTristateBool autofinalize = VIR_TRISTATE_BOOL_ABSENT; - virTristateBool autodismiss = VIR_TRISTATE_BOOL_ABSENT; - - if (persistjob) { - autofinalize = VIR_TRISTATE_BOOL_YES; - autodismiss = VIR_TRISTATE_BOOL_NO; - } + virTristateBool autofinalize = VIR_TRISTATE_BOOL_YES; + virTristateBool autodismiss = VIR_TRISTATE_BOOL_NO; if (!(cmd = qemuMonitorJSONMakeCommand("block-stream", "s:device", device, "S:job-id", jobname, "Y:speed", speed, - "S:base", base, "S:base-node", baseNode, "S:backing-file", backingName, "T:auto-finalize", autofinalize, diff --git a/src/qemu/qemu_monitor_json.h b/src/qemu/qemu_monitor_json.h index 9da26ca646..4f780e02aa 100644 --- a/src/qemu/qemu_monitor_json.h +++ b/src/qemu/qemu_monitor_json.h @@ -367,8 +367,6 @@ int qemuMonitorJSONBlockStream(qemuMonitor *mon, const char *device, const char *jobname, - bool persistjob, - const char *base, const char *baseNode, const char *backingName, unsigned long long speed) diff --git a/tests/qemumonitorjsontest.c b/tests/qemumonitorjsontest.c index d5915720c8..f1c403d5b3 100644 --- a/tests/qemumonitorjsontest.c +++ b/tests/qemumonitorjsontest.c @@ -1214,7 +1214,7 @@ GEN_TEST_FUNC(qemuMonitorJSONGraphicsRelocate, VIR_DOMAIN_GRAPHICS_TYPE_SPICE, GEN_TEST_FUNC(qemuMonitorJSONRemoveNetdev, "net0") GEN_TEST_FUNC(qemuMonitorJSONDelDevice, "ide0") GEN_TEST_FUNC(qemuMonitorJSONBlockdevMirror, "jobname", true, "vdb", "targetnode", 1024, 1234, 31234, true, true) -GEN_TEST_FUNC(qemuMonitorJSONBlockStream, "vdb", "jobname", true, "/foo/bar1", "backingnode", "backingfilename", 1024) +GEN_TEST_FUNC(qemuMonitorJSONBlockStream, "vdb", "jobname", "backingnode", "backingfilename", 1024) GEN_TEST_FUNC(qemuMonitorJSONBlockCommit, "vdb", "jobname", "topnode", "basenode", "backingfilename", 1024) GEN_TEST_FUNC(qemuMonitorJSONDrivePivot, "vdb") GEN_TEST_FUNC(qemuMonitorJSONScreendump, "devicename", 1, "/foo/bar") -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:24PM +0200, Peter Krempa wrote:
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_driver.c | 2 -- src/qemu/qemu_monitor.c | 15 +++------------ src/qemu/qemu_monitor.h | 2 -- src/qemu/qemu_monitor_json.c | 12 ++---------- src/qemu/qemu_monitor_json.h | 2 -- tests/qemumonitorjsontest.c | 2 +- 6 files changed, 6 insertions(+), 29 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_monitor.c | 14 ------- src/qemu/qemu_monitor.h | 5 --- src/qemu/qemu_monitor_json.c | 77 ------------------------------------ src/qemu/qemu_monitor_json.h | 8 ---- 4 files changed, 104 deletions(-) diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c index 15fe6690e9..f7dade5d79 100644 --- a/src/qemu/qemu_monitor.c +++ b/src/qemu/qemu_monitor.c @@ -2929,20 +2929,6 @@ qemuMonitorBlockCommit(qemuMonitor *mon, } -/* Determine the name that qemu is using for tracking the backing - * element TARGET within the chain starting at TOP. */ -char * -qemuMonitorDiskNameLookup(qemuMonitor *mon, - const char *device, - virStorageSource *top, - virStorageSource *target) -{ - QEMU_CHECK_MONITOR_NULL(mon); - - return qemuMonitorJSONDiskNameLookup(mon, device, top, target); -} - - /* Use the block-job-complete monitor command to pivot a block copy job. */ int qemuMonitorDrivePivot(qemuMonitor *mon, diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index 89b2348775..7374192da2 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -1002,11 +1002,6 @@ int qemuMonitorBlockCommit(qemuMonitor *mon, const char *backingName, unsigned long long bandwidth) ATTRIBUTE_NONNULL(2); -char *qemuMonitorDiskNameLookup(qemuMonitor *mon, - const char *device, - virStorageSource *top, - virStorageSource *target) - ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3) ATTRIBUTE_NONNULL(4); int qemuMonitorArbitraryCommand(qemuMonitor *mon, const char *cmd, diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index e569cf27be..7b6be69aa7 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -4208,83 +4208,6 @@ qemuMonitorJSONBlockCommit(qemuMonitor *mon, return 0; } - -static char * -qemuMonitorJSONDiskNameLookupOne(virJSONValue *image, - virStorageSource *top, - virStorageSource *target) -{ - virJSONValue *backing; - char *ret; - - /* The caller will report a generic message if we return NULL - * without an error; but in some cases we can improve by reporting - * a more specific message. */ - if (!top || !image) - return NULL; - if (top != target) { - backing = virJSONValueObjectGetObject(image, "backing-image"); - return qemuMonitorJSONDiskNameLookupOne(backing, top->backingStore, - target); - } - ret = g_strdup(virJSONValueObjectGetString(image, "filename")); - /* Sanity check - the name qemu gave us should resolve to the same - file tracked by our target description. */ - if (virStorageSourceIsLocalStorage(target) && - STRNEQ(ret, target->path) && - !virFileLinkPointsTo(ret, target->path)) { - virReportError(VIR_ERR_INTERNAL_ERROR, - _("qemu block name '%s' doesn't match expected '%s'"), - ret, target->path); - VIR_FREE(ret); - } - return ret; -} - - -char * -qemuMonitorJSONDiskNameLookup(qemuMonitor *mon, - const char *device, - virStorageSource *top, - virStorageSource *target) -{ - g_autoptr(virJSONValue) devices = NULL; - size_t i; - - if (!(devices = qemuMonitorJSONQueryBlock(mon))) - return NULL; - - for (i = 0; i < virJSONValueArraySize(devices); i++) { - virJSONValue *dev; - virJSONValue *inserted; - virJSONValue *image; - const char *thisdev; - - if (!(dev = qemuMonitorJSONGetBlockDev(devices, i))) - return NULL; - - if (!(thisdev = qemuMonitorJSONGetBlockDevDevice(dev))) - return NULL; - - if (STREQ(thisdev, device)) { - if ((inserted = virJSONValueObjectGetObject(dev, "inserted")) && - (image = virJSONValueObjectGetObject(inserted, "image"))) { - return qemuMonitorJSONDiskNameLookupOne(image, top, target); - } - } - } - /* Guarantee an error when returning NULL, but don't override a - * more specific error if one was already generated. */ - if (virGetLastErrorCode() == VIR_ERR_OK) { - virReportError(VIR_ERR_INTERNAL_ERROR, - _("unable to find backing name for device %s"), - device); - } - - return NULL; -} - - int qemuMonitorJSONArbitraryCommand(qemuMonitor *mon, const char *cmd_str, int fd, diff --git a/src/qemu/qemu_monitor_json.h b/src/qemu/qemu_monitor_json.h index 4f780e02aa..9a0bed0355 100644 --- a/src/qemu/qemu_monitor_json.h +++ b/src/qemu/qemu_monitor_json.h @@ -334,14 +334,6 @@ qemuMonitorJSONBlockCommit(qemuMonitor *mon, unsigned long long bandwidth) ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2); -char * -qemuMonitorJSONDiskNameLookup(qemuMonitor *mon, - const char *device, - virStorageSource *top, - virStorageSource *target) - ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3) - ATTRIBUTE_NONNULL(4); - int qemuMonitorJSONArbitraryCommand(qemuMonitor *mon, const char *cmd_str, -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:25PM +0200, Peter Krempa wrote:
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_monitor.c | 14 ------- src/qemu/qemu_monitor.h | 5 --- src/qemu/qemu_monitor_json.c | 77 ------------------------------------ src/qemu/qemu_monitor_json.h | 8 ---- 4 files changed, 104 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_driver.c | 50 +++++++++++++++++++----------------------- 1 file changed, 22 insertions(+), 28 deletions(-) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index e4caccfbd9..f1fc954f8c 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -14339,9 +14339,9 @@ qemuDomainBlockPivot(virQEMUDriver *driver, g_autoptr(qemuBlockStorageSourceChainData) chainattachdata = NULL; int ret = -1; qemuDomainObjPrivate *priv = vm->privateData; - bool blockdev = virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV); g_autoptr(virJSONValue) bitmapactions = NULL; g_autoptr(virJSONValue) reopenactions = NULL; + int rc = 0; if (job->state != QEMU_BLOCKJOB_STATE_READY) { virReportError(VIR_ERR_BLOCK_COPY_ACTIVE, @@ -14369,7 +14369,7 @@ qemuDomainBlockPivot(virQEMUDriver *driver, return -1; case QEMU_BLOCKJOB_TYPE_COPY: - if (blockdev && !job->jobflagsmissing) { + if (!job->jobflagsmissing) { bool shallow = job->jobflags & VIR_DOMAIN_BLOCK_COPY_SHALLOW; bool reuse = job->jobflags & VIR_DOMAIN_BLOCK_COPY_REUSE_EXT; @@ -14406,41 +14406,35 @@ qemuDomainBlockPivot(virQEMUDriver *driver, break; case QEMU_BLOCKJOB_TYPE_ACTIVE_COMMIT: - if (blockdev) { - bitmapactions = virJSONValueNewArray(); - - if (qemuMonitorTransactionBitmapAdd(bitmapactions, - job->data.commit.base->nodeformat, - "libvirt-tmp-activewrite", - false, - false, - 0) < 0) - return -1; - } + bitmapactions = virJSONValueNewArray(); + + if (qemuMonitorTransactionBitmapAdd(bitmapactions, + job->data.commit.base->nodeformat, + "libvirt-tmp-activewrite", + false, + false, + 0) < 0) + return -1; break; } qemuDomainObjEnterMonitor(driver, vm); - if (blockdev) { - int rc = 0; - if (chainattachdata) { - if ((rc = qemuBlockStorageSourceChainAttach(priv->mon, chainattachdata)) == 0) { - /* install backing images on success, or unplug them on failure */ - if ((rc = qemuMonitorTransaction(priv->mon, &reopenactions)) != 0) - qemuBlockStorageSourceChainDetach(priv->mon, chainattachdata); - } + if (chainattachdata) { + if ((rc = qemuBlockStorageSourceChainAttach(priv->mon, chainattachdata)) == 0) { + /* install backing images on success, or unplug them on failure */ + if ((rc = qemuMonitorTransaction(priv->mon, &reopenactions)) != 0) + qemuBlockStorageSourceChainDetach(priv->mon, chainattachdata); } + } - if (bitmapactions && rc == 0) - ignore_value(qemuMonitorTransaction(priv->mon, &bitmapactions)); + if (bitmapactions && rc == 0) + ignore_value(qemuMonitorTransaction(priv->mon, &bitmapactions)); + + if (rc == 0) + ret = qemuMonitorJobComplete(priv->mon, job->name); - if (rc == 0) - ret = qemuMonitorJobComplete(priv->mon, job->name); - } else { - ret = qemuMonitorDrivePivot(priv->mon, job->name); - } qemuDomainObjExitMonitor(vm); /* The pivot failed. The block job in QEMU remains in the synchronised state */ -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:26PM +0200, Peter Krempa wrote:
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_driver.c | 50 +++++++++++++++++++----------------------- 1 file changed, 22 insertions(+), 28 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_monitor.c | 13 ------------- src/qemu/qemu_monitor.h | 3 --- src/qemu/qemu_monitor_json.c | 23 ----------------------- src/qemu/qemu_monitor_json.h | 5 ----- tests/qemumonitorjsontest.c | 2 -- 5 files changed, 46 deletions(-) diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c index f7dade5d79..5e71945831 100644 --- a/src/qemu/qemu_monitor.c +++ b/src/qemu/qemu_monitor.c @@ -2929,19 +2929,6 @@ qemuMonitorBlockCommit(qemuMonitor *mon, } -/* Use the block-job-complete monitor command to pivot a block copy job. */ -int -qemuMonitorDrivePivot(qemuMonitor *mon, - const char *jobname) -{ - VIR_DEBUG("jobname=%s", jobname); - - QEMU_CHECK_MONITOR(mon); - - return qemuMonitorJSONDrivePivot(mon, jobname); -} - - int qemuMonitorArbitraryCommand(qemuMonitor *mon, const char *cmd, diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index 7374192da2..24a33b9b29 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -990,9 +990,6 @@ int qemuMonitorBlockdevMirror(qemuMonitor *mon, bool shallow, bool syncWrite) ATTRIBUTE_NONNULL(4) ATTRIBUTE_NONNULL(5); -int qemuMonitorDrivePivot(qemuMonitor *mon, - const char *jobname) - ATTRIBUTE_NONNULL(2); int qemuMonitorBlockCommit(qemuMonitor *mon, const char *device, diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index 7b6be69aa7..85a36ff68b 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -4532,29 +4532,6 @@ qemuMonitorJSONBlockJobSetSpeed(qemuMonitor *mon, } -int -qemuMonitorJSONDrivePivot(qemuMonitor *mon, - const char *jobname) -{ - g_autoptr(virJSONValue) cmd = NULL; - g_autoptr(virJSONValue) reply = NULL; - - cmd = qemuMonitorJSONMakeCommand("block-job-complete", - "s:device", jobname, - NULL); - if (!cmd) - return -1; - - if (qemuMonitorJSONCommand(mon, cmd, &reply) < 0) - return -1; - - if (qemuMonitorJSONBlockJobError(cmd, reply, jobname) < 0) - return -1; - - return 0; -} - - int qemuMonitorJSONJobDismiss(qemuMonitor *mon, const char *jobname) diff --git a/src/qemu/qemu_monitor_json.h b/src/qemu/qemu_monitor_json.h index 9a0bed0355..c5716dfe3e 100644 --- a/src/qemu/qemu_monitor_json.h +++ b/src/qemu/qemu_monitor_json.h @@ -319,11 +319,6 @@ qemuMonitorJSONBlockdevMirror(qemuMonitor *mon, bool syncWrite) ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(4) ATTRIBUTE_NONNULL(5); -int -qemuMonitorJSONDrivePivot(qemuMonitor *mon, - const char *jobname) - ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2); - int qemuMonitorJSONBlockCommit(qemuMonitor *mon, const char *device, diff --git a/tests/qemumonitorjsontest.c b/tests/qemumonitorjsontest.c index f1c403d5b3..ced288cf5a 100644 --- a/tests/qemumonitorjsontest.c +++ b/tests/qemumonitorjsontest.c @@ -1216,7 +1216,6 @@ GEN_TEST_FUNC(qemuMonitorJSONDelDevice, "ide0") GEN_TEST_FUNC(qemuMonitorJSONBlockdevMirror, "jobname", true, "vdb", "targetnode", 1024, 1234, 31234, true, true) GEN_TEST_FUNC(qemuMonitorJSONBlockStream, "vdb", "jobname", "backingnode", "backingfilename", 1024) GEN_TEST_FUNC(qemuMonitorJSONBlockCommit, "vdb", "jobname", "topnode", "basenode", "backingfilename", 1024) -GEN_TEST_FUNC(qemuMonitorJSONDrivePivot, "vdb") GEN_TEST_FUNC(qemuMonitorJSONScreendump, "devicename", 1, "/foo/bar") GEN_TEST_FUNC(qemuMonitorJSONOpenGraphics, "spice", "spicefd", false) GEN_TEST_FUNC(qemuMonitorJSONNBDServerAdd, "vda", "export", true, "bitmap") @@ -3003,7 +3002,6 @@ mymain(void) DO_TEST_GEN(qemuMonitorJSONBlockdevMirror); DO_TEST_GEN(qemuMonitorJSONBlockStream); DO_TEST_GEN(qemuMonitorJSONBlockCommit); - DO_TEST_GEN(qemuMonitorJSONDrivePivot); DO_TEST_GEN(qemuMonitorJSONScreendump); DO_TEST_GEN(qemuMonitorJSONOpenGraphics); DO_TEST_GEN_DEPRECATED(qemuMonitorJSONNBDServerAdd, true); -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:27PM +0200, Peter Krempa wrote:
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_monitor.c | 13 ------------- src/qemu/qemu_monitor.h | 3 --- src/qemu/qemu_monitor_json.c | 23 ----------------------- src/qemu/qemu_monitor_json.h | 5 ----- tests/qemumonitorjsontest.c | 2 -- 5 files changed, 46 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

With new qemu versions we setup floppies via -device. Some legacy output tests were not modernized yet so the expected output needs to be adjusted. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_command.c | 50 +++-------------------------------------- 1 file changed, 3 insertions(+), 47 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index e0c5e15a63..5c90138c73 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -2361,25 +2361,13 @@ qemuCommandAddExtDevice(virCommand *cmd, static void qemuBuildFloppyCommandLineControllerOptionsImplicit(virCommand *cmd, unsigned int bootindexA, - unsigned int bootindexB, - const char *backendA, - const char *backendB) + unsigned int bootindexB) { - if (backendA) { - virCommandAddArg(cmd, "-global"); - virCommandAddArgFormat(cmd, "isa-fdc.driveA=%s", backendA); - } - if (bootindexA > 0) { virCommandAddArg(cmd, "-global"); virCommandAddArgFormat(cmd, "isa-fdc.bootindexA=%u", bootindexA); } - if (backendB) { - virCommandAddArg(cmd, "-global"); - virCommandAddArgFormat(cmd, "isa-fdc.driveB=%s", backendB); - } - if (bootindexB > 0) { virCommandAddArg(cmd, "-global"); virCommandAddArgFormat(cmd, "isa-fdc.bootindexB=%u", bootindexB); @@ -2391,8 +2379,6 @@ static int qemuBuildFloppyCommandLineControllerOptionsExplicit(virCommand *cmd, unsigned int bootindexA, unsigned int bootindexB, - const char *backendA, - const char *backendB, const virDomainDef *def, virQEMUCaps *qemuCaps) { @@ -2400,9 +2386,7 @@ qemuBuildFloppyCommandLineControllerOptionsExplicit(virCommand *cmd, if (virJSONValueObjectAdd(&props, "s:driver", "isa-fdc", - "S:driveA", backendA, "p:bootindexA", bootindexA, - "S:driveB", backendB, "p:bootindexB", bootindexB, NULL) < 0) return -1; @@ -2421,13 +2405,10 @@ qemuBuildFloppyCommandLineControllerOptions(virCommand *cmd, { unsigned int bootindexA = 0; unsigned int bootindexB = 0; - g_autofree char *backendA = NULL; - g_autofree char *backendB = NULL; bool hasfloppy = false; size_t i; for (i = 0; i < def->ndisks; i++) { - g_autofree char *backendAlias = NULL; virDomainDiskDef *disk = def->disks[i]; if (disk->bus != VIR_DOMAIN_DISK_BUS_FDC) @@ -2435,17 +2416,10 @@ qemuBuildFloppyCommandLineControllerOptions(virCommand *cmd, hasfloppy = true; - /* with -blockdev we setup the floppy device and it's backend with -device */ - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_BLOCKDEV) && - qemuDomainDiskGetBackendAlias(disk, qemuCaps, &backendAlias) < 0) - return -1; - if (disk->info.addr.drive.unit) { bootindexB = disk->info.effectiveBootIndex; - backendB = g_steal_pointer(&backendAlias); } else { bootindexA = disk->info.effectiveBootIndex; - backendA = g_steal_pointer(&backendAlias); } } @@ -2456,17 +2430,13 @@ qemuBuildFloppyCommandLineControllerOptions(virCommand *cmd, if (qemuBuildFloppyCommandLineControllerOptionsExplicit(cmd, bootindexA, bootindexB, - backendA, - backendB, def, qemuCaps) < 0) return -1; } else { qemuBuildFloppyCommandLineControllerOptionsImplicit(cmd, bootindexA, - bootindexB, - backendA, - backendB); + bootindexB); } return 0; @@ -2602,12 +2572,6 @@ qemuBuildDiskCommandLine(virCommand *cmd, if (qemuDiskBusIsSD(disk->bus)) return 0; - /* floppy devices are instantiated via -drive ...,if=none and bound to the - * controller via -global isa-fdc.driveA/B options in the pre-blockdev era */ - if (disk->bus == VIR_DOMAIN_DISK_BUS_FDC && - !virQEMUCapsGet(qemuCaps, QEMU_CAPS_BLOCKDEV)) - return 0; - if (qemuCommandAddExtDevice(cmd, &disk->info, def, qemuCaps) < 0) return -1; @@ -2627,12 +2591,8 @@ qemuBuildDisksCommandLine(virCommand *cmd, virQEMUCaps *qemuCaps) { size_t i; - bool blockdev = virQEMUCapsGet(qemuCaps, QEMU_CAPS_BLOCKDEV); - /* If we want to express the floppy drives via -device, the controller needs - * to be instantiated prior to that */ - if (blockdev && - qemuBuildFloppyCommandLineControllerOptions(cmd, def, qemuCaps) < 0) + if (qemuBuildFloppyCommandLineControllerOptions(cmd, def, qemuCaps) < 0) return -1; for (i = 0; i < def->ndisks; i++) { @@ -2648,10 +2608,6 @@ qemuBuildDisksCommandLine(virCommand *cmd, return -1; } - if (!blockdev && - qemuBuildFloppyCommandLineControllerOptions(cmd, def, qemuCaps) < 0) - return -1; - return 0; } -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:28PM +0200, Peter Krempa wrote:
With new qemu versions we setup floppies via -device.
Some legacy output tests were not modernized yet so the expected output needs to be adjusted.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_command.c | 50 +++-------------------------------------- 1 file changed, 3 insertions(+), 47 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_command.c | 60 +++++++---------------------------------- src/qemu/qemu_domain.c | 5 +--- 2 files changed, 10 insertions(+), 55 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 5c90138c73..ed718eb81b 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -7045,8 +7045,7 @@ qemuBuildMachineCommandLine(virCommand *cmd, } } - if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_BLOCKDEV) && - virDomainDefHasOldStyleUEFI(def)) { + if (virDomainDefHasOldStyleUEFI(def)) { if (priv->pflash0) virBufferAsprintf(&buf, ",pflash0=%s", priv->pflash0->nodeformat); if (def->os.loader->nvram) @@ -9364,53 +9363,10 @@ qemuBuildRedirdevCommandLine(virCommand *cmd, } -static void -qemuBuildDomainLoaderPflashCommandLine(virCommand *cmd, - virDomainLoaderDef *loader, - virQEMUCaps *qemuCaps) -{ - g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; - int unit = 0; - - if (loader->secure == VIR_TRISTATE_BOOL_YES) { - virCommandAddArgList(cmd, - "-global", - "driver=cfi.pflash01,property=secure,value=on", - NULL); - } - - /* with blockdev we instantiate the pflash when formatting -machine */ - if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_BLOCKDEV)) - return; - - virBufferAddLit(&buf, "file="); - virQEMUBuildBufferEscapeComma(&buf, loader->path); - virBufferAsprintf(&buf, ",if=pflash,format=raw,unit=%d", unit); - unit++; - - if (loader->readonly) { - virBufferAsprintf(&buf, ",readonly=%s", - virTristateSwitchTypeToString(loader->readonly)); - } - - virCommandAddArg(cmd, "-drive"); - virCommandAddArgBuffer(cmd, &buf); - - if (loader->nvram) { - virBufferAddLit(&buf, "file="); - virQEMUBuildBufferEscapeComma(&buf, loader->nvram->path); - virBufferAsprintf(&buf, ",if=pflash,format=raw,unit=%d", unit); - - virCommandAddArg(cmd, "-drive"); - virCommandAddArgBuffer(cmd, &buf); - } -} - static void qemuBuildDomainLoaderCommandLine(virCommand *cmd, - virDomainDef *def, - virQEMUCaps *qemuCaps) + virDomainDef *def) { virDomainLoaderDef *loader = def->os.loader; @@ -9424,7 +9380,12 @@ qemuBuildDomainLoaderCommandLine(virCommand *cmd, break; case VIR_DOMAIN_LOADER_TYPE_PFLASH: - qemuBuildDomainLoaderPflashCommandLine(cmd, loader, qemuCaps); + if (loader->secure == VIR_TRISTATE_BOOL_YES) { + virCommandAddArgList(cmd, + "-global", + "driver=cfi.pflash01,property=secure,value=on", + NULL); + } break; case VIR_DOMAIN_LOADER_TYPE_NONE: @@ -9859,9 +9820,6 @@ qemuBuildPflashBlockdevCommandLine(virCommand *cmd, if (!virDomainDefHasOldStyleUEFI(vm->def)) return 0; - if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV)) - return 0; - if (priv->pflash0 && qemuBuildPflashBlockdevOne(cmd, priv->pflash0, priv->qemuCaps) < 0) return -1; @@ -10267,7 +10225,7 @@ qemuBuildCommandLine(virDomainObj *vm, if (qemuBuildCpuCommandLine(cmd, driver, def, qemuCaps) < 0) return NULL; - qemuBuildDomainLoaderCommandLine(cmd, def, qemuCaps); + qemuBuildDomainLoaderCommandLine(cmd, def); if (qemuBuildMemCommandLine(cmd, def, qemuCaps, priv) < 0) return NULL; diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 7403b2584b..8b55dd0361 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -11305,7 +11305,7 @@ qemuDomainSupportsCheckpointsBlockjobs(virDomainObj *vm) * qemuDomainInitializePflashStorageSource: * * This helper converts the specification of the source of the 'loader' in case - * PFLASH is required to virStorageSources in case QEMU_CAPS_BLOCKDEV is present. + * PFLASH is required to virStorageSources. * * This helper is used in the intermediate state when we don't support full * backing chains for pflash drives in the XML. @@ -11323,9 +11323,6 @@ qemuDomainInitializePflashStorageSource(virDomainObj *vm, virDomainDef *def = vm->def; g_autoptr(virStorageSource) pflash0 = NULL; - if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV)) - return 0; - if (!virDomainDefHasOldStyleUEFI(def)) return 0; -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:29PM +0200, Peter Krempa wrote:
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_command.c | 60 +++++++---------------------------------- src/qemu/qemu_domain.c | 5 +--- 2 files changed, 10 insertions(+), 55 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

The operation makes no sense regardless of the way how we specify disks. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_driver.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index f1fc954f8c..c2722c39da 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -9985,14 +9985,15 @@ qemuDomainBlockResize(virDomainPtr dom, disk->src->format == VIR_STORAGE_FILE_QED) size = VIR_ROUND_UP(size, 512); + if (virStorageSourceIsEmpty(disk->src) || disk->src->readonly) { + virReportError(VIR_ERR_OPERATION_UNSUPPORTED, + _("can't resize empty or readonly disk '%s'"), + disk->dst); + goto endjob; + } + if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV) && !qemuDiskBusIsSD(disk->bus)) { - if (virStorageSourceIsEmpty(disk->src) || disk->src->readonly) { - virReportError(VIR_ERR_OPERATION_UNSUPPORTED, - _("can't resize empty or readonly disk '%s'"), - disk->dst); - goto endjob; - } nodename = disk->src->nodeformat; } else { -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:30PM +0200, Peter Krempa wrote:
The operation makes no sense regardless of the way how we specify disks.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_driver.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_driver.c | 31 ++++++++++++------------------- 1 file changed, 12 insertions(+), 19 deletions(-) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index c2722c39da..59d1caa053 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -10054,7 +10054,6 @@ qemuDomainBlocksStatsGather(virQEMUDriver *driver, qemuBlockStats **retstats) { qemuDomainObjPrivate *priv = vm->privateData; - bool blockdev = virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV); virDomainDiskDef *disk = NULL; g_autoptr(GHashTable) blockstats = NULL; qemuBlockStats *stats; @@ -10090,12 +10089,8 @@ qemuDomainBlocksStatsGather(virQEMUDriver *driver, qemuDomainObjEnterMonitor(driver, vm); nstats = qemuMonitorGetAllBlockStatsInfo(priv->mon, &blockstats); - if (capacity && nstats >= 0) { - if (blockdev) - rc = qemuMonitorBlockStatsUpdateCapacityBlockdev(priv->mon, blockstats); - else - rc = qemuMonitorBlockStatsUpdateCapacity(priv->mon, blockstats); - } + if (capacity && nstats >= 0) + rc = qemuMonitorBlockStatsUpdateCapacityBlockdev(priv->mon, blockstats); qemuDomainObjExitMonitor(vm); @@ -10105,6 +10100,8 @@ qemuDomainBlocksStatsGather(virQEMUDriver *driver, *retstats = g_new0(qemuBlockStats, 1); if (entryname) { + qemuBlockStats *capstats; + if (!(stats = virHashLookup(blockstats, entryname))) { virReportError(VIR_ERR_INTERNAL_ERROR, _("cannot find statistics for device '%s'"), entryname); @@ -10113,18 +10110,14 @@ qemuDomainBlocksStatsGather(virQEMUDriver *driver, **retstats = *stats; - if (blockdev) { - /* capacity are reported only per node-name so we need to transfer them */ - qemuBlockStats *capstats; - - if (disk && disk->src && - (capstats = virHashLookup(blockstats, disk->src->nodeformat))) { - (*retstats)->capacity = capstats->capacity; - (*retstats)->physical = capstats->physical; - (*retstats)->wr_highest_offset = capstats->wr_highest_offset; - (*retstats)->wr_highest_offset_valid = capstats->wr_highest_offset_valid; - (*retstats)->write_threshold = capstats->write_threshold; - } + /* capacity are reported only per node-name so we need to transfer them */ + if (disk && disk->src && + (capstats = virHashLookup(blockstats, disk->src->nodeformat))) { + (*retstats)->capacity = capstats->capacity; + (*retstats)->physical = capstats->physical; + (*retstats)->wr_highest_offset = capstats->wr_highest_offset; + (*retstats)->wr_highest_offset_valid = capstats->wr_highest_offset_valid; + (*retstats)->write_threshold = capstats->write_threshold; } } else { for (i = 0; i < vm->def->ndisks; i++) { -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:31PM +0200, Peter Krempa wrote:
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_driver.c | 31 ++++++++++++------------------- 1 file changed, 12 insertions(+), 19 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_monitor.c | 11 ------- src/qemu/qemu_monitor.h | 4 --- src/qemu/qemu_monitor_json.c | 59 ------------------------------------ src/qemu/qemu_monitor_json.h | 3 -- 4 files changed, 77 deletions(-) diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c index 5e71945831..f1a9524f28 100644 --- a/src/qemu/qemu_monitor.c +++ b/src/qemu/qemu_monitor.c @@ -2022,17 +2022,6 @@ qemuMonitorGetAllBlockStatsInfo(qemuMonitor *mon, } -/* Updates "stats" to fill virtual and physical size of the image */ -int -qemuMonitorBlockStatsUpdateCapacity(qemuMonitor *mon, - GHashTable *stats) -{ - QEMU_CHECK_MONITOR(mon); - - return qemuMonitorJSONBlockStatsUpdateCapacity(mon, stats); -} - - int qemuMonitorBlockStatsUpdateCapacityBlockdev(qemuMonitor *mon, GHashTable *stats) diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index 24a33b9b29..6e657576ae 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -681,10 +681,6 @@ int qemuMonitorGetAllBlockStatsInfo(qemuMonitor *mon, GHashTable **ret_stats) ATTRIBUTE_NONNULL(2); -int qemuMonitorBlockStatsUpdateCapacity(qemuMonitor *mon, - GHashTable *stats) - ATTRIBUTE_NONNULL(2); - int qemuMonitorBlockStatsUpdateCapacityBlockdev(qemuMonitor *mon, GHashTable *stats) ATTRIBUTE_NONNULL(2); diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index 85a36ff68b..b4a33184bd 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -2497,65 +2497,6 @@ qemuMonitorJSONBlockStatsUpdateCapacityData(virJSONValue *image, } -static int -qemuMonitorJSONBlockStatsUpdateCapacityOne(virJSONValue *image, - const char *dev_name, - int depth, - GHashTable *stats) -{ - g_autofree char *entry_name = qemuDomainStorageAlias(dev_name, depth); - virJSONValue *backing; - - if (qemuMonitorJSONBlockStatsUpdateCapacityData(image, entry_name, - stats, NULL) < 0) - return -1; - - if ((backing = virJSONValueObjectGetObject(image, "backing-image")) && - qemuMonitorJSONBlockStatsUpdateCapacityOne(backing, - dev_name, - depth + 1, - stats) < 0) - return -1; - - return 0; -} - - -int -qemuMonitorJSONBlockStatsUpdateCapacity(qemuMonitor *mon, - GHashTable *stats) -{ - size_t i; - g_autoptr(virJSONValue) devices = NULL; - - if (!(devices = qemuMonitorJSONQueryBlock(mon))) - return -1; - - for (i = 0; i < virJSONValueArraySize(devices); i++) { - virJSONValue *dev; - virJSONValue *inserted; - virJSONValue *image; - const char *dev_name; - - if (!(dev = qemuMonitorJSONGetBlockDev(devices, i))) - return -1; - - if (!(dev_name = qemuMonitorJSONGetBlockDevDevice(dev))) - return -1; - - /* drive may be empty */ - if (!(inserted = virJSONValueObjectGetObject(dev, "inserted")) || - !(image = virJSONValueObjectGetObject(inserted, "image"))) - continue; - - if (qemuMonitorJSONBlockStatsUpdateCapacityOne(image, dev_name, 0, stats) < 0) - return -1; - } - - return 0; -} - - static int qemuMonitorJSONBlockStatsUpdateCapacityBlockdevWorker(size_t pos G_GNUC_UNUSED, virJSONValue *val, diff --git a/src/qemu/qemu_monitor_json.h b/src/qemu/qemu_monitor_json.h index c5716dfe3e..9314baa5ba 100644 --- a/src/qemu/qemu_monitor_json.h +++ b/src/qemu/qemu_monitor_json.h @@ -99,9 +99,6 @@ int qemuMonitorJSONGetAllBlockStatsInfo(qemuMonitor *mon, GHashTable *hash); int -qemuMonitorJSONBlockStatsUpdateCapacity(qemuMonitor *mon, - GHashTable *stats); -int qemuMonitorJSONBlockStatsUpdateCapacityBlockdev(qemuMonitor *mon, GHashTable *stats); -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:32PM +0200, Peter Krempa wrote:
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_monitor.c | 11 ------- src/qemu/qemu_monitor.h | 4 --- src/qemu/qemu_monitor_json.c | 59 ------------------------------------ src/qemu/qemu_monitor_json.h | 3 -- 4 files changed, 77 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_driver.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 59d1caa053..1ecc9a71b3 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -9992,9 +9992,7 @@ qemuDomainBlockResize(virDomainPtr dom, goto endjob; } - if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV) && - !qemuDiskBusIsSD(disk->bus)) { - + if (!qemuDiskBusIsSD(disk->bus)) { nodename = disk->src->nodeformat; } else { if (!(device = qemuAliasDiskDriveFromDisk(disk))) @@ -16218,8 +16216,7 @@ qemuDomainSetBlockIoTune(virDomainPtr dom, /* blockdev-based qemu doesn't want to set the throttling when a cdrom * is empty. Skip the monitor call here since we will set the throttling * once new media is inserted */ - if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV) || - !virStorageSourceIsEmpty(disk->src)) { + if (!virStorageSourceIsEmpty(disk->src)) { int rc = 0; qemuDomainObjEnterMonitor(driver, vm); -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:33PM +0200, Peter Krempa wrote:
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_driver.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

All media are changed in blockdev-instantiated cdroms now, remove the old code. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_hotplug.c | 88 +---------------------------------------- 1 file changed, 1 insertion(+), 87 deletions(-) diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index 28e4284e62..a57db12144 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -269,89 +269,6 @@ qemuHotplugWaitForTrayEject(virDomainObj *vm, } -/** - * qemuDomainChangeMediaLegacy: - * @driver: qemu driver structure - * @vm: domain definition - * @disk: disk definition to change the source of - * @newsrc: new disk source to change to - * @force: force the change of media - * - * Change the media in an ejectable device to the one described by - * @newsrc. This function also removes the old source from the - * shared device table if appropriate. Note that newsrc is consumed - * on success and the old source is freed on success. - * - * Returns 0 on success, -1 on error and reports libvirt error - */ -static int -qemuDomainChangeMediaLegacy(virQEMUDriver *driver, - virDomainObj *vm, - virDomainDiskDef *disk, - virStorageSource *newsrc, - bool force) -{ - int rc; - g_autofree char *driveAlias = NULL; - qemuDomainObjPrivate *priv = vm->privateData; - qemuDomainDiskPrivate *diskPriv = QEMU_DOMAIN_DISK_PRIVATE(disk); - const char *format = NULL; - g_autofree char *sourcestr = NULL; - - if (!disk->info.alias) { - virReportError(VIR_ERR_INTERNAL_ERROR, - _("missing disk device alias name for %s"), disk->dst); - return -1; - } - - if (!(driveAlias = qemuAliasDiskDriveFromDisk(disk))) - return -1; - - qemuDomainObjEnterMonitor(driver, vm); - rc = qemuMonitorEjectMedia(priv->mon, driveAlias, force); - qemuDomainObjExitMonitor(vm); - - /* If the tray is present wait for it to open. */ - if (!force && diskPriv->tray) { - rc = qemuHotplugWaitForTrayEject(vm, disk); - if (rc < 0) - return -1; - - /* re-issue ejection command to pop out the media */ - qemuDomainObjEnterMonitor(driver, vm); - rc = qemuMonitorEjectMedia(priv->mon, driveAlias, false); - qemuDomainObjExitMonitor(vm); - if (rc < 0) - return -1; - - } else { - /* otherwise report possible errors from the attempt to eject the media */ - if (rc < 0) - return -1; - } - - if (!virStorageSourceIsEmpty(newsrc)) { - if (qemuGetDriveSourceString(newsrc, NULL, &sourcestr) < 0) - return -1; - - if (virStorageSourceGetActualType(newsrc) != VIR_STORAGE_TYPE_DIR) - format = virStorageFileFormatTypeToString(newsrc->format); - - qemuDomainObjEnterMonitor(driver, vm); - rc = qemuMonitorChangeMedia(priv->mon, - driveAlias, - sourcestr, - format); - qemuDomainObjExitMonitor(vm); - } - - if (rc < 0) - return -1; - - return 0; -} - - /** * qemuHotplugAttachDBusVMState: * @driver: QEMU driver object @@ -671,10 +588,7 @@ qemuDomainChangeEjectableMedia(virQEMUDriver *driver, if (qemuHotplugAttachManagedPR(driver, vm, newsrc, VIR_ASYNC_JOB_NONE) < 0) goto cleanup; - if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV)) - rc = qemuDomainChangeMediaBlockdev(driver, vm, disk, oldsrc, newsrc, force); - else - rc = qemuDomainChangeMediaLegacy(driver, vm, disk, newsrc, force); + rc = qemuDomainChangeMediaBlockdev(driver, vm, disk, oldsrc, newsrc, force); virDomainAuditDisk(vm, oldsrc, newsrc, "update", rc >= 0); -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:34PM +0200, Peter Krempa wrote:
All media are changed in blockdev-instantiated cdroms now, remove the old code.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_hotplug.c | 88 +---------------------------------------- 1 file changed, 1 insertion(+), 87 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_monitor.c | 27 ----------------- src/qemu/qemu_monitor.h | 9 ------ src/qemu/qemu_monitor_json.c | 57 ------------------------------------ src/qemu/qemu_monitor_json.h | 10 ------- tests/qemumonitorjsontest.c | 4 --- 5 files changed, 107 deletions(-) diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c index f1a9524f28..456c54aed3 100644 --- a/src/qemu/qemu_monitor.c +++ b/src/qemu/qemu_monitor.c @@ -2155,33 +2155,6 @@ qemuMonitorSetBalloon(qemuMonitor *mon, } -int -qemuMonitorEjectMedia(qemuMonitor *mon, - const char *dev_name, - bool force) -{ - VIR_DEBUG("dev_name=%s force=%d", dev_name, force); - - QEMU_CHECK_MONITOR(mon); - - return qemuMonitorJSONEjectMedia(mon, dev_name, force); -} - - -int -qemuMonitorChangeMedia(qemuMonitor *mon, - const char *dev_name, - const char *newmedia, - const char *format) -{ - VIR_DEBUG("dev_name=%s newmedia=%s format=%s", dev_name, newmedia, format); - - QEMU_CHECK_MONITOR(mon); - - return qemuMonitorJSONChangeMedia(mon, dev_name, newmedia, format); -} - - int qemuMonitorSaveVirtualMemory(qemuMonitor *mon, unsigned long long offset, diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index 6e657576ae..163e12c0f6 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -733,15 +733,6 @@ int qemuMonitorExpirePassword(qemuMonitor *mon, int qemuMonitorSetBalloon(qemuMonitor *mon, unsigned long long newmem); -int qemuMonitorEjectMedia(qemuMonitor *mon, - const char *dev_name, - bool force); -int qemuMonitorChangeMedia(qemuMonitor *mon, - const char *dev_name, - const char *newmedia, - const char *format); - - int qemuMonitorSaveVirtualMemory(qemuMonitor *mon, unsigned long long offset, unsigned long long length, diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index b4a33184bd..9c54d7cfa4 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -2812,63 +2812,6 @@ qemuMonitorJSONSetBalloon(qemuMonitor *mon, } -/** - * Run QMP command to eject a media from ejectable device. - * - * Returns: - * -1 on error - * 0 on success - */ -int qemuMonitorJSONEjectMedia(qemuMonitor *mon, - const char *dev_name, - bool force) -{ - g_autoptr(virJSONValue) cmd = qemuMonitorJSONMakeCommand("eject", - "s:device", dev_name, - "b:force", force, - NULL); - g_autoptr(virJSONValue) reply = NULL; - - if (!cmd) - return -1; - - if (qemuMonitorJSONCommand(mon, cmd, &reply) < 0) - return -1; - - if (qemuMonitorJSONCheckError(cmd, reply) < 0) - return -1; - - return 0; -} - - -int qemuMonitorJSONChangeMedia(qemuMonitor *mon, - const char *dev_name, - const char *newmedia, - const char *format) -{ - g_autoptr(virJSONValue) cmd = NULL; - g_autoptr(virJSONValue) reply = NULL; - - cmd = qemuMonitorJSONMakeCommand("change", - "s:device", dev_name, - "s:target", newmedia, - "S:arg", format, - NULL); - - if (!cmd) - return -1; - - if (qemuMonitorJSONCommand(mon, cmd, &reply) < 0) - return -1; - - if (qemuMonitorJSONCheckError(cmd, reply) < 0) - return -1; - - return 0; -} - - static int qemuMonitorJSONSaveMemory(qemuMonitor *mon, const char *cmdtype, unsigned long long offset, diff --git a/src/qemu/qemu_monitor_json.h b/src/qemu/qemu_monitor_json.h index 9314baa5ba..44458f703d 100644 --- a/src/qemu/qemu_monitor_json.h +++ b/src/qemu/qemu_monitor_json.h @@ -128,16 +128,6 @@ int qemuMonitorJSONSetBalloon(qemuMonitor *mon, unsigned long long newmem); -int -qemuMonitorJSONEjectMedia(qemuMonitor *mon, - const char *dev_name, - bool force); -int -qemuMonitorJSONChangeMedia(qemuMonitor *mon, - const char *dev_name, - const char *newmedia, - const char *format); - int qemuMonitorJSONSaveVirtualMemory(qemuMonitor *mon, unsigned long long offset, diff --git a/tests/qemumonitorjsontest.c b/tests/qemumonitorjsontest.c index ced288cf5a..1368871cc8 100644 --- a/tests/qemumonitorjsontest.c +++ b/tests/qemumonitorjsontest.c @@ -1199,8 +1199,6 @@ GEN_TEST_FUNC(qemuMonitorJSONBlockResize, "vda", "asdf", 123456) GEN_TEST_FUNC(qemuMonitorJSONSetPassword, "spice", "secret_password", "disconnect") GEN_TEST_FUNC(qemuMonitorJSONExpirePassword, "spice", "123456") GEN_TEST_FUNC(qemuMonitorJSONSetBalloon, 1024) -GEN_TEST_FUNC(qemuMonitorJSONEjectMedia, "hdc", true) -GEN_TEST_FUNC(qemuMonitorJSONChangeMedia, "hdc", "/foo/bar", "formatstr") GEN_TEST_FUNC(qemuMonitorJSONSaveVirtualMemory, 0, 1024, "/foo/bar") GEN_TEST_FUNC(qemuMonitorJSONSavePhysicalMemory, 0, 1024, "/foo/bar") GEN_TEST_FUNC(qemuMonitorJSONMigrate, QEMU_MONITOR_MIGRATE_BACKGROUND | @@ -2988,8 +2986,6 @@ mymain(void) DO_TEST_GEN(qemuMonitorJSONSetPassword); DO_TEST_GEN(qemuMonitorJSONExpirePassword); DO_TEST_GEN(qemuMonitorJSONSetBalloon); - DO_TEST_GEN(qemuMonitorJSONEjectMedia); - DO_TEST_GEN_DEPRECATED(qemuMonitorJSONChangeMedia, true); DO_TEST_GEN(qemuMonitorJSONSaveVirtualMemory); DO_TEST_GEN(qemuMonitorJSONSavePhysicalMemory); DO_TEST_GEN(qemuMonitorJSONMigrate); -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:35PM +0200, Peter Krempa wrote:
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_monitor.c | 27 ----------------- src/qemu/qemu_monitor.h | 9 ------ src/qemu/qemu_monitor_json.c | 57 ------------------------------------ src/qemu/qemu_monitor_json.h | 10 ------- tests/qemumonitorjsontest.c | 4 --- 5 files changed, 107 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

Enable blockdev mode and convert the expected commands to the modern equivalents in preparation for removing the old-style hotplug code paths. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- tests/qemuhotplugtest.c | 75 ++++++++++++------- .../qemuhotplug-base-ccw-live+ccw-virtio.xml | 2 +- ...with-2-ccw-virtio+ccw-virtio-1-reverse.xml | 4 +- ...otplug-base-ccw-live-with-2-ccw-virtio.xml | 2 +- ...-with-ccw-virtio+ccw-virtio-2-explicit.xml | 2 +- ...-ccw-live-with-ccw-virtio+ccw-virtio-2.xml | 2 +- .../qemuhotplug-base-live+cdrom-scsi.xml | 2 +- .../qemuhotplug-base-live+cdrom-usb.xml | 2 +- ...uhotplug-base-live+disk-scsi-multipath.xml | 2 +- ...+disk-scsi-wwn+disk-scsi-duplicate-wwn.xml | 2 +- .../qemuhotplug-base-live+disk-scsi.xml | 2 +- .../qemuhotplug-base-live+disk-usb.xml | 2 +- .../qemuhotplug-base-live+disk-virtio.xml | 2 +- ...thout-scsi-controller-live+disk-scsi-2.xml | 2 +- 14 files changed, 62 insertions(+), 41 deletions(-) diff --git a/tests/qemuhotplugtest.c b/tests/qemuhotplugtest.c index c938c8dc4c..5edcf3d989 100644 --- a/tests/qemuhotplugtest.c +++ b/tests/qemuhotplugtest.c @@ -73,6 +73,7 @@ qemuHotplugCreateObjects(virDomainXMLOption *xmlopt, virQEMUCapsInitQMPBasicArch(priv->qemuCaps); + virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV); virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_VIRTIO_SCSI); virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_DEVICE_USB_STORAGE); virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_CCW); @@ -670,7 +671,6 @@ mymain(void) #define QMP_OK "{\"return\": {}}" -#define HMP(msg) "{\"return\": \"" msg "\"}" #define QMP_DEVICE_DELETED(dev) \ "{" \ @@ -707,31 +707,37 @@ mymain(void) "chardev-remove", QMP_OK, "query-fdsets", "{\"return\": []}"); DO_TEST_ATTACH("base-live", "disk-virtio", false, true, - "human-monitor-command", HMP("OK\\r\\n"), + "blockdev-add", QMP_OK, + "blockdev-add", QMP_OK, "device_add", QMP_OK); DO_TEST_DETACH("base-live", "disk-virtio", true, true, "device_del", QMP_OK); DO_TEST_DETACH("base-live", "disk-virtio", false, false, "device_del", QMP_DEVICE_DELETED("virtio-disk4") QMP_OK, - "human-monitor-command", HMP("")); + "blockdev-del", QMP_OK, + "blockdev-del", QMP_OK); DO_TEST_ATTACH("base-live", "disk-usb", false, true, - "human-monitor-command", HMP("OK\\r\\n"), + "blockdev-add", QMP_OK, + "blockdev-add", QMP_OK, "device_add", QMP_OK); DO_TEST_DETACH("base-live", "disk-usb", true, true, "device_del", QMP_OK); DO_TEST_DETACH("base-live", "disk-usb", false, false, "device_del", QMP_DEVICE_DELETED("usb-disk16") QMP_OK, - "human-monitor-command", HMP("")); + "blockdev-del", QMP_OK, + "blockdev-del", QMP_OK); DO_TEST_ATTACH("base-live", "disk-scsi", false, true, - "human-monitor-command", HMP("OK\\r\\n"), + "blockdev-add", QMP_OK, + "blockdev-add", QMP_OK, "device_add", QMP_OK); DO_TEST_DETACH("base-live", "disk-scsi", true, true, "device_del", QMP_OK); DO_TEST_DETACH("base-live", "disk-scsi", false, false, "device_del", QMP_DEVICE_DELETED("scsi0-0-0-5") QMP_OK, - "human-monitor-command", HMP("")); + "blockdev-del", QMP_OK, + "blockdev-del", QMP_OK); DO_TEST_ATTACH("base-without-scsi-controller-live", "disk-scsi-2", false, true, /* Four controllers added */ @@ -739,24 +745,27 @@ mymain(void) "device_add", QMP_OK, "device_add", QMP_OK, "device_add", QMP_OK, - "human-monitor-command", HMP("OK\\r\\n"), - /* Disk added */ + "blockdev-add", QMP_OK, + "blockdev-add", QMP_OK, "device_add", QMP_OK); DO_TEST_DETACH("base-with-scsi-controller-live", "disk-scsi-2", true, true, "device_del", QMP_OK); DO_TEST_DETACH("base-with-scsi-controller-live", "disk-scsi-2", false, false, "device_del", QMP_DEVICE_DELETED("scsi3-0-5-6") QMP_OK, - "human-monitor-command", HMP("")); + "blockdev-del", QMP_OK, + "blockdev-del", QMP_OK); DO_TEST_ATTACH("base-live", "disk-scsi-multipath", false, true, "object-add", QMP_OK, - "human-monitor-command", HMP("OK\\r\\n"), + "blockdev-add", QMP_OK, + "blockdev-add", QMP_OK, "device_add", QMP_OK); DO_TEST_DETACH("base-live", "disk-scsi-multipath", true, true, "device_del", QMP_OK); DO_TEST_DETACH("base-live", "disk-scsi-multipath", false, false, "device_del", QMP_DEVICE_DELETED("scsi0-0-0-0") QMP_OK, - "human-monitor-command", HMP(""), + "blockdev-del", QMP_OK, + "blockdev-del", QMP_OK, "object-del", QMP_OK); DO_TEST_ATTACH("base-live", "qemu-agent", false, true, @@ -768,39 +777,46 @@ mymain(void) "chardev-remove", QMP_OK, "query-fdsets", "{\"return\": []}"); DO_TEST_ATTACH("base-ccw-live", "ccw-virtio", false, true, - "human-monitor-command", HMP("OK\\r\\n"), + "blockdev-add", QMP_OK, + "blockdev-add", QMP_OK, "device_add", QMP_OK); DO_TEST_DETACH("base-ccw-live", "ccw-virtio", false, false, "device_del", QMP_DEVICE_DELETED("virtio-disk4") QMP_OK, - "human-monitor-command", HMP("")); + "blockdev-del", QMP_OK, + "blockdev-del", QMP_OK); DO_TEST_ATTACH("base-ccw-live-with-ccw-virtio", "ccw-virtio-2", false, true, - "human-monitor-command", HMP("OK\\r\\n"), + "blockdev-add", QMP_OK, + "blockdev-add", QMP_OK, "device_add", QMP_OK); DO_TEST_DETACH("base-ccw-live-with-ccw-virtio", "ccw-virtio-2", false, false, "device_del", QMP_DEVICE_DELETED("virtio-disk0") QMP_OK, - "human-monitor-command", HMP("")); + "blockdev-del", QMP_OK, + "blockdev-del", QMP_OK); DO_TEST_ATTACH("base-ccw-live-with-ccw-virtio", "ccw-virtio-2-explicit", false, true, - "human-monitor-command", HMP("OK\\r\\n"), + "blockdev-add", QMP_OK, + "blockdev-add", QMP_OK, "device_add", QMP_OK); DO_TEST_DETACH("base-ccw-live-with-ccw-virtio", "ccw-virtio-2-explicit", false, false, "device_del", QMP_DEVICE_DELETED("virtio-disk0") QMP_OK, - "human-monitor-command", HMP("")); + "blockdev-del", QMP_OK, + "blockdev-del", QMP_OK); /* Attach a second device, then detach the first one. Then attach the first one again. */ DO_TEST_ATTACH("base-ccw-live-with-ccw-virtio", "ccw-virtio-2-explicit", false, true, - "human-monitor-command", HMP("OK\\r\\n"), + "blockdev-add", QMP_OK, + "blockdev-add", QMP_OK, "device_add", QMP_OK); DO_TEST_DETACH("base-ccw-live-with-2-ccw-virtio", "ccw-virtio-1-explicit", false, true, - "device_del", QMP_DEVICE_DELETED("virtio-disk4") QMP_OK, - "human-monitor-command", HMP("")); + "device_del", QMP_DEVICE_DELETED("virtio-disk4") QMP_OK); DO_TEST_ATTACH("base-ccw-live-with-2-ccw-virtio", "ccw-virtio-1-reverse", false, false, - "human-monitor-command", HMP("OK\\r\\n"), + "blockdev-add", QMP_OK, + "blockdev-add", QMP_OK, "device_add", QMP_OK); DO_TEST_ATTACH("base-live", "ivshmem-plain", false, true, @@ -817,7 +833,8 @@ mymain(void) "object-del", QMP_OK); DO_TEST_ATTACH("base-live+disk-scsi-wwn", "disk-scsi-duplicate-wwn", false, false, - "human-monitor-command", HMP("OK\\r\\n"), + "blockdev-add", QMP_OK, + "blockdev-add", QMP_OK, "device_add", QMP_OK); DO_TEST_ATTACH("base-live", "hostdev-pci", false, true, @@ -861,22 +878,26 @@ mymain(void) "netdev_del", QMP_OK); DO_TEST_ATTACH("base-live", "cdrom-usb", false, true, - "human-monitor-command", HMP("OK\\r\\n"), + "blockdev-add", QMP_OK, + "blockdev-add", QMP_OK, "device_add", QMP_OK); DO_TEST_DETACH("base-live", "cdrom-usb", true, true, "device_del", QMP_OK); DO_TEST_DETACH("base-live", "cdrom-usb", false, false, "device_del", QMP_DEVICE_DELETED("usb-disk4") QMP_OK, - "human-monitor-command", HMP("")); + "blockdev-del", QMP_OK, + "blockdev-del", QMP_OK); DO_TEST_ATTACH("base-live", "cdrom-scsi", false, true, - "human-monitor-command", HMP("OK\\r\\n"), + "blockdev-add", QMP_OK, + "blockdev-add", QMP_OK, "device_add", QMP_OK); DO_TEST_DETACH("base-live", "cdrom-scsi", true, true, "device_del", QMP_OK); DO_TEST_DETACH("base-live", "cdrom-scsi", false, false, "device_del", QMP_DEVICE_DELETED("scsi0-0-0-4") QMP_OK, - "human-monitor-command", HMP("")); + "blockdev-del", QMP_OK, + "blockdev-del", QMP_OK); #define DO_TEST_CPU_GROUP(prefix, vcpus, modernhp, expectfail) \ do { \ diff --git a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live+ccw-virtio.xml b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live+ccw-virtio.xml index a786d03185..4036adde89 100644 --- a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live+ccw-virtio.xml +++ b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live+ccw-virtio.xml @@ -21,7 +21,7 @@ <emulator>/usr/bin/qemu-system-s390x</emulator> <disk type='file' device='disk'> <driver name='qemu' type='raw' cache='none'/> - <source file='/dev/null'/> + <source file='/dev/null' index='1'/> <backingStore/> <target dev='vde' bus='virtio'/> <readonly/> diff --git a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-2-ccw-virtio+ccw-virtio-1-reverse.xml b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-2-ccw-virtio+ccw-virtio-1-reverse.xml index e048d2c23a..2eb7f9eb0e 100644 --- a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-2-ccw-virtio+ccw-virtio-1-reverse.xml +++ b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-2-ccw-virtio+ccw-virtio-1-reverse.xml @@ -21,7 +21,7 @@ <emulator>/usr/bin/qemu-system-s390x</emulator> <disk type='file' device='disk'> <driver name='qemu' type='raw' cache='none'/> - <source file='/dev/null'/> + <source file='/dev/null' index='1'/> <backingStore/> <target dev='hda' bus='virtio'/> <readonly/> @@ -31,7 +31,7 @@ </disk> <disk type='file' device='disk'> <driver name='qemu' type='raw' cache='none'/> - <source file='/dev/null'/> + <source file='/dev/null' index='2'/> <backingStore/> <target dev='hdb' bus='virtio'/> <readonly/> diff --git a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-2-ccw-virtio.xml b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-2-ccw-virtio.xml index fcf5bfadcb..935925bdba 100644 --- a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-2-ccw-virtio.xml +++ b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-2-ccw-virtio.xml @@ -21,7 +21,7 @@ <emulator>/usr/bin/qemu-system-s390x</emulator> <disk type='file' device='disk'> <driver name='qemu' type='raw' cache='none'/> - <source file='/dev/null'/> + <source file='/dev/null' index='1'/> <backingStore/> <target dev='hda' bus='virtio'/> <readonly/> diff --git a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-ccw-virtio+ccw-virtio-2-explicit.xml b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-ccw-virtio+ccw-virtio-2-explicit.xml index 8e7f479967..51fe4b461a 100644 --- a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-ccw-virtio+ccw-virtio-2-explicit.xml +++ b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-ccw-virtio+ccw-virtio-2-explicit.xml @@ -21,7 +21,7 @@ <emulator>/usr/bin/qemu-system-s390x</emulator> <disk type='file' device='disk'> <driver name='qemu' type='raw' cache='none'/> - <source file='/dev/null'/> + <source file='/dev/null' index='1'/> <backingStore/> <target dev='hda' bus='virtio'/> <readonly/> diff --git a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-ccw-virtio+ccw-virtio-2.xml b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-ccw-virtio+ccw-virtio-2.xml index 8e7f479967..51fe4b461a 100644 --- a/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-ccw-virtio+ccw-virtio-2.xml +++ b/tests/qemuhotplugtestdomains/qemuhotplug-base-ccw-live-with-ccw-virtio+ccw-virtio-2.xml @@ -21,7 +21,7 @@ <emulator>/usr/bin/qemu-system-s390x</emulator> <disk type='file' device='disk'> <driver name='qemu' type='raw' cache='none'/> - <source file='/dev/null'/> + <source file='/dev/null' index='1'/> <backingStore/> <target dev='hda' bus='virtio'/> <readonly/> diff --git a/tests/qemuhotplugtestdomains/qemuhotplug-base-live+cdrom-scsi.xml b/tests/qemuhotplugtestdomains/qemuhotplug-base-live+cdrom-scsi.xml index c3242a582f..922e9c1b4e 100644 --- a/tests/qemuhotplugtestdomains/qemuhotplug-base-live+cdrom-scsi.xml +++ b/tests/qemuhotplugtestdomains/qemuhotplug-base-live+cdrom-scsi.xml @@ -21,7 +21,7 @@ <emulator>/usr/bin/qemu-system-x86_64</emulator> <disk type='file' device='cdrom'> <driver name='qemu' type='raw' cache='none'/> - <source file='/dev/null'/> + <source file='/dev/null' index='1'/> <backingStore/> <target dev='sde' bus='scsi'/> <readonly/> diff --git a/tests/qemuhotplugtestdomains/qemuhotplug-base-live+cdrom-usb.xml b/tests/qemuhotplugtestdomains/qemuhotplug-base-live+cdrom-usb.xml index 89317f5dc8..ba8ce3b2c8 100644 --- a/tests/qemuhotplugtestdomains/qemuhotplug-base-live+cdrom-usb.xml +++ b/tests/qemuhotplugtestdomains/qemuhotplug-base-live+cdrom-usb.xml @@ -21,7 +21,7 @@ <emulator>/usr/bin/qemu-system-x86_64</emulator> <disk type='file' device='cdrom'> <driver name='qemu' type='raw' cache='none'/> - <source file='/dev/null'/> + <source file='/dev/null' index='1'/> <backingStore/> <target dev='sde' bus='usb'/> <readonly/> diff --git a/tests/qemuhotplugtestdomains/qemuhotplug-base-live+disk-scsi-multipath.xml b/tests/qemuhotplugtestdomains/qemuhotplug-base-live+disk-scsi-multipath.xml index caf1c06c2f..c43e023495 100644 --- a/tests/qemuhotplugtestdomains/qemuhotplug-base-live+disk-scsi-multipath.xml +++ b/tests/qemuhotplugtestdomains/qemuhotplug-base-live+disk-scsi-multipath.xml @@ -21,7 +21,7 @@ <emulator>/usr/bin/qemu-system-x86_64</emulator> <disk type='block' device='lun'> <driver name='qemu' type='raw'/> - <source dev='/dev/mapper/virt'> + <source dev='/dev/mapper/virt' index='1'> <reservations managed='yes'> <source type='unix' path='/tmp/lib/domain-7-hotplug/pr-helper0.sock' mode='client'/> </reservations> diff --git a/tests/qemuhotplugtestdomains/qemuhotplug-base-live+disk-scsi-wwn+disk-scsi-duplicate-wwn.xml b/tests/qemuhotplugtestdomains/qemuhotplug-base-live+disk-scsi-wwn+disk-scsi-duplicate-wwn.xml index ba99d0c2e4..b3089b2006 100644 --- a/tests/qemuhotplugtestdomains/qemuhotplug-base-live+disk-scsi-wwn+disk-scsi-duplicate-wwn.xml +++ b/tests/qemuhotplugtestdomains/qemuhotplug-base-live+disk-scsi-wwn+disk-scsi-duplicate-wwn.xml @@ -32,7 +32,7 @@ </disk> <disk type='file' device='disk'> <driver name='qemu' type='raw' cache='none'/> - <source file='/dev/null'/> + <source file='/dev/null' index='1'/> <backingStore/> <target dev='sdg' bus='scsi'/> <readonly/> diff --git a/tests/qemuhotplugtestdomains/qemuhotplug-base-live+disk-scsi.xml b/tests/qemuhotplugtestdomains/qemuhotplug-base-live+disk-scsi.xml index 66302b3872..4241b3b71a 100644 --- a/tests/qemuhotplugtestdomains/qemuhotplug-base-live+disk-scsi.xml +++ b/tests/qemuhotplugtestdomains/qemuhotplug-base-live+disk-scsi.xml @@ -21,7 +21,7 @@ <emulator>/usr/bin/qemu-system-x86_64</emulator> <disk type='file' device='disk'> <driver name='qemu' type='raw' cache='none'/> - <source file='/dev/null'/> + <source file='/dev/null' index='1'/> <backingStore/> <target dev='sdf' bus='scsi'/> <readonly/> diff --git a/tests/qemuhotplugtestdomains/qemuhotplug-base-live+disk-usb.xml b/tests/qemuhotplugtestdomains/qemuhotplug-base-live+disk-usb.xml index b462ad48e4..4202ded5b3 100644 --- a/tests/qemuhotplugtestdomains/qemuhotplug-base-live+disk-usb.xml +++ b/tests/qemuhotplugtestdomains/qemuhotplug-base-live+disk-usb.xml @@ -21,7 +21,7 @@ <emulator>/usr/bin/qemu-system-x86_64</emulator> <disk type='file' device='disk'> <driver name='qemu' type='raw' cache='none'/> - <source file='/dev/null'/> + <source file='/dev/null' index='1'/> <backingStore/> <target dev='sdq' bus='usb'/> <readonly/> diff --git a/tests/qemuhotplugtestdomains/qemuhotplug-base-live+disk-virtio.xml b/tests/qemuhotplugtestdomains/qemuhotplug-base-live+disk-virtio.xml index af68d7fc6e..02851d4ca1 100644 --- a/tests/qemuhotplugtestdomains/qemuhotplug-base-live+disk-virtio.xml +++ b/tests/qemuhotplugtestdomains/qemuhotplug-base-live+disk-virtio.xml @@ -21,7 +21,7 @@ <emulator>/usr/bin/qemu-system-x86_64</emulator> <disk type='file' device='disk'> <driver name='qemu' type='raw' cache='none'/> - <source file='/dev/null'/> + <source file='/dev/null' index='1'/> <backingStore/> <target dev='vde' bus='virtio'/> <readonly/> diff --git a/tests/qemuhotplugtestdomains/qemuhotplug-base-without-scsi-controller-live+disk-scsi-2.xml b/tests/qemuhotplugtestdomains/qemuhotplug-base-without-scsi-controller-live+disk-scsi-2.xml index ddc57cbb16..71dd10d40d 100644 --- a/tests/qemuhotplugtestdomains/qemuhotplug-base-without-scsi-controller-live+disk-scsi-2.xml +++ b/tests/qemuhotplugtestdomains/qemuhotplug-base-without-scsi-controller-live+disk-scsi-2.xml @@ -21,7 +21,7 @@ <emulator>/usr/bin/qemu-system-x86_64</emulator> <disk type='file' device='disk'> <driver name='qemu' type='raw' cache='none'/> - <source file='/dev/null'/> + <source file='/dev/null' index='1'/> <backingStore/> <target dev='sdf' bus='scsi'/> <readonly/> -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:36PM +0200, Peter Krempa wrote:
Enable blockdev mode and convert the expected commands to the modern equivalents in preparation for removing the old-style hotplug code paths.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- tests/qemuhotplugtest.c | 75 ++++++++++++------- .../qemuhotplug-base-ccw-live+ccw-virtio.xml | 2 +- ...with-2-ccw-virtio+ccw-virtio-1-reverse.xml | 4 +- ...otplug-base-ccw-live-with-2-ccw-virtio.xml | 2 +- ...-with-ccw-virtio+ccw-virtio-2-explicit.xml | 2 +- ...-ccw-live-with-ccw-virtio+ccw-virtio-2.xml | 2 +- .../qemuhotplug-base-live+cdrom-scsi.xml | 2 +- .../qemuhotplug-base-live+cdrom-usb.xml | 2 +- ...uhotplug-base-live+disk-scsi-multipath.xml | 2 +- ...+disk-scsi-wwn+disk-scsi-duplicate-wwn.xml | 2 +- .../qemuhotplug-base-live+disk-scsi.xml | 2 +- .../qemuhotplug-base-live+disk-usb.xml | 2 +- .../qemuhotplug-base-live+disk-virtio.xml | 2 +- ...thout-scsi-controller-live+disk-scsi-2.xml | 2 +- 14 files changed, 62 insertions(+), 41 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

SD card disks can't be detached, so it makes no sense to special case them in the unplug code. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_hotplug.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index a57db12144..3c35a115e3 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -4299,7 +4299,7 @@ qemuDomainRemoveDiskDevice(virQEMUDriver *driver, if (!(diskBackend = qemuBlockStorageSourceChainDetachPrepareChardev(chardevAlias))) goto cleanup; - } else if (blockdev && !qemuDiskBusIsSD(disk->bus)) { + } else if (blockdev) { if (diskPriv->blockjob) { /* the block job keeps reference to the disk chain */ diskPriv->blockjob->disk = NULL; -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:37PM +0200, Peter Krempa wrote:
SD card disks can't be detached, so it makes no sense to special case them in the unplug code.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_hotplug.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_hotplug.c | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-) diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index 3c35a115e3..d7f10d8277 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -656,7 +656,6 @@ qemuDomainAttachDiskGeneric(virQEMUDriver *driver, g_autoptr(qemuBlockStorageSourceChainData) data = NULL; qemuDomainObjPrivate *priv = vm->privateData; g_autoptr(virJSONValue) devprops = NULL; - bool blockdev = virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV); bool extensionDeviceAttached = false; int rc; g_autoptr(qemuSnapshotDiskContext) transientDiskSnapshotCtxt = NULL; @@ -668,7 +667,7 @@ qemuDomainAttachDiskGeneric(virQEMUDriver *driver, if (virStorageSourceGetActualType(disk->src) == VIR_STORAGE_TYPE_VHOST_USER) { if (!(data = qemuBuildStorageSourceChainAttachPrepareChardev(disk))) return -1; - } else if (blockdev) { + } else { if (!(data = qemuBuildStorageSourceChainAttachPrepareBlockdev(disk->src))) return -1; @@ -678,10 +677,6 @@ qemuDomainAttachDiskGeneric(virQEMUDriver *driver, data->copyOnReadNodename = g_strdup(QEMU_DOMAIN_DISK_PRIVATE(disk)->nodeCopyOnRead); } - - } else { - if (!(data = qemuBuildStorageSourceChainAttachPrepareDrive(disk))) - return -1; } disk->src->readonly = origReadonly; @@ -733,7 +728,7 @@ qemuDomainAttachDiskGeneric(virQEMUDriver *driver, * As there isn't anything sane to do if this fails, let's just return * success. */ - if (blockdev && rc == 0 && + if (rc == 0 && qemuDiskConfigBlkdeviotuneEnabled(disk)) { qemuDomainDiskPrivate *diskPriv = QEMU_DOMAIN_DISK_PRIVATE(disk); if (qemuMonitorSetBlockIoThrottle(priv->mon, NULL, diskPriv->qomName, @@ -4287,7 +4282,6 @@ qemuDomainRemoveDiskDevice(virQEMUDriver *driver, g_autoptr(qemuBlockStorageSourceChainData) diskBackend = NULL; size_t i; qemuDomainObjPrivate *priv = vm->privateData; - bool blockdev = virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV); int ret = -1; VIR_DEBUG("Removing disk %s from domain %p %s", @@ -4299,7 +4293,7 @@ qemuDomainRemoveDiskDevice(virQEMUDriver *driver, if (!(diskBackend = qemuBlockStorageSourceChainDetachPrepareChardev(chardevAlias))) goto cleanup; - } else if (blockdev) { + } else { if (diskPriv->blockjob) { /* the block job keeps reference to the disk chain */ diskPriv->blockjob->disk = NULL; @@ -4315,14 +4309,6 @@ qemuDomainRemoveDiskDevice(virQEMUDriver *driver, diskBackend->copyOnReadNodename = g_strdup(diskPriv->nodeCopyOnRead); diskBackend->copyOnReadAttached = true; } - } else { - char *driveAlias; - - if (!(driveAlias = qemuAliasDiskDriveFromDisk(disk))) - goto cleanup; - - if (!(diskBackend = qemuBlockStorageSourceChainDetachPrepareDrive(disk->src, driveAlias))) - goto cleanup; } for (i = 0; i < vm->def->ndisks; i++) { -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:38PM +0200, Peter Krempa wrote:
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_hotplug.c | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_block.c | 26 -------------------------- src/qemu/qemu_block.h | 3 --- 2 files changed, 29 deletions(-) diff --git a/src/qemu/qemu_block.c b/src/qemu/qemu_block.c index 6e643598bc..a5d9f47ec4 100644 --- a/src/qemu/qemu_block.c +++ b/src/qemu/qemu_block.c @@ -1657,32 +1657,6 @@ qemuBlockStorageSourceChainDetachPrepareBlockdev(virStorageSource *src) } -/** - * qemuBlockStorageSourceChainDetachPrepareLegacy - * @src: storage source chain to remove - * @driveAlias: Alias of the 'drive' backend (always consumed) - * - * Prepares qemuBlockStorageSourceChainData *for detaching @src and its - * backingStore if -drive was used. - */ -qemuBlockStorageSourceChainData * -qemuBlockStorageSourceChainDetachPrepareDrive(virStorageSource *src, - char *driveAlias) -{ - g_autoptr(qemuBlockStorageSourceAttachData) backend = NULL; - g_autoptr(qemuBlockStorageSourceChainData) data = NULL; - - data = g_new0(qemuBlockStorageSourceChainData, 1); - - if (!(backend = qemuBlockStorageSourceDetachPrepare(src, driveAlias))) - return NULL; - - VIR_APPEND_ELEMENT(data->srcdata, data->nsrcdata, backend); - - return g_steal_pointer(&data); -} - - /** * qemuBlockStorageSourceChainDetachPrepareChardev * @src: storage source chain to remove diff --git a/src/qemu/qemu_block.h b/src/qemu/qemu_block.h index 422c1a0deb..a20a5e8a61 100644 --- a/src/qemu/qemu_block.h +++ b/src/qemu/qemu_block.h @@ -150,9 +150,6 @@ qemuBlockStorageSourceChainDataFree(qemuBlockStorageSourceChainData *data); qemuBlockStorageSourceChainData * qemuBlockStorageSourceChainDetachPrepareBlockdev(virStorageSource *src); qemuBlockStorageSourceChainData * -qemuBlockStorageSourceChainDetachPrepareDrive(virStorageSource *src, - char *driveAlias); -qemuBlockStorageSourceChainData * qemuBlockStorageSourceChainDetachPrepareChardev(char *chardevAlias); int -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:39PM +0200, Peter Krempa wrote:
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_block.c | 26 -------------------------- src/qemu/qemu_block.h | 3 --- 2 files changed, 29 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_block.c | 33 +++++++++++++-------------------- src/qemu/qemu_block.h | 3 +-- src/qemu/qemu_blockjob.c | 4 ++-- src/qemu/qemu_hotplug.c | 2 +- 4 files changed, 17 insertions(+), 25 deletions(-) diff --git a/src/qemu/qemu_block.c b/src/qemu/qemu_block.c index a5d9f47ec4..afdcca2813 100644 --- a/src/qemu/qemu_block.c +++ b/src/qemu/qemu_block.c @@ -1555,36 +1555,29 @@ qemuBlockStorageSourceAttachRollback(qemuMonitor *mon, /** * qemuBlockStorageSourceDetachPrepare: * @src: disk source structure - * @driveAlias: Alias of the -drive backend, the pointer is always consumed * * Prepare qemuBlockStorageSourceAttachData *for detaching a single source - * from a VM. If @driveAlias is NULL -blockdev is assumed. + * from a VM. */ qemuBlockStorageSourceAttachData * -qemuBlockStorageSourceDetachPrepare(virStorageSource *src, - char *driveAlias) +qemuBlockStorageSourceDetachPrepare(virStorageSource *src) { qemuDomainStorageSourcePrivate *srcpriv = QEMU_DOMAIN_STORAGE_SOURCE_PRIVATE(src); g_autoptr(qemuBlockStorageSourceAttachData) data = NULL; data = g_new0(qemuBlockStorageSourceAttachData, 1); - if (driveAlias) { - data->driveAlias = g_steal_pointer(&driveAlias); - data->driveAdded = true; - } else { - data->formatNodeName = src->nodeformat; - data->formatAttached = true; - data->storageNodeName = src->nodestorage; - data->storageAttached = true; + data->formatNodeName = src->nodeformat; + data->formatAttached = true; + data->storageNodeName = src->nodestorage; + data->storageAttached = true; - /* 'raw' format doesn't need the extra 'raw' layer when slicing, thus - * the nodename is NULL */ - if (src->sliceStorage && - src->sliceStorage->nodename) { - data->storageSliceNodeName = src->sliceStorage->nodename; - data->storageSliceAttached = true; - } + /* 'raw' format doesn't need the extra 'raw' layer when slicing, thus + * the nodename is NULL */ + if (src->sliceStorage && + src->sliceStorage->nodename) { + data->storageSliceNodeName = src->sliceStorage->nodename; + data->storageSliceAttached = true; } if (src->pr && @@ -1647,7 +1640,7 @@ qemuBlockStorageSourceChainDetachPrepareBlockdev(virStorageSource *src) data = g_new0(qemuBlockStorageSourceChainData, 1); for (n = src; virStorageSourceIsBacking(n); n = n->backingStore) { - if (!(backend = qemuBlockStorageSourceDetachPrepare(n, NULL))) + if (!(backend = qemuBlockStorageSourceDetachPrepare(n))) return NULL; VIR_APPEND_ELEMENT(data->srcdata, data->nsrcdata, backend); diff --git a/src/qemu/qemu_block.h b/src/qemu/qemu_block.h index a20a5e8a61..d29d444a5a 100644 --- a/src/qemu/qemu_block.h +++ b/src/qemu/qemu_block.h @@ -116,8 +116,7 @@ qemuBlockStorageSourceAttachPrepareBlockdev(virStorageSource *src, bool autoreadonly); qemuBlockStorageSourceAttachData * -qemuBlockStorageSourceDetachPrepare(virStorageSource *src, - char *driveAlias); +qemuBlockStorageSourceDetachPrepare(virStorageSource *src); int qemuBlockStorageSourceAttachApply(qemuMonitor *mon, diff --git a/src/qemu/qemu_blockjob.c b/src/qemu/qemu_blockjob.c index 03c46923b3..62ed71f5a8 100644 --- a/src/qemu/qemu_blockjob.c +++ b/src/qemu/qemu_blockjob.c @@ -1328,7 +1328,7 @@ qemuBlockJobProcessEventConcludedCreate(virQEMUDriver *driver, if (!job->data.create.src) return; - if (!(backend = qemuBlockStorageSourceDetachPrepare(job->data.create.src, NULL))) + if (!(backend = qemuBlockStorageSourceDetachPrepare(job->data.create.src))) return; /* the format node part was not attached yet, so we don't need to detach it */ @@ -1365,7 +1365,7 @@ qemuBlockJobProcessEventConcludedBackup(virQEMUDriver *driver, progressCurrent, progressTotal, asyncJob); if (job->data.backup.store && - !(backend = qemuBlockStorageSourceDetachPrepare(job->data.backup.store, NULL))) + !(backend = qemuBlockStorageSourceDetachPrepare(job->data.backup.store))) return; if (qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) < 0) diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index d7f10d8277..a752702fc4 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -706,7 +706,7 @@ qemuDomainAttachDiskGeneric(virQEMUDriver *driver, goto rollback; QEMU_DOMAIN_DISK_PRIVATE(disk)->transientOverlayCreated = true; - backend = qemuBlockStorageSourceDetachPrepare(disk->src, NULL); + backend = qemuBlockStorageSourceDetachPrepare(disk->src); ignore_value(VIR_INSERT_ELEMENT(data->srcdata, 0, data->nsrcdata, backend)); } -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:40PM +0200, Peter Krempa wrote:
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_block.c | 33 +++++++++++++-------------------- src/qemu/qemu_block.h | 3 +-- src/qemu/qemu_blockjob.c | 4 ++-- src/qemu/qemu_hotplug.c | 2 +- 4 files changed, 17 insertions(+), 25 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_block.c | 14 -------------- src/qemu/qemu_block.h | 2 -- src/qemu/qemu_command.c | 3 +-- 3 files changed, 1 insertion(+), 18 deletions(-) diff --git a/src/qemu/qemu_block.c b/src/qemu/qemu_block.c index afdcca2813..f504d8bc4c 100644 --- a/src/qemu/qemu_block.c +++ b/src/qemu/qemu_block.c @@ -1304,7 +1304,6 @@ qemuBlockStorageSourceAttachDataFree(qemuBlockStorageSourceAttachData *data) g_free(data->encryptsecretAlias); g_free(data->httpcookiesecretAlias); g_free(data->driveCmd); - g_free(data->driveAlias); g_free(data->chardevAlias); g_free(data); } @@ -1472,13 +1471,6 @@ qemuBlockStorageSourceAttachApply(qemuMonitor *mon, qemuBlockStorageSourceAttachApplyFormat(mon, data) < 0) return -1; - if (data->driveCmd) { - if (qemuMonitorAddDrive(mon, data->driveCmd) < 0) - return -1; - - data->driveAdded = true; - } - if (data->chardevDef) { if (qemuMonitorAttachCharDev(mon, data->chardevAlias, data->chardevDef) < 0) return -1; @@ -1515,12 +1507,6 @@ qemuBlockStorageSourceAttachRollback(qemuMonitor *mon, } } - if (data->driveAdded) { - if (qemuMonitorDriveDel(mon, data->driveAlias) < 0) - VIR_WARN("Unable to remove drive %s (%s) after failed 'device_add'", - data->driveAlias, data->driveCmd); - } - if (data->formatAttached) ignore_value(qemuMonitorBlockdevDel(mon, data->formatNodeName)); diff --git a/src/qemu/qemu_block.h b/src/qemu/qemu_block.h index d29d444a5a..b083b7565e 100644 --- a/src/qemu/qemu_block.h +++ b/src/qemu/qemu_block.h @@ -81,8 +81,6 @@ struct qemuBlockStorageSourceAttachData { bool formatAttached; char *driveCmd; - char *driveAlias; - bool driveAdded; virDomainChrSourceDef *chardevDef; char *chardevAlias; diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index ed718eb81b..865464a772 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -10624,8 +10624,7 @@ qemuBuildStorageSourceAttachPrepareDrive(virDomainDiskDef *disk) data = g_new0(qemuBlockStorageSourceAttachData, 1); - if (!(data->driveCmd = qemuBuildDriveStr(disk)) || - !(data->driveAlias = qemuAliasDiskDriveFromDisk(disk))) + if (!(data->driveCmd = qemuBuildDriveStr(disk))) return NULL; return g_steal_pointer(&data); -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:41PM +0200, Peter Krempa wrote:
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_block.c | 14 -------------- src/qemu/qemu_block.h | 2 -- src/qemu/qemu_command.c | 3 +-- 3 files changed, 1 insertion(+), 18 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_monitor.c | 33 --------------- src/qemu/qemu_monitor.h | 6 --- src/qemu/qemu_monitor_text.c | 82 ------------------------------------ src/qemu/qemu_monitor_text.h | 6 --- 4 files changed, 127 deletions(-) diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c index 456c54aed3..93890c43be 100644 --- a/src/qemu/qemu_monitor.c +++ b/src/qemu/qemu_monitor.c @@ -2605,26 +2605,6 @@ qemuMonitorGetChardevInfo(qemuMonitor *mon, } -/** - * qemuMonitorDriveDel: - * @mon: monitor object - * @drivestr: identifier of drive to delete. - * - * Attempts to remove a host drive. - * Returns 1 if unsupported, 0 if ok, and -1 on other failure */ -int -qemuMonitorDriveDel(qemuMonitor *mon, - const char *drivestr) -{ - VIR_DEBUG("drivestr=%s", drivestr); - - QEMU_CHECK_MONITOR(mon); - - /* there won't be a direct replacement for drive_del in QMP */ - return qemuMonitorTextDriveDel(mon, drivestr); -} - - /** * @mon: monitor object * @devalias: alias of the device to detach @@ -2796,19 +2776,6 @@ qemuMonitorDelObject(qemuMonitor *mon, } -int -qemuMonitorAddDrive(qemuMonitor *mon, - const char *drivestr) -{ - VIR_DEBUG("drive=%s", drivestr); - - QEMU_CHECK_MONITOR(mon); - - /* there won't ever be a direct QMP replacement for this function */ - return qemuMonitorTextAddDrive(mon, drivestr); -} - - int qemuMonitorCreateSnapshot(qemuMonitor *mon, const char *name) { diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index 163e12c0f6..830be5418c 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -955,12 +955,6 @@ int qemuMonitorDelObject(qemuMonitor *mon, const char *objalias, bool report_error); -int qemuMonitorAddDrive(qemuMonitor *mon, - const char *drivestr); - -int qemuMonitorDriveDel(qemuMonitor *mon, - const char *drivestr); - int qemuMonitorCreateSnapshot(qemuMonitor *mon, const char *name); int qemuMonitorDeleteSnapshot(qemuMonitor *mon, const char *name); diff --git a/src/qemu/qemu_monitor_text.c b/src/qemu/qemu_monitor_text.c index 65785f1dae..8e70b8f78d 100644 --- a/src/qemu/qemu_monitor_text.c +++ b/src/qemu/qemu_monitor_text.c @@ -31,88 +31,6 @@ VIR_LOG_INIT("qemu.qemu_monitor_text"); -int qemuMonitorTextAddDrive(qemuMonitor *mon, - const char *drivestr) -{ - g_autofree char *cmd = NULL; - g_autofree char *reply = NULL; - - /* 'dummy' here is just a placeholder since there is no PCI - * address required when attaching drives to a controller */ - cmd = g_strdup_printf("drive_add dummy %s", drivestr); - - if (qemuMonitorJSONHumanCommand(mon, cmd, -1, &reply) < 0) - return -1; - - if (strstr(reply, "unknown command:")) { - virReportError(VIR_ERR_OPERATION_FAILED, "%s", - _("drive hotplug is not supported")); - return -1; - } - - if (strstr(reply, "could not open disk image")) { - virReportError(VIR_ERR_OPERATION_FAILED, "%s", - _("open disk image file failed")); - return -1; - } - - if (strstr(reply, "Could not open")) { - size_t len = strlen(reply); - if (reply[len - 1] == '\n') - reply[len - 1] = '\0'; - - virReportError(VIR_ERR_OPERATION_FAILED, "%s", - reply); - return -1; - } - - if (strstr(reply, "Image is not in")) { - virReportError(VIR_ERR_OPERATION_FAILED, "%s", - _("Incorrect disk format")); - return -1; - } - - if (strstr(reply, "IOMMU") || - strstr(reply, "VFIO")) { - virReportError(VIR_ERR_OPERATION_FAILED, "%s", - reply); - return -1; - } - - return 0; -} - - -int qemuMonitorTextDriveDel(qemuMonitor *mon, - const char *drivestr) -{ - g_autofree char *cmd = NULL; - g_autofree char *reply = NULL; - - cmd = g_strdup_printf("drive_del %s", drivestr); - - if (qemuMonitorJSONHumanCommand(mon, cmd, -1, &reply) < 0) - return -1; - - if (strstr(reply, "unknown command:")) { - VIR_ERROR(_("deleting drive is not supported. " - "This may leak data if disk is reassigned")); - return 1; - - /* (qemu) drive_del wark - * Device 'wark' not found */ - } else if (strstr(reply, "Device '") && strstr(reply, "not found")) { - /* NB: device not found errors mean the drive was auto-deleted and we - * ignore the error */ - } else if (STRNEQ(reply, "")) { - virReportError(VIR_ERR_OPERATION_FAILED, - _("deleting %s drive failed: %s"), drivestr, reply); - return -1; - } - - return 0; -} - int qemuMonitorTextCreateSnapshot(qemuMonitor *mon, const char *name) diff --git a/src/qemu/qemu_monitor_text.h b/src/qemu/qemu_monitor_text.h index d959fc8889..27d0f061d3 100644 --- a/src/qemu/qemu_monitor_text.h +++ b/src/qemu/qemu_monitor_text.h @@ -25,11 +25,5 @@ #include "qemu_monitor.h" -int qemuMonitorTextAddDrive(qemuMonitor *mon, - const char *drivestr); - -int qemuMonitorTextDriveDel(qemuMonitor *mon, - const char *drivestr); - int qemuMonitorTextCreateSnapshot(qemuMonitor *mon, const char *name); int qemuMonitorTextDeleteSnapshot(qemuMonitor *mon, const char *name); -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:42PM +0200, Peter Krempa wrote:
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_monitor.c | 33 --------------- src/qemu/qemu_monitor.h | 6 --- src/qemu/qemu_monitor_text.c | 82 ------------------------------------ src/qemu/qemu_monitor_text.h | 6 --- 4 files changed, 127 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

Remove the generic frontend-less -drive code from qemuBuildDriveStr by assuming that we support only blockdev-enabled qemus. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_command.c | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 865464a772..aec9e7415f 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -2039,17 +2039,7 @@ qemuBuildDriveStr(virDomainDiskDef *disk) if (qemuBuildDriveSourceStr(disk, &opt) < 0) return NULL; - if (!qemuDiskBusIsSD(disk->bus)) { - g_autofree char *drivealias = qemuAliasDiskDriveFromDisk(disk); - if (!drivealias) - return NULL; - - virBufferAddLit(&opt, "if=none"); - virBufferAsprintf(&opt, ",id=%s", drivealias); - } else { - virBufferAsprintf(&opt, "if=sd,index=%d", - virDiskNameToIndex(disk->dst)); - } + virBufferAsprintf(&opt, "if=sd,index=%d", virDiskNameToIndex(disk->dst)); if (disk->src->readonly) virBufferAddLit(&opt, ",readonly=on"); @@ -2522,8 +2512,7 @@ qemuBuildDiskSourceCommandLine(virCommand *cmd, if (virStorageSourceGetActualType(disk->src) == VIR_STORAGE_TYPE_VHOST_USER) { if (!(data = qemuBuildStorageSourceChainAttachPrepareChardev(disk))) return -1; - } else if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_BLOCKDEV) && - !qemuDiskBusIsSD(disk->bus)) { + } else if (!qemuDiskBusIsSD(disk->bus)) { if (virStorageSourceIsEmpty(disk->src)) return 0; -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:43PM +0200, Peter Krempa wrote:
Remove the generic frontend-less -drive code from qemuBuildDriveStr by assuming that we support only blockdev-enabled qemus.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_command.c | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

Since we know we have a modern qemu at hand which can interpret the dotted syntax, we can format the -drive needed for SD cards via the common infrastructure we have for all blockdev stuff. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_command.c | 121 +++++++--------------------------------- 1 file changed, 20 insertions(+), 101 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index aec9e7415f..9fc3d91a42 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -1789,44 +1789,6 @@ qemuDiskBusIsSD(int bus) } -/** - * qemuDiskSourceNeedsProps: - * @src: disk source - * - * Returns true, if the disk source needs to be generated from the JSON - * representation. Otherwise, the disk source should be represented using - * the legacy representation. - */ -static bool -qemuDiskSourceNeedsProps(virStorageSource *src) -{ - virStorageType actualType = virStorageSourceGetActualType(src); - - if (actualType == VIR_STORAGE_TYPE_NETWORK && - src->protocol == VIR_STORAGE_NET_PROTOCOL_GLUSTER && - src->nhosts > 1) - return true; - - if (actualType == VIR_STORAGE_TYPE_NETWORK && - src->protocol == VIR_STORAGE_NET_PROTOCOL_VXHS) - return true; - - if (actualType == VIR_STORAGE_TYPE_NETWORK && - src->protocol == VIR_STORAGE_NET_PROTOCOL_ISCSI) - return true; - - if (actualType == VIR_STORAGE_TYPE_NETWORK && - src->protocol == VIR_STORAGE_NET_PROTOCOL_NBD && - src->haveTLS == VIR_TRISTATE_BOOL_YES) - return true; - - if (actualType == VIR_STORAGE_TYPE_NVME) - return true; - - return false; -} - - /** * qemuDiskSourceGetProps: * @src: disk source struct @@ -1851,73 +1813,24 @@ qemuDiskSourceGetProps(virStorageSource *src) } -static int -qemuBuildDriveSourcePR(virBuffer *buf, - virDomainDiskDef *disk) -{ - g_autofree char *alias = NULL; - const char *defaultAlias = NULL; - - if (!disk->src->pr) - return 0; - - if (virStoragePRDefIsManaged(disk->src->pr)) - defaultAlias = qemuDomainGetManagedPRAlias(); - else if (!(alias = qemuDomainGetUnmanagedPRAlias(disk->info.alias))) - return -1; - - - virBufferAsprintf(buf, ",file.pr-manager=%s", alias ? alias : defaultAlias); - return 0; -} - - static int qemuBuildDriveSourceStr(virDomainDiskDef *disk, virBuffer *buf) { virStorageType actualType = virStorageSourceGetActualType(disk->src); qemuDomainStorageSourcePrivate *srcpriv = QEMU_DOMAIN_STORAGE_SOURCE_PRIVATE(disk->src); - qemuDomainSecretInfo *secinfo = NULL; qemuDomainSecretInfo *encinfo = NULL; g_autoptr(virJSONValue) srcprops = NULL; - g_autofree char *source = NULL; bool rawluks = false; - if (srcpriv) { - secinfo = srcpriv->secinfo; + if (srcpriv) encinfo = srcpriv->encinfo; - } - - if (qemuDiskSourceNeedsProps(disk->src) && - !(srcprops = qemuDiskSourceGetProps(disk->src))) - return -1; - - if (!srcprops && - qemuGetDriveSourceString(disk->src, secinfo, &source) < 0) - return -1; - - /* nothing to format if the drive is empty */ - if (!(source || srcprops) || - ((disk->device == VIR_DOMAIN_DISK_DEVICE_FLOPPY || - disk->device == VIR_DOMAIN_DISK_DEVICE_CDROM) && - disk->tray_status == VIR_DOMAIN_DISK_TRAY_OPEN)) { - return 0; - } - if (actualType == VIR_STORAGE_TYPE_BLOCK && - disk->tray_status == VIR_DOMAIN_DISK_TRAY_OPEN) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - disk->src->type == VIR_STORAGE_TYPE_VOLUME ? - _("tray status 'open' is invalid for block type volume") : - _("tray status 'open' is invalid for block type disk")); - return -1; - } - - if (source) { + switch (actualType) { + case VIR_STORAGE_TYPE_BLOCK: + case VIR_STORAGE_TYPE_FILE: + case VIR_STORAGE_TYPE_DIR: virBufferAddLit(buf, "file="); - - /* for now the DIR based storage is handled by the magic FAT format */ if (actualType == VIR_STORAGE_TYPE_DIR) { virBufferAddLit(buf, "fat:"); @@ -1925,21 +1838,27 @@ qemuBuildDriveSourceStr(virDomainDiskDef *disk, virBufferAddLit(buf, "floppy:"); } - virQEMUBuildBufferEscapeComma(buf, source); - - if (secinfo) - virBufferAsprintf(buf, ",file.password-secret=%s", secinfo->alias); - - if (disk->src->debug) - virBufferAsprintf(buf, ",file.debug=%d", disk->src->debugLevel); + virQEMUBuildBufferEscapeComma(buf, disk->src->path); + break; - if (qemuBuildDriveSourcePR(buf, disk) < 0) + case VIR_STORAGE_TYPE_NETWORK: + if (!(srcprops = qemuDiskSourceGetProps(disk->src))) return -1; - } else { + if (virQEMUBuildCommandLineJSON(srcprops, buf, NULL, virQEMUBuildCommandLineJSONArrayNumbered) < 0) return -1; + break; + + case VIR_STORAGE_TYPE_VOLUME: + case VIR_STORAGE_TYPE_NVME: + case VIR_STORAGE_TYPE_VHOST_USER: + case VIR_STORAGE_TYPE_NONE: + case VIR_STORAGE_TYPE_LAST: + break; } + + virBufferAddLit(buf, ","); if (encinfo) { -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:44PM +0200, Peter Krempa wrote:
Since we know we have a modern qemu at hand which can interpret the dotted syntax, we can format the -drive needed for SD cards via the common infrastructure we have for all blockdev stuff.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_command.c | 121 +++++++--------------------------------- 1 file changed, 20 insertions(+), 101 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_command.c | 208 ---------------------------------------- src/qemu/qemu_command.h | 4 - 2 files changed, 212 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 9fc3d91a42..a8c954edf6 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -1558,214 +1558,6 @@ qemuBuildChardevCommand(virCommand *cmd, } -static char * -qemuBuildNetworkDriveURI(virStorageSource *src) -{ - g_autoptr(virURI) uri = NULL; - - if (!(uri = qemuBlockStorageSourceGetURI(src))) - return NULL; - - if (src->hosts->socket) - uri->query = g_strdup_printf("socket=%s", src->hosts->socket); - - return virURIFormat(uri); -} - - -static char * -qemuBuildNetworkDriveStr(virStorageSource *src, - qemuDomainSecretInfo *secinfo) -{ - g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER; - size_t i; - char *ret = NULL; - - switch ((virStorageNetProtocol) src->protocol) { - case VIR_STORAGE_NET_PROTOCOL_NBD: - if (src->nhosts != 1) { - virReportError(VIR_ERR_INTERNAL_ERROR, - _("protocol '%s' accepts only one host"), - virStorageNetProtocolTypeToString(src->protocol)); - return NULL; - } - - if (!((src->hosts->name && strchr(src->hosts->name, ':')) || - (src->hosts->transport == VIR_STORAGE_NET_HOST_TRANS_TCP && - !src->hosts->name) || - (src->hosts->transport == VIR_STORAGE_NET_HOST_TRANS_UNIX && - src->hosts->socket && - !g_path_is_absolute(src->hosts->socket)))) { - - virBufferAddLit(&buf, "nbd:"); - - switch (src->hosts->transport) { - case VIR_STORAGE_NET_HOST_TRANS_TCP: - virBufferAsprintf(&buf, "%s:%u", - src->hosts->name, src->hosts->port); - break; - - case VIR_STORAGE_NET_HOST_TRANS_UNIX: - if (!src->hosts->socket) { - virReportError(VIR_ERR_INTERNAL_ERROR, "%s", - _("socket attribute required for " - "unix transport")); - return NULL; - } - - virBufferAsprintf(&buf, "unix:%s", src->hosts->socket); - break; - - default: - virReportError(VIR_ERR_INTERNAL_ERROR, - _("nbd does not support transport '%s'"), - virStorageNetHostTransportTypeToString(src->hosts->transport)); - return NULL; - } - - if (src->path) - virBufferAsprintf(&buf, ":exportname=%s", src->path); - - return virBufferContentAndReset(&buf); - } - /* NBD code uses URI formatting scheme as others in some cases */ - ret = qemuBuildNetworkDriveURI(src); - break; - - case VIR_STORAGE_NET_PROTOCOL_HTTP: - case VIR_STORAGE_NET_PROTOCOL_HTTPS: - case VIR_STORAGE_NET_PROTOCOL_FTP: - case VIR_STORAGE_NET_PROTOCOL_FTPS: - case VIR_STORAGE_NET_PROTOCOL_TFTP: - case VIR_STORAGE_NET_PROTOCOL_ISCSI: - case VIR_STORAGE_NET_PROTOCOL_GLUSTER: - ret = qemuBuildNetworkDriveURI(src); - break; - - case VIR_STORAGE_NET_PROTOCOL_SHEEPDOG: - if (!src->path) { - virReportError(VIR_ERR_INTERNAL_ERROR, "%s", - _("missing disk source for 'sheepdog' protocol")); - return NULL; - } - - if (src->nhosts == 0) { - ret = g_strdup_printf("sheepdog:%s", src->path); - } else if (src->nhosts == 1) { - ret = g_strdup_printf("sheepdog:%s:%u:%s", src->hosts->name, - src->hosts->port, src->path); - } else { - virReportError(VIR_ERR_INTERNAL_ERROR, "%s", - _("protocol 'sheepdog' accepts up to one host")); - return NULL; - } - - break; - - case VIR_STORAGE_NET_PROTOCOL_RBD: - if (strchr(src->path, ':')) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, - _("':' not allowed in RBD source volume name '%s'"), - src->path); - return NULL; - } - - virBufferStrcat(&buf, "rbd:", src->volume, "/", src->path, NULL); - - if (src->snapshot) - virBufferEscape(&buf, '\\', ":", "@%s", src->snapshot); - - if (!secinfo) - virBufferAddLit(&buf, ":auth_supported=none"); - else - virBufferEscape(&buf, '\\', ":", ":id=%s:auth_supported=cephx\\;none", - secinfo->username); - - if (src->nhosts > 0) { - virBufferAddLit(&buf, ":mon_host="); - for (i = 0; i < src->nhosts; i++) { - if (i) - virBufferAddLit(&buf, "\\;"); - - /* assume host containing : is ipv6 */ - if (strchr(src->hosts[i].name, ':')) - virBufferEscape(&buf, '\\', ":", "[%s]", - src->hosts[i].name); - else - virBufferAsprintf(&buf, "%s", src->hosts[i].name); - - if (src->hosts[i].port) - virBufferAsprintf(&buf, "\\:%u", src->hosts[i].port); - } - } - - if (src->configFile) - virBufferEscape(&buf, '\\', ":", ":conf=%s", src->configFile); - - ret = virBufferContentAndReset(&buf); - break; - - case VIR_STORAGE_NET_PROTOCOL_VXHS: - virReportError(VIR_ERR_INTERNAL_ERROR, "%s", - _("VxHS protocol does not support URI syntax")); - return NULL; - - case VIR_STORAGE_NET_PROTOCOL_SSH: - virReportError(VIR_ERR_INTERNAL_ERROR, "%s", - _("'ssh' protocol is not yet supported")); - return NULL; - - case VIR_STORAGE_NET_PROTOCOL_NFS: - case VIR_STORAGE_NET_PROTOCOL_LAST: - case VIR_STORAGE_NET_PROTOCOL_NONE: - virReportError(VIR_ERR_INTERNAL_ERROR, - _("Unexpected network protocol '%s'"), - virStorageNetProtocolTypeToString(src->protocol)); - return NULL; - } - - return ret; -} - - -int -qemuGetDriveSourceString(virStorageSource *src, - qemuDomainSecretInfo *secinfo, - char **source) -{ - virStorageType actualType = virStorageSourceGetActualType(src); - - *source = NULL; - - /* return 1 for empty sources */ - if (virStorageSourceIsEmpty(src)) - return 1; - - switch (actualType) { - case VIR_STORAGE_TYPE_BLOCK: - case VIR_STORAGE_TYPE_FILE: - case VIR_STORAGE_TYPE_DIR: - *source = g_strdup(src->path); - - break; - - case VIR_STORAGE_TYPE_NETWORK: - if (!(*source = qemuBuildNetworkDriveStr(src, secinfo))) - return -1; - break; - - case VIR_STORAGE_TYPE_VOLUME: - case VIR_STORAGE_TYPE_NVME: - case VIR_STORAGE_TYPE_VHOST_USER: - case VIR_STORAGE_TYPE_NONE: - case VIR_STORAGE_TYPE_LAST: - break; - } - - return 0; -} - - bool qemuDiskConfigBlkdeviotuneEnabled(virDomainDiskDef *disk) { diff --git a/src/qemu/qemu_command.h b/src/qemu/qemu_command.h index 6d2adcfc16..2578367df9 100644 --- a/src/qemu/qemu_command.h +++ b/src/qemu/qemu_command.h @@ -197,10 +197,6 @@ qemuBuildZPCIDevProps(virDomainDeviceInfo *dev); int qemuNetworkPrepareDevices(virDomainDef *def); -int qemuGetDriveSourceString(virStorageSource *src, - qemuDomainSecretInfo *secinfo, - char **source); - bool qemuDiskConfigBlkdeviotuneEnabled(virDomainDiskDef *disk); -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:45PM +0200, Peter Krempa wrote:
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_command.c | 208 ---------------------------------------- src/qemu/qemu_command.h | 4 - 2 files changed, 212 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_domain.c | 20 ++++++++----------- .../blockjob-mirror-in.xml | 1 + .../migration-in-params-in.xml | 1 + .../migration-out-nbd-out.xml | 1 + .../migration-out-nbd-tls-out.xml | 1 + .../migration-out-params-in.xml | 1 + tests/qemustatusxml2xmldata/upgrade-out.xml | 1 + .../qemustatusxml2xmldata/vcpus-multi-in.xml | 1 + 8 files changed, 15 insertions(+), 12 deletions(-) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 8b55dd0361..32319c1503 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -2167,8 +2167,7 @@ qemuDomainObjPrivateXMLFormatBlockjobs(virBuffer *buf, virBufferAsprintf(&attrBuf, " active='%s'", virTristateBoolTypeToString(virTristateBoolFromBool(bj))); - if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV) && - virHashForEachSorted(priv->blockjobs, + if (virHashForEachSorted(priv->blockjobs, qemuDomainObjPrivateXMLFormatBlockjobIterator, &iterdata) < 0) return -1; @@ -2388,8 +2387,7 @@ qemuDomainObjPrivateXMLFormat(virBuffer *buf, qemuDomainObjPrivateXMLFormatPR(buf, priv); - if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV)) - virBufferAsprintf(buf, "<nodename index='%llu'/>\n", priv->nodenameindex); + virBufferAsprintf(buf, "<nodename index='%llu'/>\n", priv->nodenameindex); virBufferAsprintf(buf, "<fdset index='%u'/>\n", priv->fdsetindex); @@ -2817,15 +2815,13 @@ qemuDomainObjPrivateXMLParseBlockjobs(virDomainObj *vm, (tmp = virTristateBoolTypeFromString(active)) > 0) priv->reconnectBlockjobs = tmp; - if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV)) { - if ((nnodes = virXPathNodeSet("./blockjobs/blockjob", ctxt, &nodes)) < 0) - return -1; + if ((nnodes = virXPathNodeSet("./blockjobs/blockjob", ctxt, &nodes)) < 0) + return -1; - for (i = 0; i < nnodes; i++) { - if (qemuDomainObjPrivateXMLParseBlockjobData(vm, nodes[i], ctxt, - priv->driver->xmlopt) < 0) - return -1; - } + for (i = 0; i < nnodes; i++) { + if (qemuDomainObjPrivateXMLParseBlockjobData(vm, nodes[i], ctxt, + priv->driver->xmlopt) < 0) + return -1; } return 0; diff --git a/tests/qemustatusxml2xmldata/blockjob-mirror-in.xml b/tests/qemustatusxml2xmldata/blockjob-mirror-in.xml index 73fe437f87..e9f1d77856 100644 --- a/tests/qemustatusxml2xmldata/blockjob-mirror-in.xml +++ b/tests/qemustatusxml2xmldata/blockjob-mirror-in.xml @@ -22,6 +22,7 @@ <libDir path='/tmp'/> <channelTargetDir path='/tmp/channel'/> <allowReboot value='yes'/> + <nodename index='0'/> <fdset index='0'/> <blockjobs active='yes'/> <agentTimeout>-2</agentTimeout> diff --git a/tests/qemustatusxml2xmldata/migration-in-params-in.xml b/tests/qemustatusxml2xmldata/migration-in-params-in.xml index 1086f5230d..03773a089b 100644 --- a/tests/qemustatusxml2xmldata/migration-in-params-in.xml +++ b/tests/qemustatusxml2xmldata/migration-in-params-in.xml @@ -256,6 +256,7 @@ <channelTargetDir path='/var/lib/libvirt/qemu/channel/target/domain-1-nest'/> <chardevStdioLogd/> <allowReboot value='yes'/> + <nodename index='0'/> <fdset index='0'/> <blockjobs active='no'/> <agentTimeout>-2</agentTimeout> diff --git a/tests/qemustatusxml2xmldata/migration-out-nbd-out.xml b/tests/qemustatusxml2xmldata/migration-out-nbd-out.xml index 540e385de3..de92146eaa 100644 --- a/tests/qemustatusxml2xmldata/migration-out-nbd-out.xml +++ b/tests/qemustatusxml2xmldata/migration-out-nbd-out.xml @@ -259,6 +259,7 @@ <channelTargetDir path='/var/lib/libvirt/qemu/channel/target/domain-4-upstream'/> <chardevStdioLogd/> <allowReboot value='yes'/> + <nodename index='0'/> <fdset index='0'/> <blockjobs active='no'/> <agentTimeout>-2</agentTimeout> diff --git a/tests/qemustatusxml2xmldata/migration-out-nbd-tls-out.xml b/tests/qemustatusxml2xmldata/migration-out-nbd-tls-out.xml index d0e997913f..6bdd128259 100644 --- a/tests/qemustatusxml2xmldata/migration-out-nbd-tls-out.xml +++ b/tests/qemustatusxml2xmldata/migration-out-nbd-tls-out.xml @@ -288,6 +288,7 @@ <channelTargetDir path='/var/lib/libvirt/qemu/channel/target/domain-3-upstream'/> <chardevStdioLogd/> <allowReboot value='yes'/> + <nodename index='0'/> <fdset index='0'/> <blockjobs active='no'/> <agentTimeout>-2</agentTimeout> diff --git a/tests/qemustatusxml2xmldata/migration-out-params-in.xml b/tests/qemustatusxml2xmldata/migration-out-params-in.xml index 758a6f03b7..24ee86e4c0 100644 --- a/tests/qemustatusxml2xmldata/migration-out-params-in.xml +++ b/tests/qemustatusxml2xmldata/migration-out-params-in.xml @@ -270,6 +270,7 @@ <channelTargetDir path='/var/lib/libvirt/qemu/channel/target/domain-7-nest'/> <chardevStdioLogd/> <allowReboot value='yes'/> + <nodename index='0'/> <fdset index='0'/> <blockjobs active='no'/> <agentTimeout>-2</agentTimeout> diff --git a/tests/qemustatusxml2xmldata/upgrade-out.xml b/tests/qemustatusxml2xmldata/upgrade-out.xml index ac2ffeddc2..e663b3dbb5 100644 --- a/tests/qemustatusxml2xmldata/upgrade-out.xml +++ b/tests/qemustatusxml2xmldata/upgrade-out.xml @@ -258,6 +258,7 @@ <channelTargetDir path='/var/lib/libvirt/qemu/channel/target/domain-1-upstream'/> <chardevStdioLogd/> <allowReboot value='yes'/> + <nodename index='0'/> <fdset index='0'/> <blockjobs active='no'/> <agentTimeout>-2</agentTimeout> diff --git a/tests/qemustatusxml2xmldata/vcpus-multi-in.xml b/tests/qemustatusxml2xmldata/vcpus-multi-in.xml index 0b8bc37c15..e71d6a83c7 100644 --- a/tests/qemustatusxml2xmldata/vcpus-multi-in.xml +++ b/tests/qemustatusxml2xmldata/vcpus-multi-in.xml @@ -308,6 +308,7 @@ <libDir path='/tmp'/> <channelTargetDir path='/tmp/channel'/> <allowReboot value='yes'/> + <nodename index='0'/> <fdset index='0'/> <blockjobs active='no'/> <agentTimeout>-2</agentTimeout> -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:46PM +0200, Peter Krempa wrote:
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_domain.c | 20 ++++++++----------- .../blockjob-mirror-in.xml | 1 + .../migration-in-params-in.xml | 1 + .../migration-out-nbd-out.xml | 1 + .../migration-out-nbd-tls-out.xml | 1 + .../migration-out-params-in.xml | 1 + tests/qemustatusxml2xmldata/upgrade-out.xml | 1 + .../qemustatusxml2xmldata/vcpus-multi-in.xml | 1 + 8 files changed, 15 insertions(+), 12 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

The capability is checked when we validate the source in the first place. Also it won't make sense any more. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_domain.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 32319c1503..fb29135179 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -1322,7 +1322,6 @@ qemuDomainSecretStorageSourcePrepare(qemuDomainObjPrivate *priv, } if (src->ncookies && - virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV) && !(srcPriv->httpcookie = qemuDomainSecretStorageSourcePrepareCookies(priv, src, aliasprotocol))) -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:47PM +0200, Peter Krempa wrote:
The capability is checked when we validate the source in the first place. Also it won't make sense any more.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_domain.c | 1 - 1 file changed, 1 deletion(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_backup.c | 2 +- src/qemu/qemu_checkpoint.c | 2 +- src/qemu/qemu_domain.c | 10 +++------- src/qemu/qemu_domain.h | 3 +-- src/qemu/qemu_driver.c | 6 +++--- src/qemu/qemu_snapshot.c | 13 +++++-------- 6 files changed, 14 insertions(+), 22 deletions(-) diff --git a/src/qemu/qemu_backup.c b/src/qemu/qemu_backup.c index b90185a375..60cb79d70d 100644 --- a/src/qemu/qemu_backup.c +++ b/src/qemu/qemu_backup.c @@ -260,7 +260,7 @@ qemuBackupDiskPrepareDataOne(virDomainObj *vm, return -1; } - if (!qemuDomainDiskBlockJobIsSupported(vm, dd->domdisk)) + if (!qemuDomainDiskBlockJobIsSupported(dd->domdisk)) return -1; if (dd->store->format == VIR_STORAGE_FILE_NONE) { diff --git a/src/qemu/qemu_checkpoint.c b/src/qemu/qemu_checkpoint.c index 933ea41023..98e1a94def 100644 --- a/src/qemu/qemu_checkpoint.c +++ b/src/qemu/qemu_checkpoint.c @@ -372,7 +372,7 @@ qemuCheckpointPrepare(virQEMUDriver *driver, return -1; } - if (!qemuDomainDiskBlockJobIsSupported(vm, vm->def->disks[i])) + if (!qemuDomainDiskBlockJobIsSupported(vm->def->disks[i])) return -1; } diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index fb29135179..8999f58d20 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -11349,19 +11349,15 @@ qemuDomainInitializePflashStorageSource(virDomainObj *vm, /** * qemuDomainDiskBlockJobIsSupported: * - * Returns true if block jobs are supported on @disk by @vm or false and reports + * Returns true if block jobs are supported on @disk orfalse and reports * an error otherwise. * * Note that this does not verify whether other block jobs are running etc. */ bool -qemuDomainDiskBlockJobIsSupported(virDomainObj *vm, - virDomainDiskDef *disk) +qemuDomainDiskBlockJobIsSupported(virDomainDiskDef *disk) { - qemuDomainObjPrivate *priv = vm->privateData; - - if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV) && - qemuDiskBusIsSD(disk->bus)) { + if (qemuDiskBusIsSD(disk->bus)) { virReportError(VIR_ERR_OPERATION_UNSUPPORTED, _("block jobs are not supported on disk '%s' using bus 'sd'"), disk->dst); diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h index 66188ed003..b674d49207 100644 --- a/src/qemu/qemu_domain.h +++ b/src/qemu/qemu_domain.h @@ -1054,8 +1054,7 @@ qemuDomainInitializePflashStorageSource(virDomainObj *vm, virQEMUDriverConfig *cfg); bool -qemuDomainDiskBlockJobIsSupported(virDomainObj *vm, - virDomainDiskDef *disk); +qemuDomainDiskBlockJobIsSupported(virDomainDiskDef *disk); int qemuDomainDefNumaCPUsRectify(virDomainDef *def, diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 1ecc9a71b3..4c3e12966a 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -14482,7 +14482,7 @@ qemuDomainBlockPullCommon(virDomainObj *vm, if (qemuDomainDiskBlockJobIsActive(disk)) goto endjob; - if (!qemuDomainDiskBlockJobIsSupported(vm, disk)) + if (!qemuDomainDiskBlockJobIsSupported(disk)) goto endjob; if (base && @@ -15015,7 +15015,7 @@ qemuDomainBlockCopyCommon(virDomainObj *vm, if (qemuDomainDiskBlockJobIsActive(disk)) goto endjob; - if (!qemuDomainDiskBlockJobIsSupported(vm, disk)) + if (!qemuDomainDiskBlockJobIsSupported(disk)) goto endjob; if (disk->device == VIR_DOMAIN_DISK_DEVICE_LUN && @@ -15484,7 +15484,7 @@ qemuDomainBlockCommit(virDomainPtr dom, if (!(disk = qemuDomainDiskByName(vm->def, path))) goto endjob; - if (!qemuDomainDiskBlockJobIsSupported(vm, disk)) + if (!qemuDomainDiskBlockJobIsSupported(disk)) goto endjob; if (virStorageSourceIsEmpty(disk->src)) { diff --git a/src/qemu/qemu_snapshot.c b/src/qemu/qemu_snapshot.c index b96ef7a50b..f52f705cb1 100644 --- a/src/qemu/qemu_snapshot.c +++ b/src/qemu/qemu_snapshot.c @@ -447,8 +447,7 @@ qemuSnapshotPrepareDiskExternalInactive(virDomainSnapshotDiskDef *snapdisk, static int -qemuSnapshotPrepareDiskExternalActive(virDomainObj *vm, - virDomainSnapshotDiskDef *snapdisk, +qemuSnapshotPrepareDiskExternalActive(virDomainSnapshotDiskDef *snapdisk, virDomainDiskDef *domdisk) { virStorageType actualType = virStorageSourceGetActualType(snapdisk->src); @@ -463,7 +462,7 @@ qemuSnapshotPrepareDiskExternalActive(virDomainObj *vm, return -1; } - if (!qemuDomainDiskBlockJobIsSupported(vm, domdisk)) + if (!qemuDomainDiskBlockJobIsSupported(domdisk)) return -1; switch (actualType) { @@ -492,8 +491,7 @@ qemuSnapshotPrepareDiskExternalActive(virDomainObj *vm, static int -qemuSnapshotPrepareDiskExternal(virDomainObj *vm, - virDomainDiskDef *disk, +qemuSnapshotPrepareDiskExternal(virDomainDiskDef *disk, virDomainSnapshotDiskDef *snapdisk, bool active, bool reuse) @@ -508,7 +506,7 @@ qemuSnapshotPrepareDiskExternal(virDomainObj *vm, if (qemuSnapshotPrepareDiskExternalInactive(snapdisk, disk) < 0) return -1; } else { - if (qemuSnapshotPrepareDiskExternalActive(vm, snapdisk, disk) < 0) + if (qemuSnapshotPrepareDiskExternalActive(snapdisk, disk) < 0) return -1; } @@ -701,8 +699,7 @@ qemuSnapshotPrepare(virDomainObj *vm, } } - if (qemuSnapshotPrepareDiskExternal(vm, dom_disk, disk, - active, reuse) < 0) + if (qemuSnapshotPrepareDiskExternal(dom_disk, disk, active, reuse) < 0) return -1; external++; -- 2.36.1

On a Tuesday in 2022, Peter Krempa wrote:
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_backup.c | 2 +- src/qemu/qemu_checkpoint.c | 2 +- src/qemu/qemu_domain.c | 10 +++------- src/qemu/qemu_domain.h | 3 +-- src/qemu/qemu_driver.c | 6 +++--- src/qemu/qemu_snapshot.c | 13 +++++-------- 6 files changed, 14 insertions(+), 22 deletions(-)
diff --git a/src/qemu/qemu_backup.c b/src/qemu/qemu_backup.c index b90185a375..60cb79d70d 100644 --- a/src/qemu/qemu_backup.c +++ b/src/qemu/qemu_backup.c @@ -260,7 +260,7 @@ qemuBackupDiskPrepareDataOne(virDomainObj *vm, return -1; }
- if (!qemuDomainDiskBlockJobIsSupported(vm, dd->domdisk)) + if (!qemuDomainDiskBlockJobIsSupported(dd->domdisk)) return -1;
if (dd->store->format == VIR_STORAGE_FILE_NONE) { diff --git a/src/qemu/qemu_checkpoint.c b/src/qemu/qemu_checkpoint.c index 933ea41023..98e1a94def 100644 --- a/src/qemu/qemu_checkpoint.c +++ b/src/qemu/qemu_checkpoint.c @@ -372,7 +372,7 @@ qemuCheckpointPrepare(virQEMUDriver *driver, return -1; }
- if (!qemuDomainDiskBlockJobIsSupported(vm, vm->def->disks[i])) + if (!qemuDomainDiskBlockJobIsSupported(vm->def->disks[i])) return -1; }
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index fb29135179..8999f58d20 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -11349,19 +11349,15 @@ qemuDomainInitializePflashStorageSource(virDomainObj *vm, /** * qemuDomainDiskBlockJobIsSupported: * - * Returns true if block jobs are supported on @disk by @vm or false and reports + * Returns true if block jobs are supported on @disk orfalse and reports
*or false
* an error otherwise. * * Note that this does not verify whether other block jobs are running etc. */ bool
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano

On Tue, Jul 26, 2022 at 04:37:48PM +0200, Peter Krempa wrote:
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_backup.c | 2 +- src/qemu/qemu_checkpoint.c | 2 +- src/qemu/qemu_domain.c | 10 +++------- src/qemu/qemu_domain.h | 3 +-- src/qemu/qemu_driver.c | 6 +++--- src/qemu/qemu_snapshot.c | 13 +++++-------- 6 files changed, 14 insertions(+), 22 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_command.c | 2 +- src/qemu/qemu_domain.c | 11 ++++------- src/qemu/qemu_domain.h | 4 +--- src/qemu/qemu_hotplug.c | 2 +- 4 files changed, 7 insertions(+), 12 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index a8c954edf6..afdf79ff55 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -1935,7 +1935,7 @@ qemuBuildDiskDeviceProps(const virDomainDef *def, if (virStorageSourceGetActualType(disk->src) == VIR_STORAGE_TYPE_VHOST_USER) { chardev = qemuDomainGetVhostUserChrAlias(disk->info.alias); } else { - if (qemuDomainDiskGetBackendAlias(disk, qemuCaps, &drive) < 0) + if (qemuDomainDiskGetBackendAlias(disk, &drive) < 0) return NULL; } diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 8999f58d20..8997041b34 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -7802,7 +7802,8 @@ qemuDomainDetermineDiskChain(virQEMUDriver *driver, * Returns the pointer to the node-name of the topmost layer used by @disk as * backend. Currently returns the nodename of the copy-on-read filter if enabled * or the nodename of the top image's format driver. Empty disks return NULL. - * This must be used only when VIR_QEMU_CAPS_BLOCKDEV is enabled. + * This must be used only with disks instantiated via -blockdev (thus not + * for SD cards). */ const char * qemuDomainDiskGetTopNodename(virDomainDiskDef *disk) @@ -7822,7 +7823,6 @@ qemuDomainDiskGetTopNodename(virDomainDiskDef *disk) /** * qemuDomainDiskGetBackendAlias: * @disk: disk definition - * @qemuCaps: emulator capabilities * @backendAlias: filled with the alias of the disk storage backend * * Returns the correct alias for the disk backend. This may be the alias of @@ -7835,13 +7835,11 @@ qemuDomainDiskGetTopNodename(virDomainDiskDef *disk) */ int qemuDomainDiskGetBackendAlias(virDomainDiskDef *disk, - virQEMUCaps *qemuCaps, char **backendAlias) { *backendAlias = NULL; - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_BLOCKDEV) || - qemuDiskBusIsSD(disk->bus)) { + if (qemuDiskBusIsSD(disk->bus)) { if (!(*backendAlias = qemuAliasDiskDriveFromDisk(disk))) return -1; @@ -10961,8 +10959,7 @@ qemuDomainPrepareDiskSource(virDomainDiskDef *disk, disk->src->format = VIR_STORAGE_FILE_RAW; } - if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV) && - !qemuDiskBusIsSD(disk->bus)) { + if (!qemuDiskBusIsSD(disk->bus)) { if (qemuDomainPrepareDiskSourceBlockdev(disk, priv, cfg) < 0) return -1; } else { diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h index b674d49207..7dc720dcb8 100644 --- a/src/qemu/qemu_domain.h +++ b/src/qemu/qemu_domain.h @@ -734,10 +734,8 @@ qemuDomainDiskGetTopNodename(virDomainDiskDef *disk) ATTRIBUTE_NONNULL(1); int qemuDomainDiskGetBackendAlias(virDomainDiskDef *disk, - virQEMUCaps *qemuCaps, char **backendAlias) - ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) - ATTRIBUTE_NONNULL(3) G_GNUC_WARN_UNUSED_RESULT; + ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) G_GNUC_WARN_UNUSED_RESULT; int qemuDomainStorageSourceChainAccessAllow(virQEMUDriver *driver, virDomainObj *vm, diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index a752702fc4..afc9d299f5 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -480,7 +480,7 @@ qemuDomainChangeMediaBlockdev(virQEMUDriver *driver, if (!(newbackend = qemuBuildStorageSourceChainAttachPrepareBlockdev(newsrc))) return -1; - if (qemuDomainDiskGetBackendAlias(disk, priv->qemuCaps, &nodename) < 0) + if (qemuDomainDiskGetBackendAlias(disk, &nodename) < 0) return -1; } -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:49PM +0200, Peter Krempa wrote:
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_command.c | 2 +- src/qemu/qemu_domain.c | 11 ++++------- src/qemu/qemu_domain.h | 4 +--- src/qemu/qemu_hotplug.c | 2 +- 4 files changed, 7 insertions(+), 12 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

While we assume that -blockdev is supported the validator had also some corner cases for -drive. Since we use '-drive' exclusively for the extremely rarely used SD cards it makes no sense to have the validation. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_domain.c | 60 +++--------------------------------------- 1 file changed, 3 insertions(+), 57 deletions(-) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 8997041b34..0839744660 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -4811,13 +4811,9 @@ qemuDomainValidateActualNetDef(const virDomainNetDef *net, int qemuDomainValidateStorageSource(virStorageSource *src, virQEMUCaps *qemuCaps, - bool maskBlockdev) + bool maskBlockdev G_GNUC_UNUSED) { virStorageType actualType = virStorageSourceGetActualType(src); - bool blockdev = virQEMUCapsGet(qemuCaps, QEMU_CAPS_BLOCKDEV); - - if (maskBlockdev) - blockdev = false; if (src->format == VIR_STORAGE_FILE_COW) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", @@ -4870,17 +4866,6 @@ qemuDomainValidateStorageSource(virStorageSource *src, return -1; } - if (src->sliceStorage) { - /* In pre-blockdev era we can't configure the slice so we can allow them - * only for detected backing store entries as they are populated - * from a place that qemu would be able to read */ - if (!src->detected && !blockdev) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("storage slice is not supported by this QEMU binary")); - return -1; - } - } - if (src->sslverify != VIR_TRISTATE_BOOL_ABSENT) { if (actualType != VIR_STORAGE_TYPE_NETWORK || (src->protocol != VIR_STORAGE_NET_PROTOCOL_HTTPS && @@ -4889,12 +4874,6 @@ qemuDomainValidateStorageSource(virStorageSource *src, _("ssl verification is supported only with HTTPS/FTPS protocol")); return -1; } - - if (!src->detected && !blockdev) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("ssl verification setting is not supported by this QEMU binary")); - return -1; - } } if (src->ncookies > 0) { @@ -4906,12 +4885,6 @@ qemuDomainValidateStorageSource(virStorageSource *src, return -1; } - if (!src->detected && !blockdev) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("http cookies are not supported by this QEMU binary")); - return -1; - } - if (virStorageSourceNetCookiesValidate(src) < 0) return -1; } @@ -4926,12 +4899,6 @@ qemuDomainValidateStorageSource(virStorageSource *src, _("readahead is supported only with HTTP(S)/FTP(s) protocols")); return -1; } - - if (!src->detected && !blockdev) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("readahead setting is not supported with this QEMU binary")); - return -1; - } } if (src->timeout > 0) { @@ -4944,12 +4911,6 @@ qemuDomainValidateStorageSource(virStorageSource *src, _("timeout is supported only with HTTP(S)/FTP(s) protocols")); return -1; } - - if (!src->detected && !blockdev) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("timeout setting is not supported with this QEMU binary")); - return -1; - } } if (src->query && @@ -4961,11 +4922,9 @@ qemuDomainValidateStorageSource(virStorageSource *src, return -1; } - /* TFTP protocol was not supported for some time, lock it out at least with - * -blockdev */ + /* TFTP protocol was not supported */ if (actualType == VIR_STORAGE_TYPE_NETWORK && - src->protocol == VIR_STORAGE_NET_PROTOCOL_TFTP && - blockdev) { + src->protocol == VIR_STORAGE_NET_PROTOCOL_TFTP) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("'tftp' protocol is not supported with this QEMU binary")); return -1; @@ -4973,13 +4932,6 @@ qemuDomainValidateStorageSource(virStorageSource *src, if (actualType == VIR_STORAGE_TYPE_NETWORK && src->protocol == VIR_STORAGE_NET_PROTOCOL_NFS) { - /* NFS protocol may only be used if current QEMU supports blockdev */ - if (!blockdev) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("'nfs' protocol is not supported with this QEMU binary")); - return -1; - } - /* NFS protocol must have exactly one host */ if (src->nhosts != 1) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", @@ -5009,12 +4961,6 @@ qemuDomainValidateStorageSource(virStorageSource *src, _("metadata cache max size control is supported only with qcow2 images")); return -1; } - - if (!blockdev) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("metadata cache max size control is not supported with this QEMU binary")); - return -1; - } } if (src->encryption) { -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:50PM +0200, Peter Krempa wrote:
While we assume that -blockdev is supported the validator had also some corner cases for -drive. Since we use '-drive' exclusively for the extremely rarely used SD cards it makes no sense to have the validation.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_domain.c | 60 +++--------------------------------------- 1 file changed, 3 insertions(+), 57 deletions(-)
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 8997041b34..0839744660 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c
[...]
@@ -4961,11 +4922,9 @@ qemuDomainValidateStorageSource(virStorageSource *src, return -1; }
- /* TFTP protocol was not supported for some time, lock it out at least with - * -blockdev */ + /* TFTP protocol was not supported */
I would change the comment to 'TFTP protocol is not supported since QEMU 2.8.0'
if (actualType == VIR_STORAGE_TYPE_NETWORK && - src->protocol == VIR_STORAGE_NET_PROTOCOL_TFTP && - blockdev) { + src->protocol == VIR_STORAGE_NET_PROTOCOL_TFTP) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("'tftp' protocol is not supported with this QEMU binary")); return -1;
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_domain.c | 10 ++++------ src/qemu/qemu_domain.h | 3 +-- src/qemu/qemu_validate.c | 6 ++---- tests/qemublocktest.c | 4 ++-- 4 files changed, 9 insertions(+), 14 deletions(-) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 0839744660..8ac99a8cf7 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -4810,8 +4810,7 @@ qemuDomainValidateActualNetDef(const virDomainNetDef *net, int qemuDomainValidateStorageSource(virStorageSource *src, - virQEMUCaps *qemuCaps, - bool maskBlockdev G_GNUC_UNUSED) + virQEMUCaps *qemuCaps) { virStorageType actualType = virStorageSourceGetActualType(src); @@ -7721,8 +7720,7 @@ qemuDomainDetermineDiskChain(virQEMUDriver *driver, if (n->format == VIR_STORAGE_FILE_ISO) n->format = VIR_STORAGE_FILE_RAW; - /* mask-out blockdev for 'sd' disks */ - if (qemuDomainValidateStorageSource(n, priv->qemuCaps, isSD) < 0) + if (qemuDomainValidateStorageSource(n, priv->qemuCaps) < 0) return -1; qemuDomainPrepareStorageSourceConfig(n, cfg); @@ -10782,7 +10780,7 @@ qemuDomainPrepareDiskSourceLegacy(virDomainDiskDef *disk, qemuDomainObjPrivate *priv, virQEMUDriverConfig *cfg) { - if (qemuDomainValidateStorageSource(disk->src, priv->qemuCaps, true) < 0) + if (qemuDomainValidateStorageSource(disk->src, priv->qemuCaps) < 0) return -1; qemuDomainPrepareStorageSourceConfig(disk->src, cfg); @@ -10820,7 +10818,7 @@ qemuDomainPrepareStorageSourceBlockdevNodename(virDomainDiskDef *disk, if (src->encryption && src->encryption->engine == VIR_STORAGE_ENCRYPTION_ENGINE_DEFAULT) src->encryption->engine = VIR_STORAGE_ENCRYPTION_ENGINE_QEMU; - if (qemuDomainValidateStorageSource(src, priv->qemuCaps, false) < 0) + if (qemuDomainValidateStorageSource(src, priv->qemuCaps) < 0) return -1; qemuDomainPrepareStorageSourceConfig(src, cfg); diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h index 7dc720dcb8..abf245ec2a 100644 --- a/src/qemu/qemu_domain.h +++ b/src/qemu/qemu_domain.h @@ -997,8 +997,7 @@ qemuDomainPrepareDiskSourceData(virDomainDiskDef *disk, int qemuDomainValidateStorageSource(virStorageSource *src, - virQEMUCaps *qemuCaps, - bool maskBlockdev); + virQEMUCaps *qemuCaps); int diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c index 4ce920152f..af93588e49 100644 --- a/src/qemu/qemu_validate.c +++ b/src/qemu/qemu_validate.c @@ -648,7 +648,7 @@ qemuValidateDomainDefNvram(const virDomainDef *def, return -1; } - if (qemuDomainValidateStorageSource(src, qemuCaps, false) < 0) + if (qemuDomainValidateStorageSource(src, qemuCaps) < 0) return -1; return 0; @@ -3216,7 +3216,6 @@ qemuValidateDomainDeviceDefDisk(const virDomainDiskDef *disk, virQEMUCaps *qemuCaps) { const char *driverName = virDomainDiskGetDriver(disk); - bool isSD = qemuDiskBusIsSD(disk->bus); virStorageSource *n; int idx; int partition; @@ -3259,8 +3258,7 @@ qemuValidateDomainDeviceDefDisk(const virDomainDiskDef *disk, } for (n = disk->src; virStorageSourceIsBacking(n); n = n->backingStore) { - /* blockdev support is masked out for 'sd' disks */ - if (qemuDomainValidateStorageSource(n, qemuCaps, isSD) < 0) + if (qemuDomainValidateStorageSource(n, qemuCaps) < 0) return -1; } diff --git a/tests/qemublocktest.c b/tests/qemublocktest.c index 57116c930b..1c1013d4d9 100644 --- a/tests/qemublocktest.c +++ b/tests/qemublocktest.c @@ -294,7 +294,7 @@ testQemuDiskXMLToProps(const void *opaque) if (testQemuDiskXMLToJSONFakeSecrets(n) < 0) return -1; - if (qemuDomainValidateStorageSource(n, data->qemuCaps, false) < 0) + if (qemuDomainValidateStorageSource(n, data->qemuCaps) < 0) return -1; qemuDomainPrepareDiskSourceData(disk, n); @@ -519,7 +519,7 @@ testQemuImageCreate(const void *opaque) src->capacity = UINT_MAX * 2ULL; src->physical = UINT_MAX + 1ULL; - if (qemuDomainValidateStorageSource(src, data->qemuCaps, false) < 0) + if (qemuDomainValidateStorageSource(src, data->qemuCaps) < 0) return -1; if (qemuBlockStorageSourceCreateGetStorageProps(src, &protocolprops) < 0) -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:51PM +0200, Peter Krempa wrote:
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_domain.c | 10 ++++------ src/qemu/qemu_domain.h | 3 +-- src/qemu/qemu_validate.c | 6 ++---- tests/qemublocktest.c | 4 ++-- 4 files changed, 9 insertions(+), 14 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_domain.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 8ac99a8cf7..d372381c74 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -7635,8 +7635,6 @@ qemuDomainDetermineDiskChain(virQEMUDriver *driver, virStorageSource *src; /* iterator for the backing chain declared in XML */ virStorageSource *n; /* iterator for the backing chain detected from disk */ qemuDomainObjPrivate *priv = vm->privateData; - bool blockdev = virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV); - bool isSD = qemuDiskBusIsSD(disk->bus); uid_t uid; gid_t gid; @@ -7726,7 +7724,7 @@ qemuDomainDetermineDiskChain(virQEMUDriver *driver, qemuDomainPrepareStorageSourceConfig(n, cfg); qemuDomainPrepareDiskSourceData(disk, n); - if (blockdev && !isSD && + if (!qemuDiskBusIsSD(disk->bus) && qemuDomainPrepareStorageSourceBlockdev(disk, n, priv, cfg) < 0) return -1; } -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:52PM +0200, Peter Krempa wrote:
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_domain.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_capabilities.c | 13 +++++-------- src/qemu/qemu_capabilities.h | 2 +- src/qemu/qemu_process.c | 10 ---------- tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml | 1 - tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml | 1 - tests/qemuhotplugtest.c | 1 - tests/testutilsqemu.c | 3 --- 31 files changed, 6 insertions(+), 49 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index b91f46bb12..7342eb3596 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -504,7 +504,7 @@ VIR_ENUM_IMPL(virQEMUCaps, "usb-storage.werror", /* X_QEMU_CAPS_USB_STORAGE_WERROR */ "egl-headless", /* QEMU_CAPS_EGL_HEADLESS */ "vfio-pci.display", /* QEMU_CAPS_VFIO_PCI_DISPLAY */ - "blockdev", /* QEMU_CAPS_BLOCKDEV */ + "blockdev", /* X_QEMU_CAPS_BLOCKDEV */ /* 315 */ "vfio-ap", /* QEMU_CAPS_DEVICE_VFIO_AP */ @@ -5224,10 +5224,6 @@ virQEMUCapsInitQMPBasicArch(virQEMUCaps *qemuCaps) static void virQEMUCapsInitQMPVersionCaps(virQEMUCaps *qemuCaps) { - /* While the removal of pre-blockdev code is in progress we always hard-code - * the support for QEMU_CAPS_BLOCKDEV */ - virQEMUCapsSet(qemuCaps, QEMU_CAPS_BLOCKDEV); - /* -enable-fips is deprecated in QEMU 5.2.0, and QEMU * should be built with gcrypt to achieve FIPS compliance * automatically / implicitly @@ -6093,13 +6089,13 @@ struct virQEMUCapsDomainFeatureCapabilityTuple { /** * This maps the qemu features to the entries in <features> of the domain - * capability XML. + * capability XML. Use QEMU_CAPS_LAST to always enable a domain feature. * */ static const struct virQEMUCapsDomainFeatureCapabilityTuple domCapsTuples[] = { { VIR_DOMAIN_CAPS_FEATURE_IOTHREADS, QEMU_CAPS_OBJECT_IOTHREAD }, { VIR_DOMAIN_CAPS_FEATURE_VMCOREINFO, QEMU_CAPS_DEVICE_VMCOREINFO }, { VIR_DOMAIN_CAPS_FEATURE_GENID, QEMU_CAPS_DEVICE_VMGENID }, - { VIR_DOMAIN_CAPS_FEATURE_BACKING_STORE_INPUT, QEMU_CAPS_BLOCKDEV }, + { VIR_DOMAIN_CAPS_FEATURE_BACKING_STORE_INPUT, QEMU_CAPS_LAST }, { VIR_DOMAIN_CAPS_FEATURE_BACKUP, QEMU_CAPS_INCREMENTAL_BACKUP }, }; @@ -6111,7 +6107,8 @@ virQEMUCapsFillDomainFeaturesFromQEMUCaps(virQEMUCaps *qemuCaps, size_t i; for (i = 0; i < G_N_ELEMENTS(domCapsTuples); i++) { - if (virQEMUCapsGet(qemuCaps, domCapsTuples[i].qemucap)) + if (virQEMUCapsGet(qemuCaps, domCapsTuples[i].qemucap) || + domCapsTuples[i].qemucap == QEMU_CAPS_LAST) domCaps->features[domCapsTuples[i].domcap] = VIR_TRISTATE_BOOL_YES; else domCaps->features[domCapsTuples[i].domcap] = VIR_TRISTATE_BOOL_NO; diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index 5f982b11d5..f8d4d3df05 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -483,7 +483,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */ X_QEMU_CAPS_USB_STORAGE_WERROR, /* -device usb-storage,werror=..,rerror=.. */ QEMU_CAPS_EGL_HEADLESS, /* -display egl-headless */ QEMU_CAPS_VFIO_PCI_DISPLAY, /* -device vfio-pci.display */ - QEMU_CAPS_BLOCKDEV, /* -blockdev and blockdev-add are supported */ + X_QEMU_CAPS_BLOCKDEV, /* -blockdev and blockdev-add are supported */ /* 315 */ QEMU_CAPS_DEVICE_VFIO_AP, /* -device vfio-ap */ diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index f13664c7f2..ac463571bb 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -5594,11 +5594,6 @@ qemuProcessStartUpdateCustomCaps(virDomainObj *vm) return -1; } - /* The code is being cleaned up to always assume the support for - * -blockdev thus we must no longer allow users to clear it */ - if (tmp == QEMU_CAPS_BLOCKDEV) - continue; - virQEMUCapsClear(priv->qemuCaps, tmp); } } @@ -5623,11 +5618,6 @@ qemuProcessStartUpdateCustomCaps(virDomainObj *vm) return -1; } - /* The code is being cleaned up to always assume the support for - * -blockdev thus we must no longer allow users to clear it */ - if (tmp == QEMU_CAPS_BLOCKDEV) - continue; - virQEMUCapsClear(priv->qemuCaps, tmp); } } diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml index 419a987068..2928f00c67 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml @@ -111,7 +111,6 @@ <flag name='vhost-vsock'/> <flag name='egl-headless'/> <flag name='vfio-pci.display'/> - <flag name='blockdev'/> <flag name='memory-backend-memfd'/> <flag name='memory-backend-memfd.hugetlb'/> <flag name='iothread.poll-max-ns'/> diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml index ceaedd3863..7dc9b425ae 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml @@ -111,7 +111,6 @@ <flag name='machine.pseries.cap-htm'/> <flag name='egl-headless'/> <flag name='vfio-pci.display'/> - <flag name='blockdev'/> <flag name='memory-backend-memfd'/> <flag name='memory-backend-memfd.hugetlb'/> <flag name='iothread.poll-max-ns'/> diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml b/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml index d1ed2a781c..2ff0e9f8df 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml @@ -79,7 +79,6 @@ <flag name='vhost-vsock'/> <flag name='egl-headless'/> <flag name='vfio-pci.display'/> - <flag name='blockdev'/> <flag name='vfio-ap'/> <flag name='zpci'/> <flag name='memory-backend-memfd'/> diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml index 784a837e91..744356169f 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml @@ -147,7 +147,6 @@ <flag name='mch.extended-tseg-mbytes'/> <flag name='egl-headless'/> <flag name='vfio-pci.display'/> - <flag name='blockdev'/> <flag name='memory-backend-memfd'/> <flag name='memory-backend-memfd.hugetlb'/> <flag name='iothread.poll-max-ns'/> diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml index b67c55b192..f4e9e68dd0 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml @@ -114,7 +114,6 @@ <flag name='tpm-emulator'/> <flag name='egl-headless'/> <flag name='vfio-pci.display'/> - <flag name='blockdev'/> <flag name='memory-backend-memfd'/> <flag name='memory-backend-memfd.hugetlb'/> <flag name='iothread.poll-max-ns'/> diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml index 5527659aaa..3aeac68121 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml @@ -114,7 +114,6 @@ <flag name='machine.pseries.cap-htm'/> <flag name='egl-headless'/> <flag name='vfio-pci.display'/> - <flag name='blockdev'/> <flag name='memory-backend-memfd'/> <flag name='memory-backend-memfd.hugetlb'/> <flag name='iothread.poll-max-ns'/> diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml index e8e6ab7e9d..c1e72e3d9e 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml @@ -110,7 +110,6 @@ <flag name='vhost-vsock'/> <flag name='egl-headless'/> <flag name='vfio-pci.display'/> - <flag name='blockdev'/> <flag name='memory-backend-memfd'/> <flag name='memory-backend-memfd.hugetlb'/> <flag name='iothread.poll-max-ns'/> diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml index d08eadc5b4..bebdf2ea75 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml @@ -147,7 +147,6 @@ <flag name='mch.extended-tseg-mbytes'/> <flag name='egl-headless'/> <flag name='vfio-pci.display'/> - <flag name='blockdev'/> <flag name='memory-backend-memfd'/> <flag name='memory-backend-memfd.hugetlb'/> <flag name='iothread.poll-max-ns'/> diff --git a/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml b/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml index a971ccf740..46d6932662 100644 --- a/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml +++ b/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml @@ -42,7 +42,6 @@ <flag name='memory-backend-file.discard-data'/> <flag name='screendump_device'/> <flag name='egl-headless'/> - <flag name='blockdev'/> <flag name='memory-backend-memfd'/> <flag name='memory-backend-memfd.hugetlb'/> <flag name='iothread.poll-max-ns'/> diff --git a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml index 8a33f277ab..3ac32468f5 100644 --- a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml @@ -146,7 +146,6 @@ <flag name='mch.extended-tseg-mbytes'/> <flag name='egl-headless'/> <flag name='vfio-pci.display'/> - <flag name='blockdev'/> <flag name='memory-backend-memfd'/> <flag name='memory-backend-memfd.hugetlb'/> <flag name='iothread.poll-max-ns'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml index 83d814613d..0c20e6c535 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml @@ -113,7 +113,6 @@ <flag name='tpm-emulator'/> <flag name='egl-headless'/> <flag name='vfio-pci.display'/> - <flag name='blockdev'/> <flag name='memory-backend-memfd'/> <flag name='memory-backend-memfd.hugetlb'/> <flag name='iothread.poll-max-ns'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml index fd07ed826e..c5ddbb1d09 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml @@ -112,7 +112,6 @@ <flag name='machine.pseries.cap-htm'/> <flag name='egl-headless'/> <flag name='vfio-pci.display'/> - <flag name='blockdev'/> <flag name='memory-backend-memfd'/> <flag name='memory-backend-memfd.hugetlb'/> <flag name='iothread.poll-max-ns'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml index 7c3adbe8b1..98b02aa2da 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml @@ -108,7 +108,6 @@ <flag name='vhost-vsock'/> <flag name='egl-headless'/> <flag name='vfio-pci.display'/> - <flag name='blockdev'/> <flag name='memory-backend-memfd'/> <flag name='memory-backend-memfd.hugetlb'/> <flag name='iothread.poll-max-ns'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml b/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml index edadf9ff2c..5244458ebf 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml @@ -77,7 +77,6 @@ <flag name='vhost-vsock'/> <flag name='egl-headless'/> <flag name='vfio-pci.display'/> - <flag name='blockdev'/> <flag name='vfio-ap'/> <flag name='zpci'/> <flag name='memory-backend-memfd'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml index 838add4a26..0824e37c24 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml @@ -146,7 +146,6 @@ <flag name='mch.extended-tseg-mbytes'/> <flag name='egl-headless'/> <flag name='vfio-pci.display'/> - <flag name='blockdev'/> <flag name='memory-backend-memfd'/> <flag name='memory-backend-memfd.hugetlb'/> <flag name='iothread.poll-max-ns'/> diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml index f59c32fe9d..2e0bb0a374 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml @@ -114,7 +114,6 @@ <flag name='tpm-emulator'/> <flag name='egl-headless'/> <flag name='vfio-pci.display'/> - <flag name='blockdev'/> <flag name='memory-backend-memfd'/> <flag name='memory-backend-memfd.hugetlb'/> <flag name='iothread.poll-max-ns'/> diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml b/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml index e39ec10987..1a17bb6dfd 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml @@ -77,7 +77,6 @@ <flag name='vhost-vsock'/> <flag name='egl-headless'/> <flag name='vfio-pci.display'/> - <flag name='blockdev'/> <flag name='vfio-ap'/> <flag name='zpci'/> <flag name='memory-backend-memfd'/> diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml index 89f397c458..75eda4d489 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml @@ -146,7 +146,6 @@ <flag name='sev-guest'/> <flag name='egl-headless'/> <flag name='vfio-pci.display'/> - <flag name='blockdev'/> <flag name='memory-backend-memfd'/> <flag name='memory-backend-memfd.hugetlb'/> <flag name='iothread.poll-max-ns'/> diff --git a/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml index f372d93e28..4943e0dc94 100644 --- a/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml @@ -144,7 +144,6 @@ <flag name='mch.extended-tseg-mbytes'/> <flag name='egl-headless'/> <flag name='vfio-pci.display'/> - <flag name='blockdev'/> <flag name='memory-backend-memfd'/> <flag name='memory-backend-memfd.hugetlb'/> <flag name='iothread.poll-max-ns'/> diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml index 9e847c3dcd..eb5ba3786e 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml @@ -121,7 +121,6 @@ <flag name='tpm-emulator'/> <flag name='egl-headless'/> <flag name='vfio-pci.display'/> - <flag name='blockdev'/> <flag name='memory-backend-memfd'/> <flag name='memory-backend-memfd.hugetlb'/> <flag name='iothread.poll-max-ns'/> diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml index da23234b5b..82c38be8a6 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml @@ -111,7 +111,6 @@ <flag name='machine.pseries.cap-hpt-max-page-size'/> <flag name='machine.pseries.cap-htm'/> <flag name='vfio-pci.display'/> - <flag name='blockdev'/> <flag name='memory-backend-memfd'/> <flag name='memory-backend-memfd.hugetlb'/> <flag name='iothread.poll-max-ns'/> diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml index 1e88f23deb..58224325e5 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml @@ -144,7 +144,6 @@ <flag name='mch.extended-tseg-mbytes'/> <flag name='egl-headless'/> <flag name='vfio-pci.display'/> - <flag name='blockdev'/> <flag name='memory-backend-memfd'/> <flag name='memory-backend-memfd.hugetlb'/> <flag name='iothread.poll-max-ns'/> diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml index 92b996df23..7848f4aca4 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml @@ -121,7 +121,6 @@ <flag name='tpm-emulator'/> <flag name='egl-headless'/> <flag name='vfio-pci.display'/> - <flag name='blockdev'/> <flag name='memory-backend-memfd'/> <flag name='memory-backend-memfd.hugetlb'/> <flag name='iothread.poll-max-ns'/> diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml index 24dae3160c..c6c946f758 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml @@ -118,7 +118,6 @@ <flag name='machine.pseries.cap-htm'/> <flag name='egl-headless'/> <flag name='vfio-pci.display'/> - <flag name='blockdev'/> <flag name='memory-backend-memfd'/> <flag name='memory-backend-memfd.hugetlb'/> <flag name='iothread.poll-max-ns'/> diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml index 2cf01d010e..0af79c8ea6 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml @@ -144,7 +144,6 @@ <flag name='mch.extended-tseg-mbytes'/> <flag name='egl-headless'/> <flag name='vfio-pci.display'/> - <flag name='blockdev'/> <flag name='memory-backend-memfd'/> <flag name='memory-backend-memfd.hugetlb'/> <flag name='iothread.poll-max-ns'/> diff --git a/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml index c6089f29a0..558507c573 100644 --- a/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml @@ -144,7 +144,6 @@ <flag name='mch.extended-tseg-mbytes'/> <flag name='egl-headless'/> <flag name='vfio-pci.display'/> - <flag name='blockdev'/> <flag name='memory-backend-memfd'/> <flag name='memory-backend-memfd.hugetlb'/> <flag name='iothread.poll-max-ns'/> diff --git a/tests/qemuhotplugtest.c b/tests/qemuhotplugtest.c index 5edcf3d989..adea5ff81b 100644 --- a/tests/qemuhotplugtest.c +++ b/tests/qemuhotplugtest.c @@ -73,7 +73,6 @@ qemuHotplugCreateObjects(virDomainXMLOption *xmlopt, virQEMUCapsInitQMPBasicArch(priv->qemuCaps); - virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV); virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_VIRTIO_SCSI); virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_DEVICE_USB_STORAGE); virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_CCW); diff --git a/tests/testutilsqemu.c b/tests/testutilsqemu.c index c34cb878de..6dabbaf36a 100644 --- a/tests/testutilsqemu.c +++ b/tests/testutilsqemu.c @@ -856,9 +856,6 @@ 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); - info->conf = conf; info->args.newargs = true; -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:53PM +0200, Peter Krempa wrote:
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_capabilities.c | 13 +++++-------- src/qemu/qemu_capabilities.h | 2 +- src/qemu/qemu_process.c | 10 ---------- tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml | 1 - tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml | 1 - tests/qemuhotplugtest.c | 1 - tests/testutilsqemu.c | 3 --- 31 files changed, 6 insertions(+), 49 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

Set it same way we set throttling for other disks in qemuProcessSetupDiskThrottling. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_command.c | 42 ----------------------------------------- src/qemu/qemu_process.c | 20 +++++++++++--------- 2 files changed, 11 insertions(+), 51 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index afdf79ff55..6b93c5f579 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -1676,46 +1676,6 @@ qemuBuildDriveSourceStr(virDomainDiskDef *disk, } -static void -qemuBuildDiskThrottling(virDomainDiskDef *disk, - virBuffer *buf) -{ -#define IOTUNE_ADD(_field, _label) \ - if (disk->blkdeviotune._field) { \ - virBufferAsprintf(buf, ",throttling." _label "=%llu", \ - disk->blkdeviotune._field); \ - } - - IOTUNE_ADD(total_bytes_sec, "bps-total"); - IOTUNE_ADD(read_bytes_sec, "bps-read"); - IOTUNE_ADD(write_bytes_sec, "bps-write"); - IOTUNE_ADD(total_iops_sec, "iops-total"); - IOTUNE_ADD(read_iops_sec, "iops-read"); - IOTUNE_ADD(write_iops_sec, "iops-write"); - - IOTUNE_ADD(total_bytes_sec_max, "bps-total-max"); - IOTUNE_ADD(read_bytes_sec_max, "bps-read-max"); - IOTUNE_ADD(write_bytes_sec_max, "bps-write-max"); - IOTUNE_ADD(total_iops_sec_max, "iops-total-max"); - IOTUNE_ADD(read_iops_sec_max, "iops-read-max"); - IOTUNE_ADD(write_iops_sec_max, "iops-write-max"); - - IOTUNE_ADD(size_iops_sec, "iops-size"); - if (disk->blkdeviotune.group_name) { - virBufferAddLit(buf, ",throttling.group="); - virQEMUBuildBufferEscapeComma(buf, disk->blkdeviotune.group_name); - } - - IOTUNE_ADD(total_bytes_sec_max_length, "bps-total-max-length"); - IOTUNE_ADD(read_bytes_sec_max_length, "bps-read-max-length"); - IOTUNE_ADD(write_bytes_sec_max_length, "bps-write-max-length"); - IOTUNE_ADD(total_iops_sec_max_length, "iops-total-max-length"); - IOTUNE_ADD(read_iops_sec_max_length, "iops-read-max-length"); - IOTUNE_ADD(write_iops_sec_max_length, "iops-write-max-length"); -#undef IOTUNE_ADD -} - - static void qemuBuildDiskGetErrorPolicy(virDomainDiskDef *disk, const char **wpolicy, @@ -1790,8 +1750,6 @@ qemuBuildDriveStr(virDomainDiskDef *disk) } } - qemuBuildDiskThrottling(disk, &opt); - return virBufferContentAndReset(&opt); } diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index ac463571bb..f15222e932 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -7220,7 +7220,7 @@ qemuProcessGenID(virDomainObj *vm, /** - * qemuProcessSetupDiskThrottlingBlockdev: + * qemuProcessSetupDiskThrottling: * * Sets up disk trottling for -blockdev via block_set_io_throttle monitor * command. This hack should be replaced by proper use of the 'throttle' @@ -7228,9 +7228,9 @@ qemuProcessGenID(virDomainObj *vm, * Same hack is done in qemuDomainAttachDiskGeneric. */ static int -qemuProcessSetupDiskThrottlingBlockdev(virQEMUDriver *driver, - virDomainObj *vm, - virDomainAsyncJob asyncJob) +qemuProcessSetupDiskThrottling(virQEMUDriver *driver, + virDomainObj *vm, + virDomainAsyncJob asyncJob) { size_t i; int ret = -1; @@ -7243,10 +7243,12 @@ qemuProcessSetupDiskThrottlingBlockdev(virQEMUDriver *driver, for (i = 0; i < vm->def->ndisks; i++) { virDomainDiskDef *disk = vm->def->disks[i]; qemuDomainDiskPrivate *diskPriv = QEMU_DOMAIN_DISK_PRIVATE(disk); + g_autofree char *drivealias = NULL; - /* sd-cards are instantiated via -drive */ - if (qemuDiskBusIsSD(disk->bus)) - continue; + if (!QEMU_DOMAIN_DISK_PRIVATE(disk)->qomName) { + if (!(drivealias = qemuAliasDiskDriveFromDisk(disk))) + goto cleanup; + } /* Setting throttling for empty drives fails */ if (virStorageSourceIsEmpty(disk->src)) @@ -7255,7 +7257,7 @@ qemuProcessSetupDiskThrottlingBlockdev(virQEMUDriver *driver, if (!qemuDiskConfigBlkdeviotuneEnabled(disk)) continue; - if (qemuMonitorSetBlockIoThrottle(qemuDomainGetMonitor(vm), NULL, + if (qemuMonitorSetBlockIoThrottle(qemuDomainGetMonitor(vm), drivealias, diskPriv->qomName, &disk->blkdeviotune) < 0) goto cleanup; } @@ -7768,7 +7770,7 @@ qemuProcessLaunch(virConnectPtr conn, if (qemuProcessSetupBalloon(driver, vm, asyncJob) < 0) goto cleanup; - if (qemuProcessSetupDiskThrottlingBlockdev(driver, vm, asyncJob) < 0) + if (qemuProcessSetupDiskThrottling(driver, vm, asyncJob) < 0) goto cleanup; /* Since CPUs were not started yet, the balloon could not return the memory -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:54PM +0200, Peter Krempa wrote:
Set it same way we set throttling for other disks in qemuProcessSetupDiskThrottling.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_command.c | 42 ----------------------------------------- src/qemu/qemu_process.c | 20 +++++++++++--------- 2 files changed, 11 insertions(+), 51 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_capabilities.c | 3 +-- src/qemu/qemu_capabilities.h | 2 +- tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml | 1 - tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml | 1 - 28 files changed, 2 insertions(+), 29 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 7342eb3596..d0fbe8d7f8 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -416,7 +416,7 @@ VIR_ENUM_IMPL(virQEMUCaps, "block-write-threshold", /* QEMU_CAPS_BLOCK_WRITE_THRESHOLD */ /* 250 */ - "query-named-block-nodes", /* QEMU_CAPS_QUERY_NAMED_BLOCK_NODES */ + "query-named-block-nodes", /* X_QEMU_CAPS_QUERY_NAMED_BLOCK_NODES */ "cpu-cache", /* QEMU_CAPS_CPU_CACHE */ "qemu-xhci", /* QEMU_CAPS_DEVICE_QEMU_XHCI */ "kernel-irqchip", /* X_QEMU_CAPS_MACHINE_KERNEL_IRQCHIP */ @@ -1210,7 +1210,6 @@ struct virQEMUCapsStringFlags virQEMUCapsCommands[] = { { "query-hotpluggable-cpus", QEMU_CAPS_QUERY_HOTPLUGGABLE_CPUS }, { "query-cpu-model-expansion", QEMU_CAPS_QUERY_CPU_MODEL_EXPANSION }, { "query-cpu-definitions", QEMU_CAPS_QUERY_CPU_DEFINITIONS }, - { "query-named-block-nodes", QEMU_CAPS_QUERY_NAMED_BLOCK_NODES }, { "query-cpus-fast", QEMU_CAPS_QUERY_CPUS_FAST }, { "qom-list-properties", QEMU_CAPS_QOM_LIST_PROPERTIES }, { "query-current-machine", QEMU_CAPS_QUERY_CURRENT_MACHINE }, diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index f8d4d3df05..d06a7e6751 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -395,7 +395,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */ QEMU_CAPS_BLOCK_WRITE_THRESHOLD, /* BLOCK_WRITE_THRESHOLD event */ /* 250 */ - QEMU_CAPS_QUERY_NAMED_BLOCK_NODES, /* qmp query-named-block-nodes */ + X_QEMU_CAPS_QUERY_NAMED_BLOCK_NODES, /* qmp query-named-block-nodes */ QEMU_CAPS_CPU_CACHE, /* -cpu supports host-cache-info and l3-cache properties */ QEMU_CAPS_DEVICE_QEMU_XHCI, /* -device qemu-xhci */ X_QEMU_CAPS_MACHINE_KERNEL_IRQCHIP, /* -machine kernel_irqchip */ diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml index 2928f00c67..e285dd4899 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml @@ -89,7 +89,6 @@ <flag name='pcie-root-port'/> <flag name='query-cpu-definitions'/> <flag name='block-write-threshold'/> - <flag name='query-named-block-nodes'/> <flag name='qemu-xhci'/> <flag name='virtio-net.tx_queue_size'/> <flag name='chardev-reconnect'/> diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml index 7dc9b425ae..22a441e9c6 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml @@ -85,7 +85,6 @@ <flag name='pcie-root-port'/> <flag name='query-cpu-definitions'/> <flag name='block-write-threshold'/> - <flag name='query-named-block-nodes'/> <flag name='qemu-xhci'/> <flag name='spapr-pci-host-bridge'/> <flag name='spapr-pci-host-bridge.numa_node'/> diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml b/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml index 2ff0e9f8df..19c38fe572 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml @@ -53,7 +53,6 @@ <flag name='virtio-net.host_mtu'/> <flag name='query-cpu-definitions'/> <flag name='block-write-threshold'/> - <flag name='query-named-block-nodes'/> <flag name='loadparm'/> <flag name='virtio-net.tx_queue_size'/> <flag name='chardev-reconnect'/> diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml index 744356169f..338ab4f925 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml @@ -115,7 +115,6 @@ <flag name='pcie-root-port'/> <flag name='query-cpu-definitions'/> <flag name='block-write-threshold'/> - <flag name='query-named-block-nodes'/> <flag name='cpu-cache'/> <flag name='qemu-xhci'/> <flag name='intel-iommu.intremap'/> diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml index f4e9e68dd0..c975dc1f27 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml @@ -91,7 +91,6 @@ <flag name='pcie-root-port'/> <flag name='query-cpu-definitions'/> <flag name='block-write-threshold'/> - <flag name='query-named-block-nodes'/> <flag name='qemu-xhci'/> <flag name='virtio-net.tx_queue_size'/> <flag name='chardev-reconnect'/> diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml index 3aeac68121..dda389f637 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml @@ -87,7 +87,6 @@ <flag name='pcie-root-port'/> <flag name='query-cpu-definitions'/> <flag name='block-write-threshold'/> - <flag name='query-named-block-nodes'/> <flag name='qemu-xhci'/> <flag name='spapr-pci-host-bridge'/> <flag name='spapr-pci-host-bridge.numa_node'/> diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml index c1e72e3d9e..39650685a5 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml @@ -90,7 +90,6 @@ <flag name='spice-rendernode'/> <flag name='pcie-root-port'/> <flag name='block-write-threshold'/> - <flag name='query-named-block-nodes'/> <flag name='qemu-xhci'/> <flag name='virtio-net.tx_queue_size'/> <flag name='chardev-reconnect'/> diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml index bebdf2ea75..b6dd2db3c0 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml @@ -115,7 +115,6 @@ <flag name='pcie-root-port'/> <flag name='query-cpu-definitions'/> <flag name='block-write-threshold'/> - <flag name='query-named-block-nodes'/> <flag name='cpu-cache'/> <flag name='qemu-xhci'/> <flag name='intel-iommu.intremap'/> diff --git a/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml b/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml index 46d6932662..095a036ef5 100644 --- a/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml +++ b/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml @@ -29,7 +29,6 @@ <flag name='query-hotpluggable-cpus'/> <flag name='spice-rendernode'/> <flag name='block-write-threshold'/> - <flag name='query-named-block-nodes'/> <flag name='chardev-reconnect'/> <flag name='disk-share-rw'/> <flag name='isa-serial'/> diff --git a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml index 3ac32468f5..3b1c85d760 100644 --- a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml @@ -115,7 +115,6 @@ <flag name='pcie-root-port'/> <flag name='query-cpu-definitions'/> <flag name='block-write-threshold'/> - <flag name='query-named-block-nodes'/> <flag name='cpu-cache'/> <flag name='qemu-xhci'/> <flag name='intel-iommu.intremap'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml index 0c20e6c535..d617366402 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml @@ -91,7 +91,6 @@ <flag name='pcie-root-port'/> <flag name='query-cpu-definitions'/> <flag name='block-write-threshold'/> - <flag name='query-named-block-nodes'/> <flag name='qemu-xhci'/> <flag name='virtio-net.tx_queue_size'/> <flag name='chardev-reconnect'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml index c5ddbb1d09..e1ac1c645c 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml @@ -86,7 +86,6 @@ <flag name='pcie-root-port'/> <flag name='query-cpu-definitions'/> <flag name='block-write-threshold'/> - <flag name='query-named-block-nodes'/> <flag name='qemu-xhci'/> <flag name='spapr-pci-host-bridge'/> <flag name='spapr-pci-host-bridge.numa_node'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml index 98b02aa2da..ba46833b94 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml @@ -89,7 +89,6 @@ <flag name='spice-rendernode'/> <flag name='pcie-root-port'/> <flag name='block-write-threshold'/> - <flag name='query-named-block-nodes'/> <flag name='qemu-xhci'/> <flag name='virtio-net.tx_queue_size'/> <flag name='chardev-reconnect'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml b/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml index 5244458ebf..290f423cd5 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml @@ -52,7 +52,6 @@ <flag name='virtio-net.host_mtu'/> <flag name='query-cpu-definitions'/> <flag name='block-write-threshold'/> - <flag name='query-named-block-nodes'/> <flag name='loadparm'/> <flag name='virtio-net.tx_queue_size'/> <flag name='chardev-reconnect'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml index 0824e37c24..02aac89249 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml @@ -115,7 +115,6 @@ <flag name='pcie-root-port'/> <flag name='query-cpu-definitions'/> <flag name='block-write-threshold'/> - <flag name='query-named-block-nodes'/> <flag name='cpu-cache'/> <flag name='qemu-xhci'/> <flag name='intel-iommu.intremap'/> diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml index 2e0bb0a374..58c19cdcd8 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml @@ -92,7 +92,6 @@ <flag name='pcie-root-port'/> <flag name='query-cpu-definitions'/> <flag name='block-write-threshold'/> - <flag name='query-named-block-nodes'/> <flag name='qemu-xhci'/> <flag name='virtio-net.tx_queue_size'/> <flag name='chardev-reconnect'/> diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml b/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml index 1a17bb6dfd..cd468e2a5e 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml @@ -52,7 +52,6 @@ <flag name='virtio-net.host_mtu'/> <flag name='query-cpu-definitions'/> <flag name='block-write-threshold'/> - <flag name='query-named-block-nodes'/> <flag name='loadparm'/> <flag name='virtio-net.tx_queue_size'/> <flag name='chardev-reconnect'/> diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml index 75eda4d489..d462be83f9 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml @@ -114,7 +114,6 @@ <flag name='pcie-root-port'/> <flag name='query-cpu-definitions'/> <flag name='block-write-threshold'/> - <flag name='query-named-block-nodes'/> <flag name='cpu-cache'/> <flag name='qemu-xhci'/> <flag name='intel-iommu.intremap'/> diff --git a/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml index 4943e0dc94..94eb08aae6 100644 --- a/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml @@ -113,7 +113,6 @@ <flag name='pcie-root-port'/> <flag name='query-cpu-definitions'/> <flag name='block-write-threshold'/> - <flag name='query-named-block-nodes'/> <flag name='cpu-cache'/> <flag name='qemu-xhci'/> <flag name='intel-iommu.intremap'/> diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml index eb5ba3786e..10c5efd07a 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml @@ -99,7 +99,6 @@ <flag name='pcie-root-port'/> <flag name='query-cpu-definitions'/> <flag name='block-write-threshold'/> - <flag name='query-named-block-nodes'/> <flag name='qemu-xhci'/> <flag name='virtio-net.tx_queue_size'/> <flag name='chardev-reconnect'/> diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml index 82c38be8a6..d9f644e797 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml @@ -86,7 +86,6 @@ <flag name='pcie-root-port'/> <flag name='query-cpu-definitions'/> <flag name='block-write-threshold'/> - <flag name='query-named-block-nodes'/> <flag name='qemu-xhci'/> <flag name='spapr-pci-host-bridge'/> <flag name='spapr-pci-host-bridge.numa_node'/> diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml index 58224325e5..bb51d7bca3 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml @@ -113,7 +113,6 @@ <flag name='pcie-root-port'/> <flag name='query-cpu-definitions'/> <flag name='block-write-threshold'/> - <flag name='query-named-block-nodes'/> <flag name='cpu-cache'/> <flag name='qemu-xhci'/> <flag name='intel-iommu.intremap'/> diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml index 7848f4aca4..68526f345e 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml @@ -99,7 +99,6 @@ <flag name='pcie-root-port'/> <flag name='query-cpu-definitions'/> <flag name='block-write-threshold'/> - <flag name='query-named-block-nodes'/> <flag name='qemu-xhci'/> <flag name='virtio-net.tx_queue_size'/> <flag name='chardev-reconnect'/> diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml index c6c946f758..524b692784 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml @@ -92,7 +92,6 @@ <flag name='pcie-root-port'/> <flag name='query-cpu-definitions'/> <flag name='block-write-threshold'/> - <flag name='query-named-block-nodes'/> <flag name='qemu-xhci'/> <flag name='spapr-pci-host-bridge'/> <flag name='spapr-pci-host-bridge.numa_node'/> diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml index 0af79c8ea6..f9f55d61bb 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml @@ -113,7 +113,6 @@ <flag name='pcie-root-port'/> <flag name='query-cpu-definitions'/> <flag name='block-write-threshold'/> - <flag name='query-named-block-nodes'/> <flag name='cpu-cache'/> <flag name='qemu-xhci'/> <flag name='intel-iommu.intremap'/> diff --git a/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml index 558507c573..3e45438116 100644 --- a/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml @@ -113,7 +113,6 @@ <flag name='pcie-root-port'/> <flag name='query-cpu-definitions'/> <flag name='block-write-threshold'/> - <flag name='query-named-block-nodes'/> <flag name='cpu-cache'/> <flag name='qemu-xhci'/> <flag name='intel-iommu.intremap'/> -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:55PM +0200, Peter Krempa wrote:
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_capabilities.c | 3 +-- src/qemu/qemu_capabilities.h | 2 +- tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml | 1 - tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml | 1 - 28 files changed, 2 insertions(+), 29 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

The event was introduced in qemu-2.3 Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_capabilities.c | 3 +-- src/qemu/qemu_capabilities.h | 2 +- src/qemu/qemu_driver.c | 6 ------ tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml | 1 - tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml | 1 - 29 files changed, 2 insertions(+), 35 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index d0fbe8d7f8..1caae40d0f 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -413,7 +413,7 @@ VIR_ENUM_IMPL(virQEMUCaps, "nvdimm", /* QEMU_CAPS_DEVICE_NVDIMM */ "pcie-root-port", /* QEMU_CAPS_DEVICE_PCIE_ROOT_PORT */ "query-cpu-definitions", /* QEMU_CAPS_QUERY_CPU_DEFINITIONS */ - "block-write-threshold", /* QEMU_CAPS_BLOCK_WRITE_THRESHOLD */ + "block-write-threshold", /* X_QEMU_CAPS_BLOCK_WRITE_THRESHOLD */ /* 250 */ "query-named-block-nodes", /* X_QEMU_CAPS_QUERY_NAMED_BLOCK_NODES */ @@ -1233,7 +1233,6 @@ struct virQEMUCapsStringFlags virQEMUCapsMigration[] = { /* Use virQEMUCapsQMPSchemaQueries for querying parameters of events */ struct virQEMUCapsStringFlags virQEMUCapsEvents[] = { { "VSERPORT_CHANGE", QEMU_CAPS_VSERPORT_CHANGE }, - { "BLOCK_WRITE_THRESHOLD", QEMU_CAPS_BLOCK_WRITE_THRESHOLD }, { "DUMP_COMPLETED", QEMU_CAPS_DUMP_COMPLETED }, }; diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index d06a7e6751..097ecdca32 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -392,7 +392,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */ QEMU_CAPS_DEVICE_NVDIMM, /* -device nvdimm */ QEMU_CAPS_DEVICE_PCIE_ROOT_PORT, /* -device pcie-root-port */ QEMU_CAPS_QUERY_CPU_DEFINITIONS, /* qmp query-cpu-definitions */ - QEMU_CAPS_BLOCK_WRITE_THRESHOLD, /* BLOCK_WRITE_THRESHOLD event */ + X_QEMU_CAPS_BLOCK_WRITE_THRESHOLD, /* BLOCK_WRITE_THRESHOLD event */ /* 250 */ X_QEMU_CAPS_QUERY_NAMED_BLOCK_NODES, /* qmp query-named-block-nodes */ diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 4c3e12966a..8c7cb64f98 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -19632,12 +19632,6 @@ qemuDomainSetBlockThreshold(virDomainPtr dom, if (virDomainObjCheckActive(vm) < 0) goto endjob; - if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCK_WRITE_THRESHOLD)) { - virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s", - _("this qemu does not support setting device threshold")); - goto endjob; - } - if (!(src = qemuDomainGetStorageSourceByDevstr(dev, vm->def, priv->backup))) goto endjob; diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml index e285dd4899..ed59536bd7 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml @@ -88,7 +88,6 @@ <flag name='virtio-net.host_mtu'/> <flag name='pcie-root-port'/> <flag name='query-cpu-definitions'/> - <flag name='block-write-threshold'/> <flag name='qemu-xhci'/> <flag name='virtio-net.tx_queue_size'/> <flag name='chardev-reconnect'/> diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml index 22a441e9c6..8adc5e8335 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml @@ -84,7 +84,6 @@ <flag name='virtio-net.host_mtu'/> <flag name='pcie-root-port'/> <flag name='query-cpu-definitions'/> - <flag name='block-write-threshold'/> <flag name='qemu-xhci'/> <flag name='spapr-pci-host-bridge'/> <flag name='spapr-pci-host-bridge.numa_node'/> diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml b/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml index 19c38fe572..41abf5474a 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml @@ -52,7 +52,6 @@ <flag name='query-cpu-model-expansion'/> <flag name='virtio-net.host_mtu'/> <flag name='query-cpu-definitions'/> - <flag name='block-write-threshold'/> <flag name='loadparm'/> <flag name='virtio-net.tx_queue_size'/> <flag name='chardev-reconnect'/> diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml index 338ab4f925..6af25c80f7 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml @@ -114,7 +114,6 @@ <flag name='nvdimm'/> <flag name='pcie-root-port'/> <flag name='query-cpu-definitions'/> - <flag name='block-write-threshold'/> <flag name='cpu-cache'/> <flag name='qemu-xhci'/> <flag name='intel-iommu.intremap'/> diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml index c975dc1f27..77983f4d19 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml @@ -90,7 +90,6 @@ <flag name='virtio-net.host_mtu'/> <flag name='pcie-root-port'/> <flag name='query-cpu-definitions'/> - <flag name='block-write-threshold'/> <flag name='qemu-xhci'/> <flag name='virtio-net.tx_queue_size'/> <flag name='chardev-reconnect'/> diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml index dda389f637..e0d01288e6 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml @@ -86,7 +86,6 @@ <flag name='nvdimm'/> <flag name='pcie-root-port'/> <flag name='query-cpu-definitions'/> - <flag name='block-write-threshold'/> <flag name='qemu-xhci'/> <flag name='spapr-pci-host-bridge'/> <flag name='spapr-pci-host-bridge.numa_node'/> diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml index 39650685a5..9fc0898622 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml @@ -89,7 +89,6 @@ <flag name='virtio-net.host_mtu'/> <flag name='spice-rendernode'/> <flag name='pcie-root-port'/> - <flag name='block-write-threshold'/> <flag name='qemu-xhci'/> <flag name='virtio-net.tx_queue_size'/> <flag name='chardev-reconnect'/> diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml index b6dd2db3c0..c893649c9a 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml @@ -114,7 +114,6 @@ <flag name='nvdimm'/> <flag name='pcie-root-port'/> <flag name='query-cpu-definitions'/> - <flag name='block-write-threshold'/> <flag name='cpu-cache'/> <flag name='qemu-xhci'/> <flag name='intel-iommu.intremap'/> diff --git a/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml b/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml index 095a036ef5..9d7effca30 100644 --- a/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml +++ b/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml @@ -28,7 +28,6 @@ <flag name='chardev-logfile'/> <flag name='query-hotpluggable-cpus'/> <flag name='spice-rendernode'/> - <flag name='block-write-threshold'/> <flag name='chardev-reconnect'/> <flag name='disk-share-rw'/> <flag name='isa-serial'/> diff --git a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml index 3b1c85d760..c965dff81c 100644 --- a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml @@ -114,7 +114,6 @@ <flag name='nvdimm'/> <flag name='pcie-root-port'/> <flag name='query-cpu-definitions'/> - <flag name='block-write-threshold'/> <flag name='cpu-cache'/> <flag name='qemu-xhci'/> <flag name='intel-iommu.intremap'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml index d617366402..a9d87bc33d 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml @@ -90,7 +90,6 @@ <flag name='nvdimm'/> <flag name='pcie-root-port'/> <flag name='query-cpu-definitions'/> - <flag name='block-write-threshold'/> <flag name='qemu-xhci'/> <flag name='virtio-net.tx_queue_size'/> <flag name='chardev-reconnect'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml index e1ac1c645c..ca8d47a534 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml @@ -85,7 +85,6 @@ <flag name='nvdimm'/> <flag name='pcie-root-port'/> <flag name='query-cpu-definitions'/> - <flag name='block-write-threshold'/> <flag name='qemu-xhci'/> <flag name='spapr-pci-host-bridge'/> <flag name='spapr-pci-host-bridge.numa_node'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml index ba46833b94..6df5dd097c 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml @@ -88,7 +88,6 @@ <flag name='virtio-net.host_mtu'/> <flag name='spice-rendernode'/> <flag name='pcie-root-port'/> - <flag name='block-write-threshold'/> <flag name='qemu-xhci'/> <flag name='virtio-net.tx_queue_size'/> <flag name='chardev-reconnect'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml b/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml index 290f423cd5..d03456bc07 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml @@ -51,7 +51,6 @@ <flag name='query-cpu-model-expansion'/> <flag name='virtio-net.host_mtu'/> <flag name='query-cpu-definitions'/> - <flag name='block-write-threshold'/> <flag name='loadparm'/> <flag name='virtio-net.tx_queue_size'/> <flag name='chardev-reconnect'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml index 02aac89249..59f68dfb3a 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml @@ -114,7 +114,6 @@ <flag name='nvdimm'/> <flag name='pcie-root-port'/> <flag name='query-cpu-definitions'/> - <flag name='block-write-threshold'/> <flag name='cpu-cache'/> <flag name='qemu-xhci'/> <flag name='intel-iommu.intremap'/> diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml index 58c19cdcd8..045303ae71 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml @@ -91,7 +91,6 @@ <flag name='nvdimm'/> <flag name='pcie-root-port'/> <flag name='query-cpu-definitions'/> - <flag name='block-write-threshold'/> <flag name='qemu-xhci'/> <flag name='virtio-net.tx_queue_size'/> <flag name='chardev-reconnect'/> diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml b/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml index cd468e2a5e..cdabb03f8e 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml @@ -51,7 +51,6 @@ <flag name='query-cpu-model-expansion'/> <flag name='virtio-net.host_mtu'/> <flag name='query-cpu-definitions'/> - <flag name='block-write-threshold'/> <flag name='loadparm'/> <flag name='virtio-net.tx_queue_size'/> <flag name='chardev-reconnect'/> diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml index d462be83f9..d8ea781430 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml @@ -113,7 +113,6 @@ <flag name='nvdimm'/> <flag name='pcie-root-port'/> <flag name='query-cpu-definitions'/> - <flag name='block-write-threshold'/> <flag name='cpu-cache'/> <flag name='qemu-xhci'/> <flag name='intel-iommu.intremap'/> diff --git a/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml index 94eb08aae6..00cd48bdb1 100644 --- a/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml @@ -112,7 +112,6 @@ <flag name='nvdimm'/> <flag name='pcie-root-port'/> <flag name='query-cpu-definitions'/> - <flag name='block-write-threshold'/> <flag name='cpu-cache'/> <flag name='qemu-xhci'/> <flag name='intel-iommu.intremap'/> diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml index 10c5efd07a..b16318bb16 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml @@ -98,7 +98,6 @@ <flag name='nvdimm'/> <flag name='pcie-root-port'/> <flag name='query-cpu-definitions'/> - <flag name='block-write-threshold'/> <flag name='qemu-xhci'/> <flag name='virtio-net.tx_queue_size'/> <flag name='chardev-reconnect'/> diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml index d9f644e797..31791cf643 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml @@ -85,7 +85,6 @@ <flag name='nvdimm'/> <flag name='pcie-root-port'/> <flag name='query-cpu-definitions'/> - <flag name='block-write-threshold'/> <flag name='qemu-xhci'/> <flag name='spapr-pci-host-bridge'/> <flag name='spapr-pci-host-bridge.numa_node'/> diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml index bb51d7bca3..63011661ae 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml @@ -112,7 +112,6 @@ <flag name='nvdimm'/> <flag name='pcie-root-port'/> <flag name='query-cpu-definitions'/> - <flag name='block-write-threshold'/> <flag name='cpu-cache'/> <flag name='qemu-xhci'/> <flag name='intel-iommu.intremap'/> diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml index 68526f345e..ba401e00b2 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml @@ -98,7 +98,6 @@ <flag name='nvdimm'/> <flag name='pcie-root-port'/> <flag name='query-cpu-definitions'/> - <flag name='block-write-threshold'/> <flag name='qemu-xhci'/> <flag name='virtio-net.tx_queue_size'/> <flag name='chardev-reconnect'/> diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml index 524b692784..b0cb53021d 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml @@ -91,7 +91,6 @@ <flag name='nvdimm'/> <flag name='pcie-root-port'/> <flag name='query-cpu-definitions'/> - <flag name='block-write-threshold'/> <flag name='qemu-xhci'/> <flag name='spapr-pci-host-bridge'/> <flag name='spapr-pci-host-bridge.numa_node'/> diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml index f9f55d61bb..f451bc9892 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml @@ -112,7 +112,6 @@ <flag name='nvdimm'/> <flag name='pcie-root-port'/> <flag name='query-cpu-definitions'/> - <flag name='block-write-threshold'/> <flag name='cpu-cache'/> <flag name='qemu-xhci'/> <flag name='intel-iommu.intremap'/> diff --git a/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml index 3e45438116..31cca6f052 100644 --- a/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml @@ -112,7 +112,6 @@ <flag name='nvdimm'/> <flag name='pcie-root-port'/> <flag name='query-cpu-definitions'/> - <flag name='block-write-threshold'/> <flag name='cpu-cache'/> <flag name='qemu-xhci'/> <flag name='intel-iommu.intremap'/> -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:56PM +0200, Peter Krempa wrote:
The event was introduced in qemu-2.3
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_capabilities.c | 3 +-- src/qemu/qemu_capabilities.h | 2 +- src/qemu/qemu_driver.c | 6 ------ tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml | 1 - tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml | 1 - 29 files changed, 2 insertions(+), 35 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

The blockdev-backup QMP command was introduced in qemu-2.3. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_backup.c | 6 ------ src/qemu/qemu_capabilities.c | 6 ++---- src/qemu/qemu_capabilities.h | 2 +- tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml | 1 - tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml | 1 - 29 files changed, 3 insertions(+), 37 deletions(-) diff --git a/src/qemu/qemu_backup.c b/src/qemu/qemu_backup.c index 60cb79d70d..1012e3aee7 100644 --- a/src/qemu/qemu_backup.c +++ b/src/qemu/qemu_backup.c @@ -802,12 +802,6 @@ qemuBackupBegin(virDomainObj *vm, goto endjob; } - if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV_BACKUP)) { - virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s", - _("backup is not supported with this QEMU")); - goto endjob; - } - if (virDomainBackupAlignDisks(def, vm->def, suffix) < 0) goto endjob; diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 1caae40d0f..9ab57dd9f3 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -621,7 +621,7 @@ VIR_ENUM_IMPL(virQEMUCaps, /* 395 */ "vnc-power-control", /* QEMU_CAPS_VNC_POWER_CONTROL */ "audiodev", /* X_QEMU_CAPS_AUDIODEV */ - "blockdev-backup", /* QEMU_CAPS_BLOCKDEV_BACKUP */ + "blockdev-backup", /* X_QEMU_CAPS_BLOCKDEV_BACKUP */ "object.qapified", /* QEMU_CAPS_OBJECT_JSON */ "rotation-rate", /* QEMU_CAPS_ROTATION_RATE */ @@ -1586,7 +1586,6 @@ static struct virQEMUCapsStringFlags virQEMUCapsQMPSchemaQueries[] = { { "blockdev-add/arg-type/+file/aio/^io_uring", QEMU_CAPS_AIO_IO_URING }, { "blockdev-add/arg-type/+rbd/encrypt", QEMU_CAPS_RBD_ENCRYPTION }, { "blockdev-add/arg-type/+nbd/tls-hostname", QEMU_CAPS_BLOCKDEV_NBD_TLS_HOSTNAME }, - { "blockdev-backup", QEMU_CAPS_BLOCKDEV_BACKUP }, { "blockdev-snapshot/$allow-write-only-overlay", QEMU_CAPS_BLOCKDEV_SNAPSHOT_ALLOW_WRITE_ONLY }, { "chardev-add/arg-type/backend/+socket/data/reconnect", QEMU_CAPS_CHARDEV_RECONNECT }, { "chardev-add/arg-type/backend/+file/data/logfile", QEMU_CAPS_CHARDEV_LOGFILE }, @@ -5241,8 +5240,7 @@ virQEMUCapsInitQMPVersionCaps(virQEMUCaps *qemuCaps) void virQEMUCapsInitProcessCapsInterlock(virQEMUCaps *qemuCaps) { - if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_BLOCKDEV_BACKUP) && - virQEMUCapsGet(qemuCaps, QEMU_CAPS_BLOCKDEV_REOPEN) && + if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_BLOCKDEV_REOPEN) && virQEMUCapsGet(qemuCaps, QEMU_CAPS_MIGRATION_PARAM_BLOCK_BITMAP_MAPPING)) virQEMUCapsSet(qemuCaps, QEMU_CAPS_INCREMENTAL_BACKUP); diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index 097ecdca32..78147ee75f 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -600,7 +600,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */ /* 395 */ QEMU_CAPS_VNC_POWER_CONTROL, /* -vnc power-control option */ X_QEMU_CAPS_AUDIODEV, /* -audiodev instead of QEMU_AUDIO_DRV */ - QEMU_CAPS_BLOCKDEV_BACKUP, /* qemu supports the blockdev-backup job */ + X_QEMU_CAPS_BLOCKDEV_BACKUP, /* qemu supports the blockdev-backup job */ QEMU_CAPS_OBJECT_JSON, /* parameters for object-add are formally described */ QEMU_CAPS_ROTATION_RATE, /* scsi-disk / ide-drive rotation-rate prop */ diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml index ed59536bd7..874bedda58 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml @@ -139,7 +139,6 @@ <flag name='vhost-user-blk'/> <flag name='cpu-max'/> <flag name='memory-backend-file.x-use-canonical-path-for-ramblock-id'/> - <flag name='blockdev-backup'/> <flag name='rotation-rate'/> <flag name='input-linux'/> <flag name='query-display-options'/> diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml index 8adc5e8335..9382b8b3a0 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml @@ -140,7 +140,6 @@ <flag name='vhost-user-blk'/> <flag name='cpu-max'/> <flag name='memory-backend-file.x-use-canonical-path-for-ramblock-id'/> - <flag name='blockdev-backup'/> <flag name='rotation-rate'/> <flag name='input-linux'/> <flag name='query-display-options'/> diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml b/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml index 41abf5474a..14de631620 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml @@ -104,7 +104,6 @@ <flag name='vhost-user-blk'/> <flag name='cpu-max'/> <flag name='memory-backend-file.x-use-canonical-path-for-ramblock-id'/> - <flag name='blockdev-backup'/> <flag name='rotation-rate'/> <flag name='input-linux'/> <flag name='query-display-options'/> diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml index 6af25c80f7..9f8458d4c7 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml @@ -182,7 +182,6 @@ <flag name='vhost-user-blk'/> <flag name='cpu-max'/> <flag name='memory-backend-file.x-use-canonical-path-for-ramblock-id'/> - <flag name='blockdev-backup'/> <flag name='rotation-rate'/> <flag name='input-linux'/> <flag name='query-display-options'/> diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml index 77983f4d19..7b7be178c3 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml @@ -149,7 +149,6 @@ <flag name='vhost-user-blk'/> <flag name='cpu-max'/> <flag name='memory-backend-file.x-use-canonical-path-for-ramblock-id'/> - <flag name='blockdev-backup'/> <flag name='rotation-rate'/> <flag name='input-linux'/> <flag name='query-display-options'/> diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml index e0d01288e6..ef689b8305 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml @@ -155,7 +155,6 @@ <flag name='vhost-user-blk'/> <flag name='cpu-max'/> <flag name='memory-backend-file.x-use-canonical-path-for-ramblock-id'/> - <flag name='blockdev-backup'/> <flag name='rotation-rate'/> <flag name='input-linux'/> <flag name='query-display-options'/> diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml index 9fc0898622..619683da4c 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml @@ -141,7 +141,6 @@ <flag name='am53c974'/> <flag name='vhost-user-blk'/> <flag name='memory-backend-file.x-use-canonical-path-for-ramblock-id'/> - <flag name='blockdev-backup'/> <flag name='rotation-rate'/> <flag name='input-linux'/> <flag name='query-display-options'/> diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml index c893649c9a..b140bd1451 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml @@ -189,7 +189,6 @@ <flag name='vhost-user-blk'/> <flag name='cpu-max'/> <flag name='memory-backend-file.x-use-canonical-path-for-ramblock-id'/> - <flag name='blockdev-backup'/> <flag name='rotation-rate'/> <flag name='input-linux'/> <flag name='query-display-options'/> diff --git a/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml b/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml index 9d7effca30..542512c9f6 100644 --- a/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml +++ b/tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml @@ -63,7 +63,6 @@ <flag name='netdev.vhost-vdpa'/> <flag name='ncr53c90'/> <flag name='memory-backend-file.x-use-canonical-path-for-ramblock-id'/> - <flag name='blockdev-backup'/> <flag name='rotation-rate'/> <flag name='input-linux'/> <flag name='query-display-options'/> diff --git a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml index c965dff81c..107e818891 100644 --- a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml @@ -191,7 +191,6 @@ <flag name='vhost-user-blk'/> <flag name='cpu-max'/> <flag name='memory-backend-file.x-use-canonical-path-for-ramblock-id'/> - <flag name='blockdev-backup'/> <flag name='rotation-rate'/> <flag name='input-linux'/> <flag name='query-display-options'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml index a9d87bc33d..97fe865d21 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml @@ -153,7 +153,6 @@ <flag name='vhost-user-blk'/> <flag name='cpu-max'/> <flag name='memory-backend-file.x-use-canonical-path-for-ramblock-id'/> - <flag name='blockdev-backup'/> <flag name='rotation-rate'/> <flag name='input-linux'/> <flag name='query-display-options'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml index ca8d47a534..1eefcc0e75 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml @@ -157,7 +157,6 @@ <flag name='vhost-user-blk'/> <flag name='cpu-max'/> <flag name='memory-backend-file.x-use-canonical-path-for-ramblock-id'/> - <flag name='blockdev-backup'/> <flag name='rotation-rate'/> <flag name='input-linux'/> <flag name='query-display-options'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml index 6df5dd097c..1a4ba9ac0e 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml @@ -143,7 +143,6 @@ <flag name='am53c974'/> <flag name='vhost-user-blk'/> <flag name='memory-backend-file.x-use-canonical-path-for-ramblock-id'/> - <flag name='blockdev-backup'/> <flag name='rotation-rate'/> <flag name='input-linux'/> <flag name='query-display-options'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml b/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml index d03456bc07..f39f5219e1 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml @@ -111,7 +111,6 @@ <flag name='vhost-user-blk'/> <flag name='cpu-max'/> <flag name='memory-backend-file.x-use-canonical-path-for-ramblock-id'/> - <flag name='blockdev-backup'/> <flag name='rotation-rate'/> <flag name='input-linux'/> <flag name='query-display-options'/> diff --git a/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml index 59f68dfb3a..26478e90d3 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml @@ -192,7 +192,6 @@ <flag name='vhost-user-blk'/> <flag name='cpu-max'/> <flag name='memory-backend-file.x-use-canonical-path-for-ramblock-id'/> - <flag name='blockdev-backup'/> <flag name='rotation-rate'/> <flag name='input-linux'/> <flag name='query-display-options'/> diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml index 045303ae71..e0e8fef913 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml @@ -156,7 +156,6 @@ <flag name='memory-backend-file.x-use-canonical-path-for-ramblock-id'/> <flag name='migration-param.block-bitmap-mapping'/> <flag name='vnc-power-control'/> - <flag name='blockdev-backup'/> <flag name='object.qapified'/> <flag name='rotation-rate'/> <flag name='compat-deprecated'/> diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml b/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml index cdabb03f8e..6461ba4597 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml @@ -113,7 +113,6 @@ <flag name='memory-backend-file.x-use-canonical-path-for-ramblock-id'/> <flag name='migration-param.block-bitmap-mapping'/> <flag name='vnc-power-control'/> - <flag name='blockdev-backup'/> <flag name='object.qapified'/> <flag name='rotation-rate'/> <flag name='compat-deprecated'/> diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml index d8ea781430..e5f4ae82c6 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml @@ -195,7 +195,6 @@ <flag name='memory-backend-file.x-use-canonical-path-for-ramblock-id'/> <flag name='migration-param.block-bitmap-mapping'/> <flag name='vnc-power-control'/> - <flag name='blockdev-backup'/> <flag name='object.qapified'/> <flag name='rotation-rate'/> <flag name='compat-deprecated'/> diff --git a/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml index 00cd48bdb1..801ba01432 100644 --- a/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml @@ -195,7 +195,6 @@ <flag name='memory-backend-file.x-use-canonical-path-for-ramblock-id'/> <flag name='migration-param.block-bitmap-mapping'/> <flag name='vnc-power-control'/> - <flag name='blockdev-backup'/> <flag name='object.qapified'/> <flag name='rotation-rate'/> <flag name='compat-deprecated'/> diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml index b16318bb16..f2096794c6 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml @@ -165,7 +165,6 @@ <flag name='memory-backend-file.x-use-canonical-path-for-ramblock-id'/> <flag name='migration-param.block-bitmap-mapping'/> <flag name='vnc-power-control'/> - <flag name='blockdev-backup'/> <flag name='object.qapified'/> <flag name='rotation-rate'/> <flag name='compat-deprecated'/> diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml index 31791cf643..7b25d3a408 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml @@ -158,7 +158,6 @@ <flag name='memory-backend-file.x-use-canonical-path-for-ramblock-id'/> <flag name='migration-param.block-bitmap-mapping'/> <flag name='vnc-power-control'/> - <flag name='blockdev-backup'/> <flag name='object.qapified'/> <flag name='rotation-rate'/> <flag name='compat-deprecated'/> diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml index 63011661ae..bfd73616bd 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml @@ -195,7 +195,6 @@ <flag name='memory-backend-file.x-use-canonical-path-for-ramblock-id'/> <flag name='migration-param.block-bitmap-mapping'/> <flag name='vnc-power-control'/> - <flag name='blockdev-backup'/> <flag name='object.qapified'/> <flag name='rotation-rate'/> <flag name='compat-deprecated'/> diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml index ba401e00b2..7c9c905677 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml @@ -166,7 +166,6 @@ <flag name='memory-backend-file.x-use-canonical-path-for-ramblock-id'/> <flag name='migration-param.block-bitmap-mapping'/> <flag name='vnc-power-control'/> - <flag name='blockdev-backup'/> <flag name='object.qapified'/> <flag name='rotation-rate'/> <flag name='compat-deprecated'/> diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml index b0cb53021d..1dd714f9b1 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml @@ -169,7 +169,6 @@ <flag name='memory-backend-file.x-use-canonical-path-for-ramblock-id'/> <flag name='migration-param.block-bitmap-mapping'/> <flag name='vnc-power-control'/> - <flag name='blockdev-backup'/> <flag name='object.qapified'/> <flag name='rotation-rate'/> <flag name='compat-deprecated'/> diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml index f451bc9892..befe5e423f 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml @@ -195,7 +195,6 @@ <flag name='memory-backend-file.x-use-canonical-path-for-ramblock-id'/> <flag name='migration-param.block-bitmap-mapping'/> <flag name='vnc-power-control'/> - <flag name='blockdev-backup'/> <flag name='object.qapified'/> <flag name='rotation-rate'/> <flag name='compat-deprecated'/> diff --git a/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml index 31cca6f052..fd014a567c 100644 --- a/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml @@ -195,7 +195,6 @@ <flag name='memory-backend-file.x-use-canonical-path-for-ramblock-id'/> <flag name='migration-param.block-bitmap-mapping'/> <flag name='vnc-power-control'/> - <flag name='blockdev-backup'/> <flag name='object.qapified'/> <flag name='rotation-rate'/> <flag name='compat-deprecated'/> -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:57PM +0200, Peter Krempa wrote:
The blockdev-backup QMP command was introduced in qemu-2.3.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_backup.c | 6 ------ src/qemu/qemu_capabilities.c | 6 ++---- src/qemu/qemu_capabilities.h | 2 +- tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml | 1 - tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.1.0.sparc.xml | 1 - tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.riscv64.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.s390x.xml | 1 - tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml | 1 - tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml | 1 - tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml | 1 - 29 files changed, 3 insertions(+), 37 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

All callers pass 'true'. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_domain.c | 36 +++++++++++++++--------------------- src/qemu/qemu_domain.h | 3 +-- src/qemu/qemu_driver.c | 2 +- src/qemu/qemu_hotplug.c | 4 ++-- src/qemu/qemu_process.c | 2 +- 5 files changed, 20 insertions(+), 27 deletions(-) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index d372381c74..e227a8b7d4 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -7617,19 +7617,16 @@ qemuDomainPrepareStorageSourceConfig(virStorageSource *src, * @vm: domain object * @disk: disk definition * @disksrc: source to determine the chain for, may be NULL - * @report_broken: report broken chain verbosely * * Prepares and initializes the backing chain of disk @disk. In cases where * a new source is to be associated with @disk the @disksrc parameter can be - * used to override the source. If @report_broken is true missing images - * in the backing chain are reported. + * used to override the source. */ int qemuDomainDetermineDiskChain(virQEMUDriver *driver, virDomainObj *vm, virDomainDiskDef *disk, - virStorageSource *disksrc, - bool report_broken) + virStorageSource *disksrc) { g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); virStorageSource *src; /* iterator for the backing chain declared in XML */ @@ -7651,8 +7648,7 @@ qemuDomainDetermineDiskChain(virQEMUDriver *driver, disksrc->format < VIR_STORAGE_FILE_BACKING) { if (!virFileExists(disksrc->path)) { - if (report_broken) - virStorageSourceReportBrokenChain(errno, disksrc, disksrc); + virStorageSourceReportBrokenChain(errno, disksrc, disksrc); return -1; } @@ -7675,24 +7671,22 @@ qemuDomainDetermineDiskChain(virQEMUDriver *driver, src = disksrc; /* skip to the end of the chain if there is any */ while (virStorageSourceHasBacking(src)) { - if (report_broken) { - int rv = virStorageSourceSupportsAccess(src); + int rv = virStorageSourceSupportsAccess(src); - if (rv < 0) - return -1; - - if (rv > 0) { - if (qemuDomainStorageFileInit(driver, vm, src, disksrc) < 0) - return -1; + if (rv < 0) + return -1; - if (virStorageSourceAccess(src, F_OK) < 0) { - virStorageSourceReportBrokenChain(errno, src, disksrc); - virStorageSourceDeinit(src); - return -1; - } + if (rv > 0) { + if (qemuDomainStorageFileInit(driver, vm, src, disksrc) < 0) + return -1; + if (virStorageSourceAccess(src, F_OK) < 0) { + virStorageSourceReportBrokenChain(errno, src, disksrc); virStorageSourceDeinit(src); + return -1; } + + virStorageSourceDeinit(src); } src = src->backingStore; } @@ -7710,7 +7704,7 @@ qemuDomainDetermineDiskChain(virQEMUDriver *driver, if (virStorageSourceGetMetadata(src, uid, gid, QEMU_DOMAIN_STORAGE_SOURCE_CHAIN_MAX_DEPTH, - report_broken) < 0) + true) < 0) return -1; for (n = src->backingStore; virStorageSourceIsBacking(n); n = n->backingStore) { diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h index abf245ec2a..dcae0f9601 100644 --- a/src/qemu/qemu_domain.h +++ b/src/qemu/qemu_domain.h @@ -710,8 +710,7 @@ int qemuDomainStorageSourceValidateDepth(virStorageSource *src, int qemuDomainDetermineDiskChain(virQEMUDriver *driver, virDomainObj *vm, virDomainDiskDef *disk, - virStorageSource *disksrc, - bool report_broken); + virStorageSource *disksrc); bool qemuDomainDiskChangeSupported(virDomainDiskDef *disk, virDomainDiskDef *orig_disk); diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 8c7cb64f98..49f694e0a7 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -15141,7 +15141,7 @@ qemuDomainBlockCopyCommon(virDomainObj *vm, if (mirror_reuse && mirror->format >= VIR_STORAGE_FILE_BACKING && mirror->backingStore == NULL && - qemuDomainDetermineDiskChain(driver, vm, disk, mirror, true) < 0) + qemuDomainDetermineDiskChain(driver, vm, disk, mirror) < 0) goto endjob; if (qemuDomainStorageSourceChainAccessAllow(driver, vm, mirror) < 0) diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index afc9d299f5..72e5b106e9 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -576,7 +576,7 @@ qemuDomainChangeEjectableMedia(virQEMUDriver *driver, if (virDomainDiskTranslateSourcePool(disk) < 0) goto cleanup; - if (qemuDomainDetermineDiskChain(driver, vm, disk, NULL, true) < 0) + if (qemuDomainDetermineDiskChain(driver, vm, disk, NULL) < 0) goto cleanup; if (qemuDomainPrepareDiskSource(disk, priv, cfg) < 0) @@ -910,7 +910,7 @@ qemuDomainAttachDeviceDiskLiveInternal(virQEMUDriver *driver, if (virDomainDiskTranslateSourcePool(disk) < 0) goto cleanup; - if (qemuDomainDetermineDiskChain(driver, vm, disk, NULL, true) < 0) + if (qemuDomainDetermineDiskChain(driver, vm, disk, NULL) < 0) goto cleanup; for (i = 0; i < vm->def->ndisks; i++) { diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index f15222e932..a596ae8dec 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -6796,7 +6796,7 @@ qemuProcessPrepareHostStorage(virQEMUDriver *driver, if (qemuDomainDiskIsMissingLocalOptional(disk) && cold_boot) VIR_INFO("optional disk '%s' source file is missing, " "skip checking disk chain", disk->dst); - else if (qemuDomainDetermineDiskChain(driver, vm, disk, NULL, true) >= 0) + else if (qemuDomainDetermineDiskChain(driver, vm, disk, NULL) >= 0) continue; if (qemuDomainCheckDiskStartupPolicy(driver, vm, idx, cold_boot) >= 0) -- 2.36.1

On Tue, Jul 26, 2022 at 04:37:58PM +0200, Peter Krempa wrote:
All callers pass 'true'.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_domain.c | 36 +++++++++++++++--------------------- src/qemu/qemu_domain.h | 3 +-- src/qemu/qemu_driver.c | 2 +- src/qemu/qemu_hotplug.c | 4 ++-- src/qemu/qemu_process.c | 2 +- 5 files changed, 20 insertions(+), 27 deletions(-)
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>

On a Tuesday in 2022, Peter Krempa wrote:
Starting with libvirt-8.7.0 we'll support qemu-4.2 as minimum and thus we'll only use -blockdev now. Remove the old cruft.
This series applies on top of the patches bumping minimum qemu version to qemu-4.2 I've posted earlier.
The whole branch can be fetched at:
git fetch https://gitlab.com/pipo.sk/libvirt.git blockdev-remove-2
Peter Krempa (80): qemu: Allways assume QEMU_CAPS_CHANGE_BACKING_FILE qemu: capabilities: Retire QEMU_CAPS_CHANGE_BACKING_FILE qemu: Always assume support for QEMU_CAPS_ACTIVE_COMMIT qemu: capabilities: Retire QEMU_CAPS_ACTIVE_COMMIT qemu: Always assume support for QEMU_CAPS_GLUSTER_DEBUG_LEVEL qemu: capabilities: Retire QEMU_CAPS_GLUSTER_DEBUG_LEVEL qemu: Always assume support for QEMU_CAPS_DRIVE_DISCARD and QEMU_CAPS_DRIVE_DETECT_ZEROES qemu: capabilities: Retire QEMU_CAPS_DRIVE_DISCARD and QEMU_CAPS_DRIVE_DETECT_ZEROES qemuxml2argvtest: Use DO_TEST_CAPS_LATEST for all 'user-aliases' tests qemuxml2xmltest: Modernize all test cases using QEMU_CAPS_QCOW2_LUKS qemu: Always assume support for QEMU_CAPS_QCOW2_LUKS qemu: capabilities: Retire QEMU_CAPS_QCOW2_LUKS qemu: capabilities: Unconditionally set QEMU_CAPS_BLOCKDEV/QEMU_CAPS_BLOCKDEV_HOSTDEV_SCSI tests: Force QEMU_CAPS_BLOCKDEV(_HOSTDEV_SCSI) in fake caps tests qemu: Refactor access to 'qomName' field of the qemu disk private data qemu: command: Always assume support for QEMU_CAPS_SCSI_DISK_DEVICE_ID qemu: capabilities: Retire capabilities used for -blockdev detection qemu: Remove code conditional on QEMU_CAPS_BLOCKDEV_HOSTDEV_SCSI qemu: capabilities: Retire QEMU_CAPS_BLOCKDEV_HOSTDEV_SCSI qemu: block: Remove legacy spellings for InetSocketAddress qemu: migration: Remove pre-blockdev code paths qemuMigrationSrcNBDStorageCopyBlockdev: Remove some arguments qemu: migration: Assume support for QEMU_CAPS_BLOCKDEV_DEL qemu: capabilities: Retire QEMU_CAPS_BLOCKDEV_DEL qemu: snapshot: Remove pre-blockdev code paths qemu: Remove unused code for pre-blockdev disk snapshot monitor interaction qemu: block: Remove pre-blockdev code paths qemu: migration_cookie: Remove pre-blockdev code paths qemu: validate: Remove impossible validation checks qemu: process: Remove pre-blockdev code paths qemu: blockjob: Remove legacy block job completion code qemu: Remove legacy block job event processing handler qemu: monitor: Remove infrastructure for BLOCK_JOB_* events qemuDomainSetBlockThreshold: Remove pre-blockdev node name detection qemu: block: Remove 'qemuBlockNodeNamesDetect' and related infrastructure qemu: blockjob: Remove pre-blockdev blockjob setup qemu: alias: Remove check for QEMU_CAPS_BLOCKDEV qemuDomainGetStatsBlock: Remove pre-blockdev code paths qemu: block: Remove unused qemuBlockGetNodeData qemu: monitor: Remove unused qemuMonitorQueryNamedBlockNodes and clean up qemu: driver: Remove pre-blockdev code paths from qemuDomainBlockCopyCommon qemu: monitor: Remove unused qemuMonitorDriveMirror qemu: driver: Remove pre-blockdev code paths from qemuDomainBlockCommit qemu: monitor: Remove unused arguments of qemuMonitorBlockCommit qemu: driver: Remove pre-blockdev code paths from qemuDomainBlockPullCommon qemu: monitor: Remove unused arguments of qemuMonitorBlockStream qemu: monitor: Remove unused qemuMonitorDiskNameLookup qemu: driver: Remove pre-blockdev code paths from qemuDomainBlockPivot qemu: monitor: Remove unused qemuMonitorDrivePivot qemu: command: Remove pre-blockdev floppy setup qemu: Remove pre-blockdev PFLASH setup qemuDomainBlockResize: Always refuse resize of empty/readonly disks qemuDomainBlocksStatsGather: Remove pre-blockdev code paths qemu: monitor: Remove unused qemuMonitorBlockStatsUpdateCapacity qemu: driver: Remove remaining QEMU_CAPS_BLOCKDEV capability checks qemu: hotplug: Remove pre-blockdev code path from qemuDomainChangeEjectableMedia qemu: monitor: Remove unused qemuMonitor(Eject|Change)Media qemuhotplugtest: Switch to -blockdev mode qemuDomainRemoveDiskDevice: Remove special casing for disks on 'sd' bus qemu: hotplug: Remove pre-blockdev code paths qemu: block: Remove unused qemuBlockStorageSourceChainDetachPrepareLegacy qemu: Remove 'driveAlias' argument of qemuBlockStorageSourceDetachPrepare qemu: block: Remove support for legacy disk hotplug/unplug qemu: monitor: Remove unused qemuMonitorAddDrive/qemuMonitorDriveDel qemu: command: Delegate qemuBuildDriveStr to SD cards only qemu: command: Generate -drive for SD cards via JSON props qemu: command: Remove unused qemuGetDriveSourceString qemu: domain: Assume QEMU_CAPS_BLOCKDEV for the domain private code qemuDomainSecretStorageSourcePrepare: Remove cabapbility check when preparing cookies qemuDomainDiskBlockJobIsSupported: Assume QEMU_CAPS_BLOCKDEV is supported qemuDomainDiskGetBackendAlias: Assume QEMU_CAPS_BLOCKDEV is supported qemuDomainValidateStorageSource: Remove QEMU_CAPS_BLOCKDEV validation qemuDomainValidateStorageSource: Remove 'maskBlockdev' argument qemuDomainDetermineDiskChain: Assume QEMU_CAPS_BLOCKDEV qemu: Retire QEMU_CAPS_BLOCKDEV qemu: Setup disk throttling for SD cards via monitor qemu: capabilities: Retire QEMU_CAPS_QUERY_NAMED_BLOCK_NODES qemu: Assume support and retire QEMU_CAPS_BLOCK_WRITE_THRESHOLD qemu: Assume and retire QEMU_CAPS_BLOCKDEV_BACKUP qemuDomainDetermineDiskChain: Remove 'report_broken' argument
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano
participants (4)
-
Jonathon Jongsma
-
Ján Tomko
-
Pavel Hrdina
-
Peter Krempa