v3 now uses JSON to configure objects which is possible with the
following qemu patch:
https://lists.gnu.org/archive/html/qemu-devel/2021-03/msg04436.html
The use of JSON completely avoids problems with conversion of the JSON
definition which we create regardless (especially bitmaps/arrays for the
host-nodes property) to command line arguments which was lossy with the
traditional arguments.
Peter Krempa (13):
qemuxml2argvdata: Remove unused output file
'disk-network-tlsx509.x86_64-latest.args'
virQEMUQAPISchemaTraverse: Fix quoting in comment
qemu: capabilities: Introduce QEMU_CAPS_OBJECT_QAPIFIED
qemu: monitor: Make wrapping of 'props' of 'object-add' optional
qemuMonitorCreateObjectPropsWrap: Open-code in
qemuBuildMemoryBackendProps
qemu: monitor: Don't add 'props' wrapper if qemu has
QEMU_CAPS_OBJECT_QAPIFIED
qemu: command: Use JSON for QAPIfied -object directly
tests: qemuxml2argv: Validate generation of JSON props for object-add
qemumonitorjsontest: Remove tripwire guarding object-add QAPIfication
tests: qemucapabilities: Update qemu caps for object-add qapification
qemuxml2argvtest: Add DO_CAPS_LATEST variant of 'numatune-memnode'
qemuxml2argvtest: Pin examples of -object usage to qemu-5.2 caps
qemu: capabilities: Enable detection of QEMU_CAPS_OBJECT_QAPIFIED
src/libvirt_private.syms | 1 -
src/qemu/qemu_capabilities.c | 2 +
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_command.c | 98 +-
src/qemu/qemu_monitor.c | 78 +-
src/qemu/qemu_monitor.h | 4 -
src/qemu/qemu_qapi.c | 2 +-
src/util/virqemu.c | 38 -
src/util/virqemu.h | 3 -
.../domaincapsdata/qemu_6.0.0-q35.x86_64.xml | 1 +
.../domaincapsdata/qemu_6.0.0-tcg.x86_64.xml | 1 +
tests/domaincapsdata/qemu_6.0.0.x86_64.xml | 1 +
.../caps_6.0.0.x86_64.replies | 3262 ++++++++++++-----
.../caps_6.0.0.x86_64.xml | 89 +-
tests/qemumonitorjsontest.c | 14 -
.../audio-alsa-best.x86_64-latest.args | 6 +-
.../audio-alsa-full.x86_64-latest.args | 6 +-
.../audio-alsa-minimal.x86_64-latest.args | 6 +-
.../audio-coreaudio-best.x86_64-latest.args | 6 +-
.../audio-coreaudio-full.x86_64-latest.args | 6 +-
...audio-coreaudio-minimal.x86_64-latest.args | 6 +-
...udio-default-nographics.x86_64-latest.args | 6 +-
.../audio-default-sdl.x86_64-latest.args | 6 +-
.../audio-default-spice.x86_64-latest.args | 6 +-
.../audio-default-vnc.x86_64-latest.args | 6 +-
.../audio-file-best.x86_64-latest.args | 6 +-
.../audio-file-full.x86_64-latest.args | 6 +-
.../audio-file-minimal.x86_64-latest.args | 6 +-
.../audio-jack-full.x86_64-latest.args | 6 +-
.../audio-jack-minimal.x86_64-latest.args | 6 +-
.../audio-many-backends.x86_64-latest.args | 6 +-
.../audio-none-best.x86_64-latest.args | 6 +-
.../audio-none-full.x86_64-latest.args | 6 +-
.../audio-none-minimal.x86_64-latest.args | 6 +-
.../audio-oss-best.x86_64-latest.args | 6 +-
.../audio-oss-full.x86_64-latest.args | 6 +-
.../audio-oss-minimal.x86_64-latest.args | 6 +-
.../audio-pulseaudio-best.x86_64-latest.args | 6 +-
.../audio-pulseaudio-full.x86_64-latest.args | 6 +-
...udio-pulseaudio-minimal.x86_64-latest.args | 6 +-
.../audio-sdl-best.x86_64-latest.args | 6 +-
.../audio-sdl-full.x86_64-latest.args | 6 +-
.../audio-sdl-minimal.x86_64-latest.args | 6 +-
.../audio-spice-best.x86_64-latest.args | 6 +-
.../audio-spice-full.x86_64-latest.args | 6 +-
.../audio-spice-minimal.x86_64-latest.args | 6 +-
.../blkdeviotune-group-num.x86_64-latest.args | 6 +-
...blkdeviotune-max-length.x86_64-latest.args | 6 +-
.../blkdeviotune-max.x86_64-latest.args | 6 +-
.../channel-unix-guestfwd.x86_64-latest.args | 6 +-
.../console-virtio-unix.x86_64-latest.args | 6 +-
.../controller-virtio-scsi.x86_64-latest.args | 6 +-
...-Icelake-Server-pconfig.x86_64-latest.args | 6 +-
.../cpu-translation.x86_64-latest.args | 6 +-
.../cpu-tsc-high-frequency.x86_64-latest.args | 6 +-
.../cputune-cpuset-big-id.x86_64-latest.args | 6 +-
.../disk-aio-io_uring.x86_64-latest.args | 6 +-
.../disk-aio.x86_64-latest.args | 6 +-
...-backing-chains-noindex.x86_64-latest.args | 12 +-
.../disk-cache.x86_64-latest.args | 6 +-
.../disk-cdrom-bus-other.x86_64-latest.args | 6 +-
...m-empty-network-invalid.x86_64-latest.args | 6 +-
.../disk-cdrom-network.x86_64-latest.args | 6 +-
.../disk-cdrom-tray.x86_64-latest.args | 6 +-
.../disk-cdrom.x86_64-latest.args | 6 +-
.../disk-copy_on_read.x86_64-latest.args | 6 +-
.../disk-detect-zeroes.x86_64-latest.args | 6 +-
.../disk-discard.x86_64-latest.args | 6 +-
.../disk-error-policy.x86_64-latest.args | 6 +-
.../disk-floppy-q35-2_11.x86_64-latest.args | 6 +-
.../disk-floppy-q35-2_9.x86_64-latest.args | 6 +-
.../disk-floppy.x86_64-latest.args | 6 +-
.../disk-metadata-cache.x86_64-latest.args | 6 +-
.../disk-network-gluster.x86_64-latest.args | 6 +-
.../disk-network-http.x86_64-latest.args | 18 +-
.../disk-network-iscsi.x86_64-latest.args | 18 +-
.../disk-network-nbd.x86_64-latest.args | 6 +-
.../disk-network-nfs.x86_64-latest.args | 6 +-
.../disk-network-rbd.x86_64-latest.args | 12 +-
.../disk-network-sheepdog.x86_64-latest.args | 6 +-
...isk-network-source-auth.x86_64-latest.args | 24 +-
...disk-network-tlsx509-nbd.x86_64-5.2.0.args | 50 +
...isk-network-tlsx509-nbd.x86_64-latest.args | 18 +-
.../disk-network-tlsx509.x86_64-latest.args | 90 -
.../disk-nvme.x86_64-latest.args | 12 +-
.../disk-readonly-disk.x86_64-latest.args | 6 +-
.../disk-scsi-device-auto.x86_64-latest.args | 6 +-
.../disk-scsi.x86_64-latest.args | 6 +-
.../disk-shared.x86_64-latest.args | 6 +-
.../disk-slices.x86_64-latest.args | 18 +-
.../disk-transient.x86_64-latest.args | 6 +-
.../disk-vhostuser.x86_64-latest.args | 8 +-
...virtio-scsi-reservations.x86_64-5.2.0.args | 55 +
...irtio-scsi-reservations.x86_64-latest.args | 14 +-
.../eoi-disabled.x86_64-latest.args | 6 +-
.../eoi-enabled.x86_64-latest.args | 6 +-
.../fips-enabled.x86_64-latest.args | 6 +-
.../floppy-drive-fat.x86_64-latest.args | 6 +-
.../qemuxml2argvdata/fs9p.x86_64-latest.args | 6 +-
.../genid-auto.x86_64-latest.args | 6 +-
.../qemuxml2argvdata/genid.x86_64-latest.args | 6 +-
...egl-headless-rendernode.x86_64-latest.args | 6 +-
.../graphics-egl-headless.x86_64-latest.args | 6 +-
...pice-gl-auto-rendernode.x86_64-latest.args | 6 +-
.../graphics-vnc-power.x86_64-latest.args | 6 +-
.../graphics-vnc-tls-secret.x86_64-5.2.0.args | 42 +
...graphics-vnc-tls-secret.x86_64-latest.args | 17 +-
.../graphics-vnc-tls.x86_64-latest.args | 10 +-
...tdev-mdev-display-ramfb.x86_64-latest.args | 6 +-
...play-spice-egl-headless.x86_64-latest.args | 6 +-
...ev-display-spice-opengl.x86_64-latest.args | 6 +-
...isplay-vnc-egl-headless.x86_64-latest.args | 6 +-
...ostdev-mdev-display-vnc.x86_64-latest.args | 6 +-
.../hostdev-scsi-lsi.x86_64-latest.args | 18 +-
...ostdev-scsi-virtio-scsi.x86_64-latest.args | 18 +-
.../hugepages-memaccess3.x86_64-latest.args | 11 +-
.../hugepages-nvdimm.x86_64-latest.args | 14 +-
.../hyperv-off.x86_64-latest.args | 6 +-
.../hyperv-panic.x86_64-latest.args | 6 +-
.../hyperv-stimer-direct.x86_64-latest.args | 6 +-
.../hyperv.x86_64-latest.args | 6 +-
.../intel-iommu-aw-bits.x86_64-latest.args | 6 +-
...ntel-iommu-caching-mode.x86_64-latest.args | 6 +-
...ntel-iommu-device-iotlb.x86_64-latest.args | 6 +-
.../intel-iommu-eim.x86_64-latest.args | 6 +-
.../intel-iommu.x86_64-latest.args | 6 +-
...othreads-virtio-scsi-pci.x86_64-5.2.0.args | 57 +
...threads-virtio-scsi-pci.x86_64-latest.args | 10 +-
.../kvmclock+eoi-disabled.x86_64-latest.args | 6 +-
.../luks-disks-source-qcow2.x86_64-5.2.0.args | 112 +
...luks-disks-source-qcow2.x86_64-latest.args | 54 +-
...memory-default-hugepage.x86_64-latest.args | 9 +-
.../memfd-memory-numa.x86_64-latest.args | 9 +-
...y-hotplug-nvdimm-access.x86_64-latest.args | 10 +-
...ory-hotplug-nvdimm-align.x86_64-5.2.0.args | 44 +
...ry-hotplug-nvdimm-align.x86_64-latest.args | 11 +-
...ory-hotplug-nvdimm-label.x86_64-5.2.0.args | 44 +
...ry-hotplug-nvdimm-label.x86_64-latest.args | 10 +-
...mory-hotplug-nvdimm-pmem.x86_64-5.2.0.args | 44 +
...ory-hotplug-nvdimm-pmem.x86_64-latest.args | 10 +-
...-hotplug-nvdimm-readonly.x86_64-5.2.0.args | 44 +
...hotplug-nvdimm-readonly.x86_64-latest.args | 10 +-
.../memory-hotplug-nvdimm.x86_64-latest.args | 10 +-
...mory-hotplug-virtio-pmem.x86_64-5.2.0.args | 45 +
...ory-hotplug-virtio-pmem.x86_64-latest.args | 10 +-
.../mlock-off.x86_64-latest.args | 6 +-
.../mlock-on.x86_64-latest.args | 6 +-
.../net-vdpa.x86_64-latest.args | 6 +-
.../net-vhostuser.x86_64-latest.args | 6 +-
.../numatune-hmat.x86_64-latest.args | 16 +-
.../numatune-memnode.x86_64-5.2.0.args | 43 +
.../numatune-memnode.x86_64-latest.args | 43 +
.../os-firmware-bios.x86_64-latest.args | 6 +-
...os-firmware-efi-secboot.x86_64-latest.args | 6 +-
.../os-firmware-efi.x86_64-latest.args | 6 +-
.../parallel-unix-chardev.x86_64-latest.args | 6 +-
...cie-root-port-nohotplug.x86_64-latest.args | 6 +-
.../pv-spinlock-disabled.x86_64-latest.args | 6 +-
.../pv-spinlock-enabled.x86_64-latest.args | 6 +-
.../qemu-ns.x86_64-latest.args | 6 +-
.../serial-unix-chardev.x86_64-latest.args | 6 +-
...rtcard-passthrough-unix.x86_64-latest.args | 6 +-
.../tpm-emulator-tpm2-enc.x86_64-latest.args | 6 +-
...pm-emulator-tpm2-pstate.x86_64-latest.args | 6 +-
.../tpm-emulator-tpm2.x86_64-latest.args | 6 +-
.../tpm-emulator.x86_64-latest.args | 6 +-
.../tpm-passthrough-crb.x86_64-latest.args | 6 +-
.../tpm-passthrough.x86_64-latest.args | 6 +-
.../tseg-explicit-size.x86_64-latest.args | 6 +-
.../usb-redir-unix.x86_64-latest.args | 6 +-
...vhost-user-fs-fd-memory.x86_64-latest.args | 10 +-
...vhost-user-fs-hugepages.x86_64-latest.args | 10 +-
...host-user-gpu-secondary.x86_64-latest.args | 7 +-
.../vhost-user-vga.x86_64-latest.args | 7 +-
.../vhost-vsock-auto.x86_64-latest.args | 6 +-
.../vhost-vsock.x86_64-latest.args | 6 +-
...eo-bochs-display-device.x86_64-latest.args | 6 +-
...video-qxl-device-vram64.x86_64-latest.args | 6 +-
...o-qxl-sec-device-vram64.x86_64-latest.args | 6 +-
...eo-ramfb-display-device.x86_64-latest.args | 6 +-
.../virtio-9p-createmode.x86_64-latest.args | 6 +-
.../virtio-9p-multidevs.x86_64-latest.args | 6 +-
...virtio-non-transitional.x86_64-latest.args | 8 +-
...-options-controller-ats.x86_64-latest.args | 6 +-
...ptions-controller-iommu.x86_64-latest.args | 6 +-
...tions-controller-packed.x86_64-latest.args | 6 +-
...virtio-options-disk-ats.x86_64-latest.args | 6 +-
...rtio-options-disk-iommu.x86_64-latest.args | 6 +-
...tio-options-disk-packed.x86_64-latest.args | 6 +-
.../virtio-options-fs-ats.x86_64-latest.args | 6 +-
...virtio-options-fs-iommu.x86_64-latest.args | 6 +-
...irtio-options-fs-packed.x86_64-latest.args | 6 +-
...irtio-options-input-ats.x86_64-latest.args | 6 +-
...tio-options-input-iommu.x86_64-latest.args | 6 +-
...io-options-input-packed.x86_64-latest.args | 6 +-
...-options-memballoon-ats.x86_64-latest.args | 6 +-
...loon-freepage-reporting.x86_64-latest.args | 6 +-
...ptions-memballoon-iommu.x86_64-latest.args | 6 +-
...tions-memballoon-packed.x86_64-latest.args | 6 +-
.../virtio-options-net-ats.x86_64-latest.args | 6 +-
...irtio-options-net-iommu.x86_64-latest.args | 6 +-
...rtio-options-net-packed.x86_64-latest.args | 6 +-
.../virtio-options-rng-ats.x86_64-latest.args | 10 +-
...irtio-options-rng-iommu.x86_64-latest.args | 10 +-
...rtio-options-rng-packed.x86_64-latest.args | 10 +-
...irtio-options-video-ats.x86_64-latest.args | 6 +-
...tio-options-video-iommu.x86_64-latest.args | 6 +-
...io-options-video-packed.x86_64-latest.args | 6 +-
.../virtio-options.x86_64-latest.args | 8 +-
.../virtio-rng-builtin.x86_64-5.2.0.args | 38 +
.../virtio-rng-builtin.x86_64-latest.args | 8 +-
.../virtio-rng-egd-unix.x86_64-5.2.0.args | 39 +
.../virtio-rng-egd-unix.x86_64-latest.args | 8 +-
.../virtio-transitional.x86_64-latest.args | 8 +-
...-default-cpu-kvm-pc-4.2.x86_64-latest.args | 6 +-
...default-cpu-kvm-q35-4.2.x86_64-latest.args | 6 +-
...-default-cpu-tcg-pc-4.2.x86_64-latest.args | 6 +-
...default-cpu-tcg-q35-4.2.x86_64-latest.args | 6 +-
.../x86_64-pc-graphics.x86_64-latest.args | 8 +-
.../x86_64-pc-headless.x86_64-latest.args | 8 +-
.../x86_64-q35-graphics.x86_64-latest.args | 8 +-
.../x86_64-q35-headless.x86_64-latest.args | 8 +-
tests/qemuxml2argvtest.c | 32 +
223 files changed, 4071 insertions(+), 1781 deletions(-)
create mode 100644 tests/qemuxml2argvdata/disk-network-tlsx509-nbd.x86_64-5.2.0.args
delete mode 100644 tests/qemuxml2argvdata/disk-network-tlsx509.x86_64-latest.args
create mode 100644
tests/qemuxml2argvdata/disk-virtio-scsi-reservations.x86_64-5.2.0.args
create mode 100644 tests/qemuxml2argvdata/graphics-vnc-tls-secret.x86_64-5.2.0.args
create mode 100644 tests/qemuxml2argvdata/iothreads-virtio-scsi-pci.x86_64-5.2.0.args
create mode 100644 tests/qemuxml2argvdata/luks-disks-source-qcow2.x86_64-5.2.0.args
create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-align.x86_64-5.2.0.args
create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-label.x86_64-5.2.0.args
create mode 100644 tests/qemuxml2argvdata/memory-hotplug-nvdimm-pmem.x86_64-5.2.0.args
create mode 100644
tests/qemuxml2argvdata/memory-hotplug-nvdimm-readonly.x86_64-5.2.0.args
create mode 100644 tests/qemuxml2argvdata/memory-hotplug-virtio-pmem.x86_64-5.2.0.args
create mode 100644 tests/qemuxml2argvdata/numatune-memnode.x86_64-5.2.0.args
create mode 100644 tests/qemuxml2argvdata/numatune-memnode.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/virtio-rng-builtin.x86_64-5.2.0.args
create mode 100644 tests/qemuxml2argvdata/virtio-rng-egd-unix.x86_64-5.2.0.args
--
2.29.2