On 3/19/21 3:33 PM, Peter Krempa wrote:
The qemu changes are merged upstream now, so this series is now required to ensure qemu compatibility with 'object_add' (support for 'props' sub-object is now dropped from qemu, but libvirt would still use it) and also to allow further updates of capability test data, as the build would fail now because of the tripwire which was added to prevent not noticing that -object was qapified. 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 | 5103 +++++++++++------ .../caps_6.0.0.x86_64.xml | 86 +- 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 +- ...re-efi-no-enrolled-keys.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 + 224 files changed, 4876 insertions(+), 2820 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
Reviewed-by: Michal Privoznik <mprivozn@xxxxxxxxxx> Michal