[PATCH 3/3] qemu: enable asynchronous teardown on s390x hosts

Boris Fiuczynski fiuczy at linux.ibm.com
Tue Jun 13 15:42:42 UTC 2023


Enablement of asynchronous teardown on s390x and add a new test for
asynchronous teardown not supported.

Signed-off-by: Boris Fiuczynski <fiuczy at linux.ibm.com>
---
 src/qemu/qemu_command.c                       | 15 +++++++++
 .../balloon-ccw-deflate.s390x-latest.args     |  1 +
 .../console-sclp.s390x-latest.args            |  1 +
 .../console-virtio-ccw.s390x-latest.args      |  1 +
 .../cpu-s390-features.s390x-latest.args       |  1 +
 .../cpu-s390-zEC12.s390x-latest.args          |  1 +
 ...default-video-type-s390x.s390x-latest.args |  1 +
 .../disk-error-policy-s390x.s390x-latest.args |  1 +
 .../disk-virtio-ccw-many.s390x-latest.args    |  1 +
 .../disk-virtio-ccw.s390x-latest.args         |  1 +
 .../disk-virtio-s390-zpci.s390x-latest.args   |  1 +
 .../fs9p-ccw.s390x-latest.args                |  1 +
 ...tdev-scsi-vhost-scsi-ccw.s390x-latest.args |  1 +
 ...tdev-subsys-mdev-vfio-ap.s390x-latest.args |  1 +
 ...ubsys-mdev-vfio-ccw-boot.s390x-latest.args |  1 +
 ...dev-subsys-mdev-vfio-ccw.s390x-latest.args |  1 +
 ...o-zpci-autogenerate-fids.s390x-latest.args |  1 +
 ...o-zpci-autogenerate-uids.s390x-latest.args |  1 +
 ...v-vfio-zpci-autogenerate.s390x-latest.args |  1 +
 ...dev-vfio-zpci-boundaries.s390x-latest.args |  1 +
 ...vfio-zpci-ccw-memballoon.s390x-latest.args |  1 +
 ...io-zpci-multidomain-many.s390x-latest.args |  1 +
 .../hostdev-vfio-zpci.s390x-latest.args       |  1 +
 .../input-virtio-ccw.s390x-latest.args        |  1 +
 ...othreads-virtio-scsi-ccw.s390x-latest.args |  1 +
 .../launch-security-s390-pv.s390x-latest.args |  1 +
 ...chine-aeskeywrap-off-cap.s390x-latest.args |  1 +
 ...hine-aeskeywrap-off-caps.s390x-latest.args |  1 +
 ...achine-aeskeywrap-on-cap.s390x-latest.args |  1 +
 ...chine-aeskeywrap-on-caps.s390x-latest.args |  1 +
 ...chine-deakeywrap-off-cap.s390x-latest.args |  1 +
 ...hine-deakeywrap-off-caps.s390x-latest.args |  1 +
 ...achine-deakeywrap-on-cap.s390x-latest.args |  1 +
 ...chine-deakeywrap-on-caps.s390x-latest.args |  1 +
 ...achine-keywrap-none-caps.s390x-latest.args |  1 +
 .../machine-keywrap-none.s390x-latest.args    |  1 +
 ...machine-loadparm-hostdev.s390x-latest.args |  1 +
 ...multiple-disks-nets-s390.s390x-latest.args |  1 +
 ...achine-loadparm-net-s390.s390x-latest.args |  1 +
 .../machine-loadparm-s390.s390x-latest.args   |  1 +
 .../net-virtio-ccw.s390x-latest.args          |  1 +
 .../no-async-teardown-s390x.s390x-6.0.0.args  | 32 +++++++++++++++++++
 .../no-async-teardown-s390x.xml               | 18 +++++++++++
 ...low-bogus-usb-controller.s390x-latest.args |  1 +
 ...390-allow-bogus-usb-none.s390x-latest.args |  1 +
 ...t-cpu-kvm-ccw-virtio-2.7.s390x-latest.args |  1 +
 ...t-cpu-kvm-ccw-virtio-4.2.s390x-latest.args |  1 +
 ...t-cpu-tcg-ccw-virtio-2.7.s390x-latest.args |  1 +
 ...t-cpu-tcg-ccw-virtio-4.2.s390x-latest.args |  1 +
 .../s390-panic-missing.s390x-latest.args      |  1 +
 .../s390-panic-no-address.s390x-latest.args   |  1 +
 .../s390-serial-2.s390x-latest.args           |  1 +
 .../s390-serial-console.s390x-latest.args     |  1 +
 .../s390-serial.s390x-latest.args             |  1 +
 .../s390x-ccw-graphics.s390x-latest.args      |  1 +
 .../s390x-ccw-headless.s390x-latest.args      |  1 +
 .../vhost-vsock-ccw-auto.s390x-latest.args    |  1 +
 .../vhost-vsock-ccw-iommu.s390x-latest.args   |  1 +
 .../vhost-vsock-ccw.s390x-latest.args         |  1 +
 .../video-virtio-gpu-ccw.s390x-latest.args    |  1 +
 .../virtio-rng-ccw.s390x-latest.args          |  1 +
 .../watchdog-diag288.s390x-latest.args        |  1 +
 tests/qemuxml2argvtest.c                      |  2 ++
 63 files changed, 126 insertions(+)
 create mode 100644 tests/qemuxml2argvdata/no-async-teardown-s390x.s390x-6.0.0.args
 create mode 100644 tests/qemuxml2argvdata/no-async-teardown-s390x.xml

diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index a19902988c..dfdc95bfa5 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -10166,6 +10166,18 @@ qemuBuildCryptoCommandLine(virCommand *cmd,
 }
 
 
+static int
+qemuBuildTeardownCommandLine(virCommand *cmd,
+                                  virQEMUCaps *qemuCaps)
+{
+    if (ARCH_IS_S390(virArchFromHost()) &&
+        virQEMUCapsGet(qemuCaps, QEMU_CAPS_RUN_WITH_ASYNC_TEARDOWN))
+        virCommandAddArgList(cmd, "-run-with", "async-teardown=yes", NULL);
+
+    return 0;
+}
+
+
 typedef enum {
     QEMU_COMMAND_DEPRECATION_BEHAVIOR_NONE = 0,
     QEMU_COMMAND_DEPRECATION_BEHAVIOR_OMIT,
@@ -10521,6 +10533,9 @@ qemuBuildCommandLine(virDomainObj *vm,
     if (qemuBuildCryptoCommandLine(cmd, def, qemuCaps) < 0)
         return NULL;
 
+    if (qemuBuildTeardownCommandLine(cmd, qemuCaps) < 0)
+        return NULL;
+
     if (cfg->logTimestamp)
         virCommandAddArgList(cmd, "-msg", "timestamp=on", NULL);
 
diff --git a/tests/qemuxml2argvdata/balloon-ccw-deflate.s390x-latest.args b/tests/qemuxml2argvdata/balloon-ccw-deflate.s390x-latest.args
index f615448649..b6256ad37e 100644
--- a/tests/qemuxml2argvdata/balloon-ccw-deflate.s390x-latest.args
+++ b/tests/qemuxml2argvdata/balloon-ccw-deflate.s390x-latest.args
@@ -29,4 +29,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device '{"driver":"virtio-balloon-ccw","id":"balloon0","deflate-on-oom":true,"devno":"fe.0.000a"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/console-sclp.s390x-latest.args b/tests/qemuxml2argvdata/console-sclp.s390x-latest.args
index 42537cc233..ccb5a82519 100644
--- a/tests/qemuxml2argvdata/console-sclp.s390x-latest.args
+++ b/tests/qemuxml2argvdata/console-sclp.s390x-latest.args
@@ -34,4 +34,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device '{"driver":"virtio-balloon-ccw","id":"balloon0","devno":"fe.0.0001"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/console-virtio-ccw.s390x-latest.args b/tests/qemuxml2argvdata/console-virtio-ccw.s390x-latest.args
index 928c03de5a..1767a0aea7 100644
--- a/tests/qemuxml2argvdata/console-virtio-ccw.s390x-latest.args
+++ b/tests/qemuxml2argvdata/console-virtio-ccw.s390x-latest.args
@@ -35,4 +35,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device '{"driver":"virtio-balloon-ccw","id":"balloon0","devno":"fe.0.000a"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/cpu-s390-features.s390x-latest.args b/tests/qemuxml2argvdata/cpu-s390-features.s390x-latest.args
index d6c1d6e278..5a2f891290 100644
--- a/tests/qemuxml2argvdata/cpu-s390-features.s390x-latest.args
+++ b/tests/qemuxml2argvdata/cpu-s390-features.s390x-latest.args
@@ -28,4 +28,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest1/.config \
 -boot strict=on \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/cpu-s390-zEC12.s390x-latest.args b/tests/qemuxml2argvdata/cpu-s390-zEC12.s390x-latest.args
index 8ad4fd90ce..4deed4ac5f 100644
--- a/tests/qemuxml2argvdata/cpu-s390-zEC12.s390x-latest.args
+++ b/tests/qemuxml2argvdata/cpu-s390-zEC12.s390x-latest.args
@@ -28,4 +28,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest1/.config \
 -boot strict=on \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/default-video-type-s390x.s390x-latest.args b/tests/qemuxml2argvdata/default-video-type-s390x.s390x-latest.args
index ad8bc8df0f..b222ec050a 100644
--- a/tests/qemuxml2argvdata/default-video-type-s390x.s390x-latest.args
+++ b/tests/qemuxml2argvdata/default-video-type-s390x.s390x-latest.args
@@ -29,4 +29,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-default-video-type-s/.config \
 -vnc 127.0.0.1:0,audiodev=audio1 \
 -device '{"driver":"virtio-gpu-ccw","id":"video0","max_outputs":1,"devno":"fe.0.0000"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/disk-error-policy-s390x.s390x-latest.args b/tests/qemuxml2argvdata/disk-error-policy-s390x.s390x-latest.args
index dc86dd162e..d701846a84 100644
--- a/tests/qemuxml2argvdata/disk-error-policy-s390x.s390x-latest.args
+++ b/tests/qemuxml2argvdata/disk-error-policy-s390x.s390x-latest.args
@@ -37,4 +37,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \
 -device '{"driver":"virtio-blk-ccw","devno":"fe.0.0002","drive":"libvirt-1-format","id":"virtio-disk2","write-cache":"on","werror":"report","rerror":"ignore"}' \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/disk-virtio-ccw-many.s390x-latest.args b/tests/qemuxml2argvdata/disk-virtio-ccw-many.s390x-latest.args
index 584f1ac203..2483c36185 100644
--- a/tests/qemuxml2argvdata/disk-virtio-ccw-many.s390x-latest.args
+++ b/tests/qemuxml2argvdata/disk-virtio-ccw-many.s390x-latest.args
@@ -41,4 +41,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device '{"driver":"virtio-balloon-ccw","id":"balloon0","devno":"fe.0.000a"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/disk-virtio-ccw.s390x-latest.args b/tests/qemuxml2argvdata/disk-virtio-ccw.s390x-latest.args
index 251d1ca919..da85213cdf 100644
--- a/tests/qemuxml2argvdata/disk-virtio-ccw.s390x-latest.args
+++ b/tests/qemuxml2argvdata/disk-virtio-ccw.s390x-latest.args
@@ -35,4 +35,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device '{"driver":"virtio-balloon-ccw","id":"balloon0","devno":"fe.0.000a"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/disk-virtio-s390-zpci.s390x-latest.args b/tests/qemuxml2argvdata/disk-virtio-s390-zpci.s390x-latest.args
index 667be38d02..748ec5557a 100644
--- a/tests/qemuxml2argvdata/disk-virtio-s390-zpci.s390x-latest.args
+++ b/tests/qemuxml2argvdata/disk-virtio-s390-zpci.s390x-latest.args
@@ -33,4 +33,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device '{"driver":"virtio-balloon-ccw","id":"balloon0","devno":"fe.0.0000"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/fs9p-ccw.s390x-latest.args b/tests/qemuxml2argvdata/fs9p-ccw.s390x-latest.args
index a10b7bf3b6..bb822e109c 100644
--- a/tests/qemuxml2argvdata/fs9p-ccw.s390x-latest.args
+++ b/tests/qemuxml2argvdata/fs9p-ccw.s390x-latest.args
@@ -38,4 +38,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device '{"driver":"virtio-balloon-ccw","id":"balloon0","devno":"fe.0.0004"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/hostdev-scsi-vhost-scsi-ccw.s390x-latest.args b/tests/qemuxml2argvdata/hostdev-scsi-vhost-scsi-ccw.s390x-latest.args
index 3b327ee0b9..e5baf2f61a 100644
--- a/tests/qemuxml2argvdata/hostdev-scsi-vhost-scsi-ccw.s390x-latest.args
+++ b/tests/qemuxml2argvdata/hostdev-scsi-vhost-scsi-ccw.s390x-latest.args
@@ -34,4 +34,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest2/.config \
 -device '{"driver":"vhost-scsi-ccw","wwpn":"naa.5123456789abcde0","vhostfd":"3","id":"hostdev0","devno":"fe.0.0002"}' \
 -device '{"driver":"virtio-balloon-ccw","id":"balloon0","devno":"fe.0.0003"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/hostdev-subsys-mdev-vfio-ap.s390x-latest.args b/tests/qemuxml2argvdata/hostdev-subsys-mdev-vfio-ap.s390x-latest.args
index 9a531f864a..2a5c068143 100644
--- a/tests/qemuxml2argvdata/hostdev-subsys-mdev-vfio-ap.s390x-latest.args
+++ b/tests/qemuxml2argvdata/hostdev-subsys-mdev-vfio-ap.s390x-latest.args
@@ -30,4 +30,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
 -device '{"driver":"vfio-ap","id":"hostdev0","sysfsdev":"/sys/bus/mdev/devices/90c6c135-ad44-41d0-b1b7-bae47de48627"}' \
 -device '{"driver":"virtio-balloon-ccw","id":"balloon0","devno":"fe.0.0000"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/hostdev-subsys-mdev-vfio-ccw-boot.s390x-latest.args b/tests/qemuxml2argvdata/hostdev-subsys-mdev-vfio-ccw-boot.s390x-latest.args
index 35ca1f8e80..0d64c8f7ec 100644
--- a/tests/qemuxml2argvdata/hostdev-subsys-mdev-vfio-ccw-boot.s390x-latest.args
+++ b/tests/qemuxml2argvdata/hostdev-subsys-mdev-vfio-ccw-boot.s390x-latest.args
@@ -30,4 +30,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
 -device '{"driver":"vfio-ccw","id":"hostdev0","sysfsdev":"/sys/bus/mdev/devices/90c6c135-ad44-41d0-b1b7-bae47de48627","bootindex":1,"devno":"fe.0.0000"}' \
 -device '{"driver":"virtio-balloon-ccw","id":"balloon0","devno":"fe.0.0001"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/hostdev-subsys-mdev-vfio-ccw.s390x-latest.args b/tests/qemuxml2argvdata/hostdev-subsys-mdev-vfio-ccw.s390x-latest.args
index 80d2aa6955..93af6282f6 100644
--- a/tests/qemuxml2argvdata/hostdev-subsys-mdev-vfio-ccw.s390x-latest.args
+++ b/tests/qemuxml2argvdata/hostdev-subsys-mdev-vfio-ccw.s390x-latest.args
@@ -30,4 +30,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
 -device '{"driver":"vfio-ccw","id":"hostdev0","sysfsdev":"/sys/bus/mdev/devices/90c6c135-ad44-41d0-b1b7-bae47de48627","devno":"fe.0.0000"}' \
 -device '{"driver":"virtio-balloon-ccw","id":"balloon0","devno":"fe.0.0001"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/hostdev-vfio-zpci-autogenerate-fids.s390x-latest.args b/tests/qemuxml2argvdata/hostdev-vfio-zpci-autogenerate-fids.s390x-latest.args
index 3261839623..cc7b05ebef 100644
--- a/tests/qemuxml2argvdata/hostdev-vfio-zpci-autogenerate-fids.s390x-latest.args
+++ b/tests/qemuxml2argvdata/hostdev-vfio-zpci-autogenerate-fids.s390x-latest.args
@@ -33,4 +33,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
 -device '{"driver":"vfio-pci","host":"0001:00:00.0","id":"hostdev1","bus":"pci.0","addr":"0x2"}' \
 -device '{"driver":"virtio-balloon-ccw","id":"balloon0","devno":"fe.0.0000"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/hostdev-vfio-zpci-autogenerate-uids.s390x-latest.args b/tests/qemuxml2argvdata/hostdev-vfio-zpci-autogenerate-uids.s390x-latest.args
index ea30b77795..314284f953 100644
--- a/tests/qemuxml2argvdata/hostdev-vfio-zpci-autogenerate-uids.s390x-latest.args
+++ b/tests/qemuxml2argvdata/hostdev-vfio-zpci-autogenerate-uids.s390x-latest.args
@@ -33,4 +33,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
 -device '{"driver":"vfio-pci","host":"0000:00:01.0","id":"hostdev1","bus":"pci.0","addr":"0x2"}' \
 -device '{"driver":"virtio-balloon-ccw","id":"balloon0","devno":"fe.0.0000"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/hostdev-vfio-zpci-autogenerate.s390x-latest.args b/tests/qemuxml2argvdata/hostdev-vfio-zpci-autogenerate.s390x-latest.args
index f9b31cb30c..fb68ade55d 100644
--- a/tests/qemuxml2argvdata/hostdev-vfio-zpci-autogenerate.s390x-latest.args
+++ b/tests/qemuxml2argvdata/hostdev-vfio-zpci-autogenerate.s390x-latest.args
@@ -31,4 +31,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
 -device '{"driver":"vfio-pci","host":"0000:00:00.0","id":"hostdev0","bus":"pci.0","addr":"0x1"}' \
 -device '{"driver":"virtio-balloon-ccw","id":"balloon0","devno":"fe.0.0000"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/hostdev-vfio-zpci-boundaries.s390x-latest.args b/tests/qemuxml2argvdata/hostdev-vfio-zpci-boundaries.s390x-latest.args
index 68728dd663..5be66055bf 100644
--- a/tests/qemuxml2argvdata/hostdev-vfio-zpci-boundaries.s390x-latest.args
+++ b/tests/qemuxml2argvdata/hostdev-vfio-zpci-boundaries.s390x-latest.args
@@ -35,4 +35,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
 -device '{"driver":"vfio-pci","host":"0000:00:00.0","id":"hostdev1","bus":"pci.0","addr":"0x2"}' \
 -device '{"driver":"virtio-balloon-ccw","id":"balloon0","devno":"fe.0.0000"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/hostdev-vfio-zpci-ccw-memballoon.s390x-latest.args b/tests/qemuxml2argvdata/hostdev-vfio-zpci-ccw-memballoon.s390x-latest.args
index 760edbc759..6c3dbc1ba9 100644
--- a/tests/qemuxml2argvdata/hostdev-vfio-zpci-ccw-memballoon.s390x-latest.args
+++ b/tests/qemuxml2argvdata/hostdev-vfio-zpci-ccw-memballoon.s390x-latest.args
@@ -31,4 +31,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-KVMGuest1/.config \
 -device '{"driver":"vfio-pci","host":"0000:00:00.0","id":"hostdev0","bus":"pci.0","addr":"0x1"}' \
 -device '{"driver":"virtio-balloon-ccw","id":"balloon0","devno":"fe.0.0000"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/hostdev-vfio-zpci-multidomain-many.s390x-latest.args b/tests/qemuxml2argvdata/hostdev-vfio-zpci-multidomain-many.s390x-latest.args
index 10810b3434..d7bb8ebf42 100644
--- a/tests/qemuxml2argvdata/hostdev-vfio-zpci-multidomain-many.s390x-latest.args
+++ b/tests/qemuxml2argvdata/hostdev-vfio-zpci-multidomain-many.s390x-latest.args
@@ -45,4 +45,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
 -device '{"driver":"vfio-pci","host":"0008:00:00.0","id":"hostdev7","bus":"pci.0","addr":"0x6"}' \
 -device '{"driver":"virtio-balloon-ccw","id":"balloon0","devno":"fe.0.0000"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/hostdev-vfio-zpci.s390x-latest.args b/tests/qemuxml2argvdata/hostdev-vfio-zpci.s390x-latest.args
index da161e0153..1a9b2bc01d 100644
--- a/tests/qemuxml2argvdata/hostdev-vfio-zpci.s390x-latest.args
+++ b/tests/qemuxml2argvdata/hostdev-vfio-zpci.s390x-latest.args
@@ -31,4 +31,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
 -device '{"driver":"vfio-pci","host":"0000:00:00.0","id":"hostdev0","bus":"pci.0","addr":"0x8"}' \
 -device '{"driver":"virtio-balloon-ccw","id":"balloon0","devno":"fe.0.0000"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/input-virtio-ccw.s390x-latest.args b/tests/qemuxml2argvdata/input-virtio-ccw.s390x-latest.args
index 6fcd1eb05d..142aaf6581 100644
--- a/tests/qemuxml2argvdata/input-virtio-ccw.s390x-latest.args
+++ b/tests/qemuxml2argvdata/input-virtio-ccw.s390x-latest.args
@@ -35,4 +35,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device '{"driver":"virtio-balloon-ccw","id":"balloon0","devno":"fe.0.0001"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/iothreads-virtio-scsi-ccw.s390x-latest.args b/tests/qemuxml2argvdata/iothreads-virtio-scsi-ccw.s390x-latest.args
index e4c045d739..1bcf066104 100644
--- a/tests/qemuxml2argvdata/iothreads-virtio-scsi-ccw.s390x-latest.args
+++ b/tests/qemuxml2argvdata/iothreads-virtio-scsi-ccw.s390x-latest.args
@@ -38,4 +38,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device '{"driver":"virtio-balloon-ccw","id":"balloon0","devno":"fe.0.000a"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/launch-security-s390-pv.s390x-latest.args b/tests/qemuxml2argvdata/launch-security-s390-pv.s390x-latest.args
index 50feb53e3c..43e5e1db1e 100644
--- a/tests/qemuxml2argvdata/launch-security-s390-pv.s390x-latest.args
+++ b/tests/qemuxml2argvdata/launch-security-s390-pv.s390x-latest.args
@@ -33,4 +33,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
 -device '{"driver":"virtio-balloon-ccw","id":"balloon0","devno":"fe.0.0001"}' \
 -object '{"qom-type":"s390-pv-guest","id":"lsec0"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/machine-aeskeywrap-off-cap.s390x-latest.args b/tests/qemuxml2argvdata/machine-aeskeywrap-off-cap.s390x-latest.args
index b6edb35107..c0013918f5 100644
--- a/tests/qemuxml2argvdata/machine-aeskeywrap-off-cap.s390x-latest.args
+++ b/tests/qemuxml2argvdata/machine-aeskeywrap-off-cap.s390x-latest.args
@@ -31,4 +31,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
 -device '{"driver":"virtio-blk-ccw","devno":"fe.0.0000","drive":"libvirt-1-format","id":"virtio-disk0","bootindex":1}' \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/machine-aeskeywrap-off-caps.s390x-latest.args b/tests/qemuxml2argvdata/machine-aeskeywrap-off-caps.s390x-latest.args
index b6edb35107..c0013918f5 100644
--- a/tests/qemuxml2argvdata/machine-aeskeywrap-off-caps.s390x-latest.args
+++ b/tests/qemuxml2argvdata/machine-aeskeywrap-off-caps.s390x-latest.args
@@ -31,4 +31,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
 -device '{"driver":"virtio-blk-ccw","devno":"fe.0.0000","drive":"libvirt-1-format","id":"virtio-disk0","bootindex":1}' \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/machine-aeskeywrap-on-cap.s390x-latest.args b/tests/qemuxml2argvdata/machine-aeskeywrap-on-cap.s390x-latest.args
index 74c52f9094..2b75d438d7 100644
--- a/tests/qemuxml2argvdata/machine-aeskeywrap-on-cap.s390x-latest.args
+++ b/tests/qemuxml2argvdata/machine-aeskeywrap-on-cap.s390x-latest.args
@@ -31,4 +31,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
 -device '{"driver":"virtio-blk-ccw","devno":"fe.0.0000","drive":"libvirt-1-format","id":"virtio-disk0","bootindex":1}' \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/machine-aeskeywrap-on-caps.s390x-latest.args b/tests/qemuxml2argvdata/machine-aeskeywrap-on-caps.s390x-latest.args
index 74c52f9094..2b75d438d7 100644
--- a/tests/qemuxml2argvdata/machine-aeskeywrap-on-caps.s390x-latest.args
+++ b/tests/qemuxml2argvdata/machine-aeskeywrap-on-caps.s390x-latest.args
@@ -31,4 +31,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
 -device '{"driver":"virtio-blk-ccw","devno":"fe.0.0000","drive":"libvirt-1-format","id":"virtio-disk0","bootindex":1}' \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/machine-deakeywrap-off-cap.s390x-latest.args b/tests/qemuxml2argvdata/machine-deakeywrap-off-cap.s390x-latest.args
index 29f3330c1c..fa67dcb760 100644
--- a/tests/qemuxml2argvdata/machine-deakeywrap-off-cap.s390x-latest.args
+++ b/tests/qemuxml2argvdata/machine-deakeywrap-off-cap.s390x-latest.args
@@ -31,4 +31,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
 -device '{"driver":"virtio-blk-ccw","devno":"fe.0.0000","drive":"libvirt-1-format","id":"virtio-disk0","bootindex":1}' \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/machine-deakeywrap-off-caps.s390x-latest.args b/tests/qemuxml2argvdata/machine-deakeywrap-off-caps.s390x-latest.args
index 29f3330c1c..fa67dcb760 100644
--- a/tests/qemuxml2argvdata/machine-deakeywrap-off-caps.s390x-latest.args
+++ b/tests/qemuxml2argvdata/machine-deakeywrap-off-caps.s390x-latest.args
@@ -31,4 +31,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
 -device '{"driver":"virtio-blk-ccw","devno":"fe.0.0000","drive":"libvirt-1-format","id":"virtio-disk0","bootindex":1}' \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/machine-deakeywrap-on-cap.s390x-latest.args b/tests/qemuxml2argvdata/machine-deakeywrap-on-cap.s390x-latest.args
index 1ed36c684b..c1f7c54da3 100644
--- a/tests/qemuxml2argvdata/machine-deakeywrap-on-cap.s390x-latest.args
+++ b/tests/qemuxml2argvdata/machine-deakeywrap-on-cap.s390x-latest.args
@@ -31,4 +31,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
 -device '{"driver":"virtio-blk-ccw","devno":"fe.0.0000","drive":"libvirt-1-format","id":"virtio-disk0","bootindex":1}' \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/machine-deakeywrap-on-caps.s390x-latest.args b/tests/qemuxml2argvdata/machine-deakeywrap-on-caps.s390x-latest.args
index 1ed36c684b..c1f7c54da3 100644
--- a/tests/qemuxml2argvdata/machine-deakeywrap-on-caps.s390x-latest.args
+++ b/tests/qemuxml2argvdata/machine-deakeywrap-on-caps.s390x-latest.args
@@ -31,4 +31,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
 -device '{"driver":"virtio-blk-ccw","devno":"fe.0.0000","drive":"libvirt-1-format","id":"virtio-disk0","bootindex":1}' \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/machine-keywrap-none-caps.s390x-latest.args b/tests/qemuxml2argvdata/machine-keywrap-none-caps.s390x-latest.args
index 809b4e8acf..470e84f3d2 100644
--- a/tests/qemuxml2argvdata/machine-keywrap-none-caps.s390x-latest.args
+++ b/tests/qemuxml2argvdata/machine-keywrap-none-caps.s390x-latest.args
@@ -31,4 +31,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
 -device '{"driver":"virtio-blk-ccw","devno":"fe.0.0000","drive":"libvirt-1-format","id":"virtio-disk0","bootindex":1}' \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/machine-keywrap-none.s390x-latest.args b/tests/qemuxml2argvdata/machine-keywrap-none.s390x-latest.args
index 809b4e8acf..470e84f3d2 100644
--- a/tests/qemuxml2argvdata/machine-keywrap-none.s390x-latest.args
+++ b/tests/qemuxml2argvdata/machine-keywrap-none.s390x-latest.args
@@ -31,4 +31,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
 -device '{"driver":"virtio-blk-ccw","devno":"fe.0.0000","drive":"libvirt-1-format","id":"virtio-disk0","bootindex":1}' \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/machine-loadparm-hostdev.s390x-latest.args b/tests/qemuxml2argvdata/machine-loadparm-hostdev.s390x-latest.args
index 41deb43f37..1074becf05 100644
--- a/tests/qemuxml2argvdata/machine-loadparm-hostdev.s390x-latest.args
+++ b/tests/qemuxml2argvdata/machine-loadparm-hostdev.s390x-latest.args
@@ -30,4 +30,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
 -device '{"driver":"vfio-ccw","id":"hostdev0","sysfsdev":"/sys/bus/mdev/devices/90c6c135-ad44-41d0-b1b7-bae47de48627","bootindex":1,"devno":"fe.0.0000"}' \
 -device '{"driver":"virtio-balloon-ccw","id":"balloon0","devno":"fe.0.0001"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/machine-loadparm-multiple-disks-nets-s390.s390x-latest.args b/tests/qemuxml2argvdata/machine-loadparm-multiple-disks-nets-s390.s390x-latest.args
index d5c5a334be..bbc5fe28a5 100644
--- a/tests/qemuxml2argvdata/machine-loadparm-multiple-disks-nets-s390.s390x-latest.args
+++ b/tests/qemuxml2argvdata/machine-loadparm-multiple-disks-nets-s390.s390x-latest.args
@@ -39,4 +39,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device '{"driver":"virtio-balloon-ccw","id":"balloon0","devno":"fe.0.0001"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/machine-loadparm-net-s390.s390x-latest.args b/tests/qemuxml2argvdata/machine-loadparm-net-s390.s390x-latest.args
index 114d38cddc..f8c7463613 100644
--- a/tests/qemuxml2argvdata/machine-loadparm-net-s390.s390x-latest.args
+++ b/tests/qemuxml2argvdata/machine-loadparm-net-s390.s390x-latest.args
@@ -31,4 +31,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device '{"driver":"virtio-balloon-ccw","id":"balloon0","devno":"fe.0.0001"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/machine-loadparm-s390.s390x-latest.args b/tests/qemuxml2argvdata/machine-loadparm-s390.s390x-latest.args
index c8f0273ea8..5baca1d500 100644
--- a/tests/qemuxml2argvdata/machine-loadparm-s390.s390x-latest.args
+++ b/tests/qemuxml2argvdata/machine-loadparm-s390.s390x-latest.args
@@ -32,4 +32,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device '{"driver":"virtio-balloon-ccw","id":"balloon0","devno":"fe.0.0001"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/net-virtio-ccw.s390x-latest.args b/tests/qemuxml2argvdata/net-virtio-ccw.s390x-latest.args
index f7203db196..1231bbac07 100644
--- a/tests/qemuxml2argvdata/net-virtio-ccw.s390x-latest.args
+++ b/tests/qemuxml2argvdata/net-virtio-ccw.s390x-latest.args
@@ -33,4 +33,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device '{"driver":"virtio-balloon-ccw","id":"balloon0","devno":"fe.0.000a"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/no-async-teardown-s390x.s390x-6.0.0.args b/tests/qemuxml2argvdata/no-async-teardown-s390x.s390x-6.0.0.args
new file mode 100644
index 0000000000..d072c50eae
--- /dev/null
+++ b/tests/qemuxml2argvdata/no-async-teardown-s390x.s390x-6.0.0.args
@@ -0,0 +1,32 @@
+LC_ALL=C \
+PATH=/bin \
+HOME=/var/lib/libvirt/qemu/domain--1-test \
+USER=test \
+LOGNAME=test \
+XDG_DATA_HOME=/var/lib/libvirt/qemu/domain--1-test/.local/share \
+XDG_CACHE_HOME=/var/lib/libvirt/qemu/domain--1-test/.cache \
+XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-test/.config \
+/usr/bin/qemu-system-s390x \
+-name guest=test,debug-threads=on \
+-S \
+-object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-test/master-key.aes"}' \
+-machine s390-ccw-virtio-6.0,usb=off,dump-guest-core=off,memory-backend=s390.ram \
+-accel kvm \
+-cpu gen15a-base,aen=on,cmmnt=on,vxpdeh=on,aefsi=on,diag318=on,csske=on,mepoch=on,msa9=on,msa8=on,msa7=on,msa6=on,msa5=on,msa4=on,msa3=on,msa2=on,msa1=on,sthyi=on,edat=on,ri=on,deflate=on,edat2=on,etoken=on,vx=on,ipter=on,mepochptff=on,ap=on,vxeh=on,vxpd=on,esop=on,msa9_pckmo=on,vxeh2=on,esort=on,apqi=on,apft=on,els=on,iep=on,apqci=on,cte=on,ais=on,bpb=on,gs=on,ppa15=on,zpci=on,sea_esop2=on,te=on,cmm=on \
+-m 256 \
+-object '{"qom-type":"memory-backend-ram","id":"s390.ram","size":268435456}' \
+-overcommit mem-lock=off \
+-smp 1,sockets=1,cores=1,threads=1 \
+-uuid 9aa4b45c-b9dd-45ef-91fe-862b27b4231f \
+-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 \
+-boot strict=on \
+-audiodev '{"id":"audio1","driver":"none"}' \
+-device virtio-balloon-ccw,id=balloon0,devno=fe.0.0000 \
+-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-msg timestamp=on
diff --git a/tests/qemuxml2argvdata/no-async-teardown-s390x.xml b/tests/qemuxml2argvdata/no-async-teardown-s390x.xml
new file mode 100644
index 0000000000..e8e76cb372
--- /dev/null
+++ b/tests/qemuxml2argvdata/no-async-teardown-s390x.xml
@@ -0,0 +1,18 @@
+<domain type='kvm'>
+  <name>test</name>
+  <uuid>9aa4b45c-b9dd-45ef-91fe-862b27b4231f</uuid>
+  <memory unit='KiB'>262144</memory>
+  <currentMemory unit='KiB'>262144</currentMemory>
+  <vcpu placement='static'>1</vcpu>
+  <os>
+    <type arch='s390x' machine='s390-ccw-virtio'>hvm</type>
+    <boot dev='hd'/>
+  </os>
+  <clock offset='utc'/>
+  <on_poweroff>destroy</on_poweroff>
+  <on_reboot>restart</on_reboot>
+  <on_crash>destroy</on_crash>
+  <devices>
+    <emulator>/usr/bin/qemu-system-s390x</emulator>
+  </devices>
+</domain>
diff --git a/tests/qemuxml2argvdata/s390-allow-bogus-usb-controller.s390x-latest.args b/tests/qemuxml2argvdata/s390-allow-bogus-usb-controller.s390x-latest.args
index 8b11cff2f5..45998005c1 100644
--- a/tests/qemuxml2argvdata/s390-allow-bogus-usb-controller.s390x-latest.args
+++ b/tests/qemuxml2argvdata/s390-allow-bogus-usb-controller.s390x-latest.args
@@ -37,4 +37,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-test/.config \
 -object '{"qom-type":"rng-random","id":"objrng0","filename":"/dev/hwrng"}' \
 -device '{"driver":"virtio-rng-ccw","rng":"objrng0","id":"rng0","devno":"fe.0.0003"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/s390-allow-bogus-usb-none.s390x-latest.args b/tests/qemuxml2argvdata/s390-allow-bogus-usb-none.s390x-latest.args
index 8b11cff2f5..45998005c1 100644
--- a/tests/qemuxml2argvdata/s390-allow-bogus-usb-none.s390x-latest.args
+++ b/tests/qemuxml2argvdata/s390-allow-bogus-usb-none.s390x-latest.args
@@ -37,4 +37,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-test/.config \
 -object '{"qom-type":"rng-random","id":"objrng0","filename":"/dev/hwrng"}' \
 -device '{"driver":"virtio-rng-ccw","rng":"objrng0","id":"rng0","devno":"fe.0.0003"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/s390-default-cpu-kvm-ccw-virtio-2.7.s390x-latest.args b/tests/qemuxml2argvdata/s390-default-cpu-kvm-ccw-virtio-2.7.s390x-latest.args
index 561c69dc76..0cc3958c79 100644
--- a/tests/qemuxml2argvdata/s390-default-cpu-kvm-ccw-virtio-2.7.s390x-latest.args
+++ b/tests/qemuxml2argvdata/s390-default-cpu-kvm-ccw-virtio-2.7.s390x-latest.args
@@ -29,4 +29,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-test/.config \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device '{"driver":"virtio-balloon-ccw","id":"balloon0","devno":"fe.0.0000"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/s390-default-cpu-kvm-ccw-virtio-4.2.s390x-latest.args b/tests/qemuxml2argvdata/s390-default-cpu-kvm-ccw-virtio-4.2.s390x-latest.args
index ec143a63a1..77bd924e38 100644
--- a/tests/qemuxml2argvdata/s390-default-cpu-kvm-ccw-virtio-4.2.s390x-latest.args
+++ b/tests/qemuxml2argvdata/s390-default-cpu-kvm-ccw-virtio-4.2.s390x-latest.args
@@ -29,4 +29,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-test/.config \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device '{"driver":"virtio-balloon-ccw","id":"balloon0","devno":"fe.0.0000"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/s390-default-cpu-tcg-ccw-virtio-2.7.s390x-latest.args b/tests/qemuxml2argvdata/s390-default-cpu-tcg-ccw-virtio-2.7.s390x-latest.args
index 452d78c120..d985e1a36b 100644
--- a/tests/qemuxml2argvdata/s390-default-cpu-tcg-ccw-virtio-2.7.s390x-latest.args
+++ b/tests/qemuxml2argvdata/s390-default-cpu-tcg-ccw-virtio-2.7.s390x-latest.args
@@ -29,4 +29,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-test/.config \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device '{"driver":"virtio-balloon-ccw","id":"balloon0","devno":"fe.0.0000"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/s390-default-cpu-tcg-ccw-virtio-4.2.s390x-latest.args b/tests/qemuxml2argvdata/s390-default-cpu-tcg-ccw-virtio-4.2.s390x-latest.args
index b132972521..1255a6744a 100644
--- a/tests/qemuxml2argvdata/s390-default-cpu-tcg-ccw-virtio-4.2.s390x-latest.args
+++ b/tests/qemuxml2argvdata/s390-default-cpu-tcg-ccw-virtio-4.2.s390x-latest.args
@@ -29,4 +29,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-test/.config \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device '{"driver":"virtio-balloon-ccw","id":"balloon0","devno":"fe.0.0000"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/s390-panic-missing.s390x-latest.args b/tests/qemuxml2argvdata/s390-panic-missing.s390x-latest.args
index dd8d1a99a6..04ba7fa69e 100644
--- a/tests/qemuxml2argvdata/s390-panic-missing.s390x-latest.args
+++ b/tests/qemuxml2argvdata/s390-panic-missing.s390x-latest.args
@@ -32,4 +32,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device '{"driver":"virtio-balloon-ccw","id":"balloon0","devno":"fe.0.0002"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/s390-panic-no-address.s390x-latest.args b/tests/qemuxml2argvdata/s390-panic-no-address.s390x-latest.args
index 978d4c4279..9fe895329d 100644
--- a/tests/qemuxml2argvdata/s390-panic-no-address.s390x-latest.args
+++ b/tests/qemuxml2argvdata/s390-panic-no-address.s390x-latest.args
@@ -32,4 +32,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -device '{"driver":"virtio-balloon-ccw","id":"balloon0","devno":"fe.0.0001"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/s390-serial-2.s390x-latest.args b/tests/qemuxml2argvdata/s390-serial-2.s390x-latest.args
index 75006f4c34..a56fadfe63 100644
--- a/tests/qemuxml2argvdata/s390-serial-2.s390x-latest.args
+++ b/tests/qemuxml2argvdata/s390-serial-2.s390x-latest.args
@@ -32,4 +32,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
 -device '{"driver":"sclplmconsole","chardev":"charserial1","id":"serial1"}' \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/s390-serial-console.s390x-latest.args b/tests/qemuxml2argvdata/s390-serial-console.s390x-latest.args
index 50c5826d42..0a22f200db 100644
--- a/tests/qemuxml2argvdata/s390-serial-console.s390x-latest.args
+++ b/tests/qemuxml2argvdata/s390-serial-console.s390x-latest.args
@@ -30,4 +30,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
 -device '{"driver":"sclpconsole","chardev":"charserial0","id":"serial0"}' \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/s390-serial.s390x-latest.args b/tests/qemuxml2argvdata/s390-serial.s390x-latest.args
index 50c5826d42..0a22f200db 100644
--- a/tests/qemuxml2argvdata/s390-serial.s390x-latest.args
+++ b/tests/qemuxml2argvdata/s390-serial.s390x-latest.args
@@ -30,4 +30,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
 -device '{"driver":"sclpconsole","chardev":"charserial0","id":"serial0"}' \
 -audiodev '{"id":"audio1","driver":"none"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/s390x-ccw-graphics.s390x-latest.args b/tests/qemuxml2argvdata/s390x-ccw-graphics.s390x-latest.args
index 63a46c48a9..b111c190e1 100644
--- a/tests/qemuxml2argvdata/s390x-ccw-graphics.s390x-latest.args
+++ b/tests/qemuxml2argvdata/s390x-ccw-graphics.s390x-latest.args
@@ -44,4 +44,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \
 -object '{"qom-type":"rng-random","id":"objrng0","filename":"/dev/urandom"}' \
 -device '{"driver":"virtio-rng-ccw","rng":"objrng0","id":"rng0","devno":"fe.0.0007"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/s390x-ccw-headless.s390x-latest.args b/tests/qemuxml2argvdata/s390x-ccw-headless.s390x-latest.args
index 57d6af3913..85c707b032 100644
--- a/tests/qemuxml2argvdata/s390x-ccw-headless.s390x-latest.args
+++ b/tests/qemuxml2argvdata/s390x-ccw-headless.s390x-latest.args
@@ -41,4 +41,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \
 -object '{"qom-type":"rng-random","id":"objrng0","filename":"/dev/urandom"}' \
 -device '{"driver":"virtio-rng-ccw","rng":"objrng0","id":"rng0","devno":"fe.0.0004"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/vhost-vsock-ccw-auto.s390x-latest.args b/tests/qemuxml2argvdata/vhost-vsock-ccw-auto.s390x-latest.args
index d73d813f38..c556ceaf3b 100644
--- a/tests/qemuxml2argvdata/vhost-vsock-ccw-auto.s390x-latest.args
+++ b/tests/qemuxml2argvdata/vhost-vsock-ccw-auto.s390x-latest.args
@@ -33,4 +33,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
 -device '{"driver":"virtio-balloon-ccw","id":"balloon0","devno":"fe.0.0001"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
 -device '{"driver":"vhost-vsock-ccw","id":"vsock0","guest-cid":42,"vhostfd":"6789","devno":"fe.0.0002"}' \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/vhost-vsock-ccw-iommu.s390x-latest.args b/tests/qemuxml2argvdata/vhost-vsock-ccw-iommu.s390x-latest.args
index a3f7a7eedf..1a6b090517 100644
--- a/tests/qemuxml2argvdata/vhost-vsock-ccw-iommu.s390x-latest.args
+++ b/tests/qemuxml2argvdata/vhost-vsock-ccw-iommu.s390x-latest.args
@@ -33,4 +33,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
 -device '{"driver":"virtio-balloon-ccw","id":"balloon0","devno":"fe.0.0001"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
 -device '{"driver":"vhost-vsock-ccw","iommu_platform":true,"id":"vsock0","guest-cid":4,"vhostfd":"6789","devno":"fe.0.0002"}' \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/vhost-vsock-ccw.s390x-latest.args b/tests/qemuxml2argvdata/vhost-vsock-ccw.s390x-latest.args
index ac2d3dc255..4ddd2c98ab 100644
--- a/tests/qemuxml2argvdata/vhost-vsock-ccw.s390x-latest.args
+++ b/tests/qemuxml2argvdata/vhost-vsock-ccw.s390x-latest.args
@@ -33,4 +33,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
 -device '{"driver":"virtio-balloon-ccw","id":"balloon0","devno":"fe.0.0001"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
 -device '{"driver":"vhost-vsock-ccw","id":"vsock0","guest-cid":4,"vhostfd":"6789","devno":"fe.0.0003"}' \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/video-virtio-gpu-ccw.s390x-latest.args b/tests/qemuxml2argvdata/video-virtio-gpu-ccw.s390x-latest.args
index d9f2f08d98..b0db3cc3f7 100644
--- a/tests/qemuxml2argvdata/video-virtio-gpu-ccw.s390x-latest.args
+++ b/tests/qemuxml2argvdata/video-virtio-gpu-ccw.s390x-latest.args
@@ -34,4 +34,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
 -device '{"driver":"virtio-gpu-ccw","id":"video1","max_outputs":1,"devno":"fe.0.0003"}' \
 -device '{"driver":"virtio-balloon-ccw","id":"balloon0","devno":"fe.0.0001"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/virtio-rng-ccw.s390x-latest.args b/tests/qemuxml2argvdata/virtio-rng-ccw.s390x-latest.args
index 2ba8382bbf..2501c35a93 100644
--- a/tests/qemuxml2argvdata/virtio-rng-ccw.s390x-latest.args
+++ b/tests/qemuxml2argvdata/virtio-rng-ccw.s390x-latest.args
@@ -37,4 +37,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
 -object '{"qom-type":"rng-random","id":"objrng0","filename":"/dev/hwrng"}' \
 -device '{"driver":"virtio-rng-ccw","rng":"objrng0","id":"rng0","devno":"fe.0.0002"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvdata/watchdog-diag288.s390x-latest.args b/tests/qemuxml2argvdata/watchdog-diag288.s390x-latest.args
index 326a3c3d27..e94f714f8a 100644
--- a/tests/qemuxml2argvdata/watchdog-diag288.s390x-latest.args
+++ b/tests/qemuxml2argvdata/watchdog-diag288.s390x-latest.args
@@ -34,4 +34,5 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
 -watchdog-action inject-nmi \
 -device '{"driver":"virtio-balloon-ccw","id":"balloon0","devno":"fe.0.0001"}' \
 -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
+-run-with async-teardown=yes \
 -msg timestamp=on
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index d914d8cbea..a657e5143a 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -2699,6 +2699,8 @@ mymain(void)
 
     DO_TEST_CAPS_LATEST("crypto-builtin");
 
+    DO_TEST_CAPS_ARCH_VER("no-async-teardown-s390x", "s390x", "6.0.0");
+
     qemuTestDriverFree(&driver);
     virFileWrapperClearPrefixes();
 
-- 
2.39.0



More information about the libvir-list mailing list