[PATCH v4 00/13] qemu: Prepare for -object QAPIfication

Peter Krempa pkrempa at redhat.com
Fri Mar 19 14:33:31 UTC 2021


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

-- 
2.29.2




More information about the libvir-list mailing list