[PATCH 0/3] qemu: Work around qemu not sending DEVICE_DELETED when device is configured via JSON

Peter Krempa pkrempa at redhat.com
Mon Jan 3 15:25:53 UTC 2022


See patches for justification.

Peter Krempa (3):
  qemu: Revert to using non-JSON commandline for -device
  qemu: capabilities: Condemn the use of 'device.json' capability name
  NEWS: Mention device hot-unplug regression with qemu-6.2 and
    workarounds for it

 NEWS.rst                                      | 31 ++++++++++++++
 src/qemu/qemu_capabilities.c                  |  4 +-
 src/qemu/qemu_capabilities.h                  |  3 +-
 .../caps_6.2.0.aarch64.xml                    |  1 -
 .../qemucapabilitiesdata/caps_6.2.0.ppc64.xml |  1 -
 .../caps_6.2.0.x86_64.xml                     |  1 -
 ...fault-cpu-kvm-virt-4.2.aarch64-latest.args |  6 +--
 ...fault-cpu-tcg-virt-4.2.aarch64-latest.args |  6 +--
 .../aarch64-tpm.aarch64-latest.args           |  2 +-
 .../aarch64-virt-graphics.aarch64-latest.args | 36 ++++++++--------
 .../aarch64-virt-headless.aarch64-latest.args | 28 ++++++-------
 .../audio-alsa-best.x86_64-latest.args        |  4 +-
 .../audio-alsa-full.x86_64-latest.args        |  4 +-
 .../audio-alsa-minimal.x86_64-latest.args     |  4 +-
 .../audio-coreaudio-best.x86_64-latest.args   |  4 +-
 .../audio-coreaudio-full.x86_64-latest.args   |  4 +-
 ...audio-coreaudio-minimal.x86_64-latest.args |  4 +-
 ...udio-default-nographics.x86_64-latest.args |  4 +-
 .../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        |  4 +-
 .../audio-file-full.x86_64-latest.args        |  4 +-
 .../audio-file-minimal.x86_64-latest.args     |  4 +-
 .../audio-jack-full.x86_64-latest.args        |  4 +-
 .../audio-jack-minimal.x86_64-latest.args     |  4 +-
 .../audio-many-backends.x86_64-latest.args    | 14 +++----
 .../audio-none-best.x86_64-latest.args        |  4 +-
 .../audio-none-full.x86_64-latest.args        |  4 +-
 .../audio-none-minimal.x86_64-latest.args     |  4 +-
 .../audio-oss-best.x86_64-latest.args         |  4 +-
 .../audio-oss-full.x86_64-latest.args         |  4 +-
 .../audio-oss-minimal.x86_64-latest.args      |  4 +-
 .../audio-pulseaudio-best.x86_64-latest.args  |  4 +-
 .../audio-pulseaudio-full.x86_64-latest.args  |  4 +-
 ...udio-pulseaudio-minimal.x86_64-latest.args |  4 +-
 .../audio-sdl-best.x86_64-latest.args         |  4 +-
 .../audio-sdl-full.x86_64-latest.args         |  4 +-
 .../audio-sdl-minimal.x86_64-latest.args      |  4 +-
 .../audio-spice-best.x86_64-latest.args       |  4 +-
 .../audio-spice-full.x86_64-latest.args       |  4 +-
 .../audio-spice-minimal.x86_64-latest.args    |  4 +-
 .../blkdeviotune-group-num.x86_64-latest.args |  8 ++--
 ...blkdeviotune-max-length.x86_64-latest.args |  8 ++--
 .../blkdeviotune-max.x86_64-latest.args       |  8 ++--
 .../channel-unix-guestfwd.x86_64-latest.args  |  4 +-
 .../console-compat-auto.x86_64-latest.args    |  8 ++--
 .../console-compat-chardev.x86_64-latest.args |  8 ++--
 .../console-compat.x86_64-latest.args         |  6 +--
 .../console-virtio-unix.x86_64-latest.args    | 10 ++---
 .../controller-virtio-scsi.x86_64-latest.args | 24 +++++------
 ...-Icelake-Server-pconfig.x86_64-latest.args |  4 +-
 .../cpu-host-model.x86_64-latest.args         | 10 ++---
 .../cpu-translation.x86_64-latest.args        |  4 +-
 .../cputune-cpuset-big-id.x86_64-latest.args  |  6 +--
 ...ult-video-type-aarch64.aarch64-latest.args |  6 +--
 ...default-video-type-ppc64.ppc64-latest.args |  8 ++--
 .../devices-acpi-index.x86_64-latest.args     | 16 +++----
 .../disk-aio-io_uring.x86_64-latest.args      |  6 +--
 .../disk-aio.x86_64-latest.args               |  8 ++--
 .../disk-arm-virtio-sd.aarch64-latest.args    |  2 +-
 ...-backing-chains-noindex.x86_64-latest.args | 16 +++----
 .../disk-blockio.x86_64-latest.args           |  8 ++--
 .../disk-boot-cdrom.x86_64-latest.args        |  6 +--
 .../disk-boot-disk.x86_64-latest.args         |  6 +--
 .../disk-cache.x86_64-latest.args             | 14 +++----
 .../disk-cdrom-bus-other.x86_64-latest.args   |  6 +--
 ...m-empty-network-invalid.x86_64-latest.args |  4 +-
 .../disk-cdrom-network.x86_64-latest.args     | 10 ++---
 .../disk-cdrom-tray.x86_64-latest.args        | 10 ++---
 .../disk-cdrom.x86_64-latest.args             | 10 ++---
 .../disk-copy_on_read.x86_64-latest.args      | 12 +++---
 .../disk-detect-zeroes.x86_64-latest.args     |  8 ++--
 .../disk-discard.x86_64-latest.args           |  8 ++--
 .../disk-error-policy.x86_64-latest.args      |  8 ++--
 .../disk-floppy-q35-2_11.x86_64-latest.args   | 12 +++---
 .../disk-floppy-q35-2_9.x86_64-latest.args    | 12 +++---
 .../disk-floppy-tray.x86_64-latest.args       | 10 ++---
 .../disk-floppy.x86_64-latest.args            |  8 ++--
 .../disk-fmt-qcow.x86_64-latest.args          |  6 +--
 .../disk-geometry.x86_64-latest.args          |  6 +--
 .../disk-ide-split.x86_64-latest.args         |  8 ++--
 .../disk-ide-wwn.x86_64-latest.args           |  6 +--
 .../disk-ioeventfd.x86_64-latest.args         | 12 +++---
 .../disk-metadata-cache.x86_64-latest.args    |  8 ++--
 .../disk-network-gluster.x86_64-latest.args   |  8 ++--
 .../disk-network-http.x86_64-latest.args      | 10 ++---
 .../disk-network-iscsi.x86_64-latest.args     | 18 ++++----
 .../disk-network-nbd.x86_64-latest.args       | 12 +++---
 .../disk-network-nfs.x86_64-latest.args       |  6 +--
 ...-network-rbd-encryption.x86_64-latest.args | 12 +++---
 ...sk-network-rbd-no-colon.x86_64-latest.args |  8 ++--
 .../disk-network-rbd.x86_64-latest.args       | 14 +++----
 ...isk-network-source-auth.x86_64-latest.args |  8 ++--
 ...isk-network-tlsx509-nbd.x86_64-latest.args |  4 +-
 .../disk-no-boot.x86_64-latest.args           |  8 ++--
 .../disk-nvme.x86_64-latest.args              | 12 +++---
 .../disk-order.x86_64-latest.args             | 12 +++---
 .../disk-readonly-disk.x86_64-latest.args     |  8 ++--
 .../disk-rotation.x86_64-latest.args          | 12 +++---
 .../disk-sata-device.x86_64-latest.args       |  8 ++--
 .../disk-scsi-device-auto.x86_64-latest.args  | 10 ++---
 .../disk-scsi-disk-split.x86_64-latest.args   | 20 ++++-----
 .../disk-scsi-disk-vpd.x86_64-latest.args     | 12 +++---
 .../disk-scsi-disk-wwn.x86_64-latest.args     | 12 +++---
 ...sk-scsi-lun-passthrough.x86_64-latest.args | 12 +++---
 .../disk-scsi.x86_64-latest.args              | 26 ++++++------
 .../disk-serial.x86_64-latest.args            |  8 ++--
 .../disk-shared.x86_64-latest.args            | 14 +++----
 .../disk-slices.x86_64-latest.args            | 14 +++----
 .../disk-snapshot.x86_64-latest.args          | 10 ++---
 .../disk-source-pool-mode.x86_64-latest.args  | 12 +++---
 .../disk-source-pool.x86_64-latest.args       | 14 +++----
 .../disk-transient.x86_64-latest.args         |  6 +--
 ...sk-usb-device-removable.x86_64-latest.args |  8 ++--
 .../disk-usb-device.x86_64-latest.args        |  8 ++--
 .../disk-vhostuser.x86_64-latest.args         |  8 ++--
 .../disk-virtio-queues.x86_64-latest.args     |  8 ++--
 ...irtio-scsi-reservations.x86_64-latest.args | 10 ++---
 .../disk-virtio.x86_64-latest.args            | 10 ++---
 .../encrypted-disk-usage.x86_64-latest.args   |  6 +--
 .../encrypted-disk.x86_64-latest.args         |  6 +--
 .../eoi-disabled.x86_64-latest.args           |  4 +-
 .../eoi-enabled.x86_64-latest.args            |  4 +-
 .../event_idx.x86_64-latest.args              | 12 +++---
 ...d-memory-numa-topology4.x86_64-latest.args |  4 +-
 .../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             |  4 +-
 .../qemuxml2argvdata/genid.x86_64-latest.args |  4 +-
 ...egl-headless-rendernode.x86_64-latest.args |  6 +--
 .../graphics-egl-headless.x86_64-latest.args  |  6 +--
 ...s-spice-agent-file-xfer.x86_64-latest.args |  8 ++--
 ...aphics-spice-agentmouse.x86_64-latest.args | 10 ++---
 ...s-spice-auto-socket-cfg.x86_64-latest.args |  4 +-
 ...phics-spice-auto-socket.x86_64-latest.args |  4 +-
 ...phics-spice-compression.x86_64-latest.args |  8 ++--
 ...hics-spice-egl-headless.x86_64-latest.args |  6 +--
 ...pice-gl-auto-rendernode.x86_64-latest.args |  6 +--
 .../graphics-spice-no-args.x86_64-latest.args |  6 +--
 .../graphics-spice-qxl-vga.x86_64-latest.args |  8 ++--
 .../graphics-spice-sasl.x86_64-latest.args    |  6 +--
 .../graphics-spice-socket.x86_64-latest.args  |  4 +-
 .../graphics-spice-timeout.x86_64-latest.args | 14 +++----
 ...raphics-spice-usb-redir.x86_64-latest.args | 16 +++----
 .../graphics-spice.x86_64-latest.args         |  8 ++--
 ...ics-vnc-auto-socket-cfg.x86_64-latest.args |  6 +--
 ...raphics-vnc-auto-socket.x86_64-latest.args |  4 +-
 ...aphics-vnc-egl-headless.x86_64-latest.args |  6 +--
 ...hics-vnc-no-listen-attr.x86_64-latest.args |  6 +--
 .../graphics-vnc-none.x86_64-latest.args      |  4 +-
 .../graphics-vnc-policy.x86_64-latest.args    |  6 +--
 .../graphics-vnc-power.x86_64-latest.args     |  6 +--
 ...remove-generated-socket.x86_64-latest.args |  6 +--
 .../graphics-vnc-sasl.x86_64-latest.args      |  6 +--
 ...-vnc-socket-new-cmdline.x86_64-latest.args |  4 +-
 .../graphics-vnc-socket.x86_64-latest.args    |  4 +-
 ...graphics-vnc-tls-secret.x86_64-latest.args |  4 +-
 .../graphics-vnc-tls.x86_64-latest.args       |  4 +-
 .../graphics-vnc-websocket.x86_64-latest.args |  4 +-
 .../graphics-vnc.x86_64-latest.args           |  6 +--
 ...tdev-mdev-display-ramfb.x86_64-latest.args |  8 ++--
 ...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       | 20 ++++-----
 ...ostdev-scsi-virtio-scsi.x86_64-latest.args | 22 +++++-----
 .../hugepages-memaccess3.x86_64-latest.args   |  2 +-
 .../hugepages-nvdimm.x86_64-latest.args       |  4 +-
 .../hyperv-off.x86_64-latest.args             |  4 +-
 .../hyperv-panic.x86_64-latest.args           |  2 +-
 .../hyperv-passthrough.x86_64-latest.args     |  2 +-
 .../hyperv-stimer-direct.x86_64-latest.args   |  2 +-
 .../hyperv.x86_64-latest.args                 |  2 +-
 .../input-linux.x86_64-latest.args            |  4 +-
 .../intel-iommu-aw-bits.x86_64-latest.args    |  2 +-
 ...ntel-iommu-caching-mode.x86_64-latest.args |  2 +-
 ...ntel-iommu-device-iotlb.x86_64-latest.args |  2 +-
 .../intel-iommu-eim.x86_64-latest.args        |  2 +-
 .../intel-iommu.x86_64-latest.args            |  2 +-
 ...threads-virtio-scsi-pci.x86_64-latest.args | 10 ++---
 .../kvmclock+eoi-disabled.x86_64-latest.args  |  4 +-
 ...nch-security-sev-direct.x86_64-latest.args |  4 +-
 ...luks-disks-source-qcow2.x86_64-latest.args | 16 +++----
 .../luks-disks-source.x86_64-latest.args      | 14 +++----
 .../luks-disks.x86_64-latest.args             |  8 ++--
 ...memory-default-hugepage.x86_64-latest.args |  4 +-
 .../memfd-memory-numa.x86_64-latest.args      |  6 +--
 ...y-hotplug-nvdimm-access.x86_64-latest.args |  8 ++--
 ...ry-hotplug-nvdimm-align.x86_64-latest.args |  8 ++--
 ...ry-hotplug-nvdimm-label.x86_64-latest.args |  8 ++--
 ...ory-hotplug-nvdimm-pmem.x86_64-latest.args |  8 ++--
 ...hotplug-nvdimm-readonly.x86_64-latest.args |  8 ++--
 .../memory-hotplug-nvdimm.x86_64-latest.args  |  8 ++--
 ...mory-hotplug-virtio-mem.x86_64-latest.args | 10 ++---
 ...ory-hotplug-virtio-pmem.x86_64-latest.args |  8 ++--
 .../misc-no-reboot.x86_64-latest.args         |  4 +-
 .../mlock-off.x86_64-latest.args              |  2 +-
 .../mlock-on.x86_64-latest.args               |  2 +-
 .../name-escape.x86_64-latest.args            | 20 ++++-----
 .../net-vdpa.x86_64-latest.args               |  4 +-
 .../net-vhostuser.x86_64-latest.args          |  8 ++--
 .../numatune-hmat.x86_64-latest.args          |  4 +-
 ...emnode-restrictive-mode.x86_64-latest.args |  4 +-
 .../numatune-memnode.x86_64-latest.args       |  4 +-
 .../numatune-system-memory.x86_64-latest.args |  2 +-
 .../os-firmware-bios.x86_64-latest.args       | 16 +++----
 ...re-efi-no-enrolled-keys.x86_64-latest.args |  6 +--
 ...os-firmware-efi-secboot.x86_64-latest.args | 16 +++----
 .../os-firmware-efi.x86_64-latest.args        | 16 +++----
 .../panic-double.x86_64-latest.args           |  4 +-
 .../panic-no-address.x86_64-latest.args       |  8 ++--
 .../qemuxml2argvdata/panic.x86_64-latest.args |  8 ++--
 ...arallel-parport-chardev.x86_64-latest.args |  8 ++--
 .../parallel-tcp-chardev.x86_64-latest.args   |  8 ++--
 .../parallel-unix-chardev.x86_64-latest.args  |  8 ++--
 ...pi-root-hotplug-disable.x86_64-latest.args |  4 +-
 ...cpi-root-hotplug-enable.x86_64-latest.args |  4 +-
 .../pci-serial-dev-chardev.x86_64-latest.args |  8 ++--
 ...e-expander-bus-aarch64.aarch64-latest.args |  2 +-
 ...cie-root-port-nohotplug.x86_64-latest.args | 18 ++++----
 ...ault-cpu-kvm-pseries-2.7.ppc64-latest.args |  8 ++--
 ...ault-cpu-kvm-pseries-3.1.ppc64-latest.args |  8 ++--
 ...ault-cpu-kvm-pseries-4.2.ppc64-latest.args |  8 ++--
 ...ault-cpu-tcg-pseries-2.7.ppc64-latest.args |  8 ++--
 ...ault-cpu-tcg-pseries-3.1.ppc64-latest.args |  8 ++--
 ...ault-cpu-tcg-pseries-4.2.ppc64-latest.args |  8 ++--
 .../ppc64-pseries-graphics.ppc64-latest.args  | 22 +++++-----
 .../ppc64-pseries-headless.ppc64-latest.args  | 16 +++----
 .../ppc64-tpmproxy-single.ppc64-latest.args   |  6 +--
 .../ppc64-tpmproxy-with-tpm.ppc64-latest.args |  8 ++--
 .../pv-spinlock-disabled.x86_64-latest.args   |  4 +-
 .../pv-spinlock-enabled.x86_64-latest.args    |  4 +-
 .../qemu-ns.x86_64-latest.args                |  6 +--
 ...rial-dev-chardev-iobase.x86_64-latest.args |  8 ++--
 .../serial-dev-chardev.x86_64-latest.args     |  8 ++--
 .../serial-file-chardev.x86_64-latest.args    |  8 ++--
 .../serial-file-log.x86_64-latest.args        |  6 +--
 .../serial-many-chardev.x86_64-latest.args    | 10 ++---
 .../serial-pty-chardev.x86_64-latest.args     |  8 ++--
 ...erial-spiceport-nospice.x86_64-latest.args |  6 +--
 .../serial-spiceport.x86_64-latest.args       | 12 +++---
 .../serial-tcp-chardev.x86_64-latest.args     |  8 ++--
 ...rial-tcp-telnet-chardev.x86_64-latest.args |  8 ++--
 ...p-tlsx509-chardev-notls.x86_64-latest.args | 10 ++---
 ...-tlsx509-chardev-verify.x86_64-latest.args | 10 ++---
 ...ial-tcp-tlsx509-chardev.x86_64-latest.args | 10 ++---
 ...-tlsx509-secret-chardev.x86_64-latest.args | 10 ++---
 .../serial-udp-chardev.x86_64-latest.args     | 10 ++---
 .../serial-unix-chardev.x86_64-latest.args    |  8 ++--
 .../serial-vc-chardev.x86_64-latest.args      |  8 ++--
 ...rtcard-passthrough-unix.x86_64-latest.args |  8 ++--
 .../tpm-emulator-spapr.ppc64-latest.args      | 14 +++----
 .../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     | 10 ++---
 .../usb-redir-unix.x86_64-latest.args         | 14 +++----
 ...vhost-user-fs-fd-memory.x86_64-latest.args |  2 +-
 ...vhost-user-fs-hugepages.x86_64-latest.args | 12 +++---
 ...host-user-gpu-secondary.x86_64-latest.args | 10 ++---
 .../vhost-user-vga.x86_64-latest.args         |  8 ++--
 .../vhost-vsock-auto.x86_64-latest.args       |  6 +--
 .../vhost-vsock.x86_64-latest.args            |  6 +--
 ...eo-bochs-display-device.x86_64-latest.args |  8 ++--
 ...video-qxl-device-vram64.x86_64-latest.args |  6 +--
 ...o-qxl-sec-device-vram64.x86_64-latest.args |  8 ++--
 ...eo-ramfb-display-device.x86_64-latest.args |  8 ++--
 ...video-virtio-vga-gpu-gl.x86_64-latest.args |  8 ++--
 .../virtio-9p-createmode.x86_64-latest.args   | 14 +++----
 .../virtio-9p-multidevs.x86_64-latest.args    | 12 +++---
 .../virtio-lun.x86_64-latest.args             | 12 +++---
 ...virtio-non-transitional.x86_64-latest.args | 42 +++++++++----------
 ...-options-controller-ats.x86_64-latest.args | 12 +++---
 ...ptions-controller-iommu.x86_64-latest.args | 12 +++---
 ...tions-controller-packed.x86_64-latest.args | 12 +++---
 ...virtio-options-disk-ats.x86_64-latest.args |  8 ++--
 ...rtio-options-disk-iommu.x86_64-latest.args |  8 ++--
 ...tio-options-disk-packed.x86_64-latest.args |  8 ++--
 .../virtio-options-fs-ats.x86_64-latest.args  |  8 ++--
 ...virtio-options-fs-iommu.x86_64-latest.args |  8 ++--
 ...irtio-options-fs-packed.x86_64-latest.args |  8 ++--
 ...irtio-options-input-ats.x86_64-latest.args |  8 ++--
 ...tio-options-input-iommu.x86_64-latest.args |  8 ++--
 ...io-options-input-packed.x86_64-latest.args |  8 ++--
 ...-options-memballoon-ats.x86_64-latest.args |  4 +-
 ...loon-freepage-reporting.x86_64-latest.args |  4 +-
 ...ptions-memballoon-iommu.x86_64-latest.args |  4 +-
 ...tions-memballoon-packed.x86_64-latest.args |  4 +-
 .../virtio-options-net-ats.x86_64-latest.args |  8 ++--
 ...irtio-options-net-iommu.x86_64-latest.args |  8 ++--
 ...rtio-options-net-packed.x86_64-latest.args |  8 ++--
 .../virtio-options-rng-ats.x86_64-latest.args |  8 ++--
 ...irtio-options-rng-iommu.x86_64-latest.args |  8 ++--
 ...rtio-options-rng-packed.x86_64-latest.args |  8 ++--
 ...irtio-options-video-ats.x86_64-latest.args |  8 ++--
 ...tio-options-video-iommu.x86_64-latest.args |  8 ++--
 ...io-options-video-packed.x86_64-latest.args |  8 ++--
 .../virtio-options.x86_64-latest.args         | 28 ++++++-------
 .../virtio-rng-builtin.x86_64-latest.args     |  6 +--
 .../virtio-rng-egd-unix.x86_64-latest.args    |  6 +--
 .../virtio-transitional.x86_64-latest.args    | 26 ++++++------
 .../watchdog-device.x86_64-latest.args        |  8 ++--
 .../watchdog-dump.x86_64-latest.args          |  8 ++--
 .../watchdog-injectnmi.x86_64-latest.args     |  8 ++--
 .../watchdog.x86_64-latest.args               |  6 +--
 ...-default-cpu-kvm-pc-4.2.x86_64-latest.args |  6 +--
 ...default-cpu-kvm-q35-4.2.x86_64-latest.args | 14 +++----
 ...efault-cpu-tcg-features.x86_64-latest.args | 10 ++---
 ...-default-cpu-tcg-pc-4.2.x86_64-latest.args |  6 +--
 ...default-cpu-tcg-q35-4.2.x86_64-latest.args | 14 +++----
 .../x86_64-pc-graphics.x86_64-latest.args     | 20 ++++-----
 .../x86_64-pc-headless.x86_64-latest.args     | 16 +++----
 .../x86_64-q35-graphics.x86_64-latest.args    | 34 +++++++--------
 .../x86_64-q35-headless.x86_64-latest.args    | 30 ++++++-------
 320 files changed, 1335 insertions(+), 1306 deletions(-)

-- 
2.31.1




More information about the libvir-list mailing list