[libvirt] [PATCH 0/8] qemu: Enable -blockdev (blockdev-add saga finale?)

This patchset depends on: https://www.redhat.com/archives/libvir-list/2019-November/msg00762.html everything together is available at: git fetch https://gitlab.com/pipo.sk/libvirt.git blockdev-enable Looks like finally all pieces are together. Let's enable it. Peter Krempa (8): conf: domcaps: Add 'backingStoreInput' domain capability docs: Document support for obeying <backingStore> of <disk> on input qemu: caps: Base support of 'backingStoreInput' domain feature on QEMU_CAPS_BLOCKDEV tests: qemucapabilities: Refresh data for unreleased qemu-4.2 on x86_64 qemu: caps: Add capability for dynamic 'auto-read-only' support for files qemu: qapi: Add support for command features qemu: capabilities: Add detection of the 'savevm' fix for -blockdev qemu: enable blockdev support docs/formatdomain.html.in | 29 +- docs/formatdomaincaps.html.in | 7 + docs/schemas/domaincaps.rng | 9 + src/conf/domain_capabilities.c | 1 + src/conf/domain_capabilities.h | 1 + src/qemu/qemu_capabilities.c | 17 +- src/qemu/qemu_capabilities.h | 2 + src/qemu/qemu_qapi.c | 15 + tests/domaincapsdata/libxl-xenfv.xml | 1 + tests/domaincapsdata/libxl-xenpv.xml | 1 + .../domaincapsdata/qemu_1.5.3-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_1.5.3-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_1.5.3.x86_64.xml | 1 + .../domaincapsdata/qemu_1.6.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_1.6.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_1.6.0.x86_64.xml | 1 + .../domaincapsdata/qemu_1.7.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_1.7.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_1.7.0.x86_64.xml | 1 + .../domaincapsdata/qemu_2.1.1-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_2.1.1-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.1.1.x86_64.xml | 1 + .../domaincapsdata/qemu_2.10.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_2.10.0-tcg.x86_64.xml | 1 + .../qemu_2.10.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_2.10.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_2.10.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_2.10.0.s390x.xml | 1 + tests/domaincapsdata/qemu_2.10.0.x86_64.xml | 1 + .../domaincapsdata/qemu_2.11.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_2.11.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.11.0.s390x.xml | 1 + tests/domaincapsdata/qemu_2.11.0.x86_64.xml | 1 + .../domaincapsdata/qemu_2.12.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_2.12.0-tcg.x86_64.xml | 1 + .../qemu_2.12.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_2.12.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_2.12.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_2.12.0.s390x.xml | 1 + tests/domaincapsdata/qemu_2.12.0.x86_64.xml | 1 + .../domaincapsdata/qemu_2.4.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_2.4.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.4.0.x86_64.xml | 1 + .../domaincapsdata/qemu_2.5.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_2.5.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.5.0.x86_64.xml | 1 + .../domaincapsdata/qemu_2.6.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_2.6.0-tcg.x86_64.xml | 1 + .../qemu_2.6.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_2.6.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_2.6.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_2.6.0.x86_64.xml | 1 + .../domaincapsdata/qemu_2.7.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_2.7.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.7.0.s390x.xml | 1 + tests/domaincapsdata/qemu_2.7.0.x86_64.xml | 1 + .../domaincapsdata/qemu_2.8.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_2.8.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.8.0.s390x.xml | 1 + tests/domaincapsdata/qemu_2.8.0.x86_64.xml | 1 + .../domaincapsdata/qemu_2.9.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_2.9.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.9.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_2.9.0.s390x.xml | 1 + tests/domaincapsdata/qemu_2.9.0.x86_64.xml | 1 + .../domaincapsdata/qemu_3.0.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_3.0.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_3.0.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_3.0.0.s390x.xml | 1 + tests/domaincapsdata/qemu_3.0.0.x86_64.xml | 1 + .../domaincapsdata/qemu_3.1.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_3.1.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_3.1.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_3.1.0.x86_64.xml | 1 + .../domaincapsdata/qemu_4.0.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_4.0.0-tcg.x86_64.xml | 1 + .../qemu_4.0.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_4.0.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_4.0.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_4.0.0.s390x.xml | 1 + tests/domaincapsdata/qemu_4.0.0.x86_64.xml | 1 + .../domaincapsdata/qemu_4.1.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_4.1.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_4.1.0.x86_64.xml | 1 + .../domaincapsdata/qemu_4.2.0-q35.x86_64.xml | 1 + .../domaincapsdata/qemu_4.2.0-tcg.x86_64.xml | 1 + .../qemu_4.2.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_4.2.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_4.2.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_4.2.0.x86_64.xml | 1 + .../caps_4.1.0.x86_64.xml | 1 + .../caps_4.2.0.aarch64.xml | 3 + .../qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 1 + .../caps_4.2.0.x86_64.replies | 3907 +++++++++++------ .../caps_4.2.0.x86_64.xml | 253 +- ...arch64-os-firmware-efi.aarch64-latest.args | 18 +- .../aarch64-virt-graphics.aarch64-latest.args | 26 +- .../aarch64-virt-headless.aarch64-latest.args | 26 +- .../controller-virtio-scsi.x86_64-latest.args | 35 +- .../disk-aio.x86_64-latest.args | 19 +- ...-backing-chains-noindex.x86_64-latest.args | 145 +- .../disk-cache.x86_64-latest.args | 50 +- ...m-empty-network-invalid.x86_64-latest.args | 3 +- .../disk-cdrom-network.x86_64-latest.args | 32 +- .../disk-cdrom-tray.x86_64-latest.args | 24 +- .../disk-cdrom.x86_64-latest.args | 21 +- .../disk-copy_on_read.x86_64-latest.args | 19 +- .../disk-detect-zeroes.x86_64-latest.args | 17 +- .../disk-error-policy.x86_64-latest.args | 30 +- .../disk-floppy-q35-2_11.x86_64-latest.args | 14 +- .../disk-floppy-q35-2_9.x86_64-latest.args | 14 +- .../disk-floppy.x86_64-latest.args | 21 +- .../disk-network-gluster.x86_64-latest.args | 32 +- .../disk-network-iscsi.x86_64-latest.args | 58 +- .../disk-network-nbd.x86_64-latest.args | 41 +- .../disk-network-rbd.x86_64-latest.args | 67 +- .../disk-network-sheepdog.x86_64-latest.args | 16 +- ...isk-network-source-auth.x86_64-latest.args | 30 +- .../disk-network-tlsx509.x86_64-latest.args | 64 +- .../disk-readonly-disk.x86_64-latest.args | 14 +- .../disk-scsi-device-auto.x86_64-latest.args | 14 +- .../disk-scsi.x86_64-latest.args | 35 +- .../disk-shared.x86_64-latest.args | 36 +- ...irtio-scsi-reservations.x86_64-latest.args | 20 +- .../floppy-drive-fat.x86_64-latest.args | 7 +- ...egl-headless-rendernode.x86_64-latest.args | 7 +- .../graphics-egl-headless.x86_64-latest.args | 7 +- ...threads-virtio-scsi-pci.x86_64-latest.args | 25 +- ...y-hotplug-nvdimm-access.x86_64-latest.args | 7 +- ...ry-hotplug-nvdimm-align.x86_64-latest.args | 7 +- ...ry-hotplug-nvdimm-label.x86_64-latest.args | 7 +- ...ory-hotplug-nvdimm-pmem.x86_64-latest.args | 7 +- ...hotplug-nvdimm-readonly.x86_64-latest.args | 7 +- .../memory-hotplug-nvdimm.x86_64-latest.args | 7 +- ...os-firmware-efi-secboot.x86_64-latest.args | 18 +- .../os-firmware-efi.x86_64-latest.args | 18 +- ...host-user-gpu-secondary.x86_64-latest.args | 7 +- .../vhost-user-vga.x86_64-latest.args | 7 +- ...eo-bochs-display-device.x86_64-latest.args | 10 +- ...eo-ramfb-display-device.x86_64-latest.args | 10 +- ...virtio-non-transitional.x86_64-latest.args | 7 +- .../virtio-transitional.x86_64-latest.args | 7 +- .../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 +- 146 files changed, 3790 insertions(+), 1683 deletions(-) -- 2.23.0

Historically we've only supported the <backingStore> as an output-only element for domain disks. The documentation states that it may become supported on input. To allow management apps detectin once that happens add a domain capability which will be asserted if the hypervisor driver will be able to obey the <backingStore> as configured on input. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- docs/formatdomaincaps.html.in | 7 +++++++ docs/schemas/domaincaps.rng | 9 +++++++++ src/conf/domain_capabilities.c | 1 + src/conf/domain_capabilities.h | 1 + tests/domaincapsdata/libxl-xenfv.xml | 1 + tests/domaincapsdata/libxl-xenpv.xml | 1 + tests/domaincapsdata/qemu_1.5.3-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_1.5.3-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_1.5.3.x86_64.xml | 1 + tests/domaincapsdata/qemu_1.6.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_1.6.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_1.6.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_1.7.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_1.7.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_1.7.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.1.1-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.1.1-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.1.1.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.10.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.10.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.10.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_2.10.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_2.10.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_2.10.0.s390x.xml | 1 + tests/domaincapsdata/qemu_2.10.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.11.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.11.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.11.0.s390x.xml | 1 + tests/domaincapsdata/qemu_2.11.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.12.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.12.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.12.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_2.12.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_2.12.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_2.12.0.s390x.xml | 1 + tests/domaincapsdata/qemu_2.12.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.4.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.4.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.4.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.5.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.5.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.5.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.6.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.6.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.6.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_2.6.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_2.6.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_2.6.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.7.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.7.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.7.0.s390x.xml | 1 + tests/domaincapsdata/qemu_2.7.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.8.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.8.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.8.0.s390x.xml | 1 + tests/domaincapsdata/qemu_2.8.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.9.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.9.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.9.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_2.9.0.s390x.xml | 1 + tests/domaincapsdata/qemu_2.9.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_3.0.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_3.0.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_3.0.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_3.0.0.s390x.xml | 1 + tests/domaincapsdata/qemu_3.0.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_3.1.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_3.1.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_3.1.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_3.1.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_4.0.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_4.0.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_4.0.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_4.0.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_4.0.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_4.0.0.s390x.xml | 1 + tests/domaincapsdata/qemu_4.0.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_4.1.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_4.1.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_4.1.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_4.2.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_4.2.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_4.2.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_4.2.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_4.2.0.x86_64.xml | 1 + 86 files changed, 100 insertions(+) diff --git a/docs/formatdomaincaps.html.in b/docs/formatdomaincaps.html.in index 0488d986ee..0bc1b8773d 100644 --- a/docs/formatdomaincaps.html.in +++ b/docs/formatdomaincaps.html.in @@ -516,6 +516,7 @@ </gic> <vmcoreinfo supported='yes'/> <genid supported='yes'/> + <backingStoreInput supported='yes'/> <sev> <cbitpos>47</cbitpos> <reduced-phys-bits>1</reduced-phys-bits> @@ -552,6 +553,12 @@ <p>Reports whether the genid feature can be used by the domain.</p> + <h4><a id="featureBackingStoreInput">backingStoreInput</a></h4> + + <p>Reports whether the hypervisor will obey the <backingStore> + elements configured for a <disk> on input during startup of the domain. + </p> + <h4><a id="elementsSEV">SEV capabilities</a></h4> <p>AMD Secure Encrypted Virtualization (SEV) capabilities are exposed under diff --git a/docs/schemas/domaincaps.rng b/docs/schemas/domaincaps.rng index 3525c0eeef..88b545ec2a 100644 --- a/docs/schemas/domaincaps.rng +++ b/docs/schemas/domaincaps.rng @@ -207,6 +207,9 @@ <optional> <ref name='vmgenid'/> </optional> + <optional> + <ref name='backingStoreInput'/> + </optional> <optional> <ref name='sev'/> </optional> @@ -232,6 +235,12 @@ </element> </define> + <define name='backingStoreInput'> + <element name='backingStoreInput'> + <ref name='supported'/> + </element> + </define> + <define name='sev'> <element name='sev'> <ref name='supported'/> diff --git a/src/conf/domain_capabilities.c b/src/conf/domain_capabilities.c index 573107df68..fdc5650527 100644 --- a/src/conf/domain_capabilities.c +++ b/src/conf/domain_capabilities.c @@ -40,6 +40,7 @@ VIR_ENUM_IMPL(virDomainCapsFeature, "iothreads", "vmcoreinfo", "genid", + "backingStoreInput", ); static virClassPtr virDomainCapsClass; diff --git a/src/conf/domain_capabilities.h b/src/conf/domain_capabilities.h index a9bf4a8d3f..88c3edbb49 100644 --- a/src/conf/domain_capabilities.h +++ b/src/conf/domain_capabilities.h @@ -160,6 +160,7 @@ typedef enum { VIR_DOMAIN_CAPS_FEATURE_IOTHREADS = 0, VIR_DOMAIN_CAPS_FEATURE_VMCOREINFO, VIR_DOMAIN_CAPS_FEATURE_GENID, + VIR_DOMAIN_CAPS_FEATURE_BACKING_STORE_INPUT, VIR_DOMAIN_CAPS_FEATURE_LAST } virDomainCapsFeature; diff --git a/tests/domaincapsdata/libxl-xenfv.xml b/tests/domaincapsdata/libxl-xenfv.xml index 4efc137c97..4ef247d0b6 100644 --- a/tests/domaincapsdata/libxl-xenfv.xml +++ b/tests/domaincapsdata/libxl-xenfv.xml @@ -74,6 +74,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/libxl-xenpv.xml b/tests/domaincapsdata/libxl-xenpv.xml index 70e598fe9e..72ecbb8ae3 100644 --- a/tests/domaincapsdata/libxl-xenpv.xml +++ b/tests/domaincapsdata/libxl-xenpv.xml @@ -64,6 +64,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_1.5.3-q35.x86_64.xml b/tests/domaincapsdata/qemu_1.5.3-q35.x86_64.xml index 3b0fc826c6..87cb8eb07e 100644 --- a/tests/domaincapsdata/qemu_1.5.3-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_1.5.3-q35.x86_64.xml @@ -130,6 +130,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_1.5.3-tcg.x86_64.xml b/tests/domaincapsdata/qemu_1.5.3-tcg.x86_64.xml index de4eef8c73..5588765182 100644 --- a/tests/domaincapsdata/qemu_1.5.3-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_1.5.3-tcg.x86_64.xml @@ -130,6 +130,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_1.5.3.x86_64.xml b/tests/domaincapsdata/qemu_1.5.3.x86_64.xml index 22ea4afafe..6bfe903f9a 100644 --- a/tests/domaincapsdata/qemu_1.5.3.x86_64.xml +++ b/tests/domaincapsdata/qemu_1.5.3.x86_64.xml @@ -130,6 +130,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_1.6.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_1.6.0-q35.x86_64.xml index 5af2d7c80a..f924bf7fad 100644 --- a/tests/domaincapsdata/qemu_1.6.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_1.6.0-q35.x86_64.xml @@ -130,6 +130,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_1.6.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_1.6.0-tcg.x86_64.xml index 0759ef3ce3..be8921cfa9 100644 --- a/tests/domaincapsdata/qemu_1.6.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_1.6.0-tcg.x86_64.xml @@ -130,6 +130,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_1.6.0.x86_64.xml b/tests/domaincapsdata/qemu_1.6.0.x86_64.xml index aa3d7c93b8..04f532cb3e 100644 --- a/tests/domaincapsdata/qemu_1.6.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_1.6.0.x86_64.xml @@ -130,6 +130,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_1.7.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_1.7.0-q35.x86_64.xml index a189e1ab9a..294cceff2f 100644 --- a/tests/domaincapsdata/qemu_1.7.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_1.7.0-q35.x86_64.xml @@ -130,6 +130,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_1.7.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_1.7.0-tcg.x86_64.xml index cdd0d6bf49..04d7c26bd5 100644 --- a/tests/domaincapsdata/qemu_1.7.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_1.7.0-tcg.x86_64.xml @@ -130,6 +130,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_1.7.0.x86_64.xml b/tests/domaincapsdata/qemu_1.7.0.x86_64.xml index 2c73c99d35..c00e492784 100644 --- a/tests/domaincapsdata/qemu_1.7.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_1.7.0.x86_64.xml @@ -130,6 +130,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_2.1.1-q35.x86_64.xml b/tests/domaincapsdata/qemu_2.1.1-q35.x86_64.xml index 40611dbcf7..7190a0ec9a 100644 --- a/tests/domaincapsdata/qemu_2.1.1-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_2.1.1-q35.x86_64.xml @@ -131,6 +131,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_2.1.1-tcg.x86_64.xml b/tests/domaincapsdata/qemu_2.1.1-tcg.x86_64.xml index a5a77d956d..8251017d40 100644 --- a/tests/domaincapsdata/qemu_2.1.1-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_2.1.1-tcg.x86_64.xml @@ -131,6 +131,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_2.1.1.x86_64.xml b/tests/domaincapsdata/qemu_2.1.1.x86_64.xml index 45de452b17..2dcb90c66e 100644 --- a/tests/domaincapsdata/qemu_2.1.1.x86_64.xml +++ b/tests/domaincapsdata/qemu_2.1.1.x86_64.xml @@ -131,6 +131,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_2.10.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_2.10.0-q35.x86_64.xml index 8abcac894b..ec044791bd 100644 --- a/tests/domaincapsdata/qemu_2.10.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_2.10.0-q35.x86_64.xml @@ -154,6 +154,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='yes'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_2.10.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_2.10.0-tcg.x86_64.xml index 620c7b86d2..e024d9c571 100644 --- a/tests/domaincapsdata/qemu_2.10.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_2.10.0-tcg.x86_64.xml @@ -173,6 +173,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='yes'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_2.10.0-virt.aarch64.xml b/tests/domaincapsdata/qemu_2.10.0-virt.aarch64.xml index f48ce884bf..490a1d4a5b 100644 --- a/tests/domaincapsdata/qemu_2.10.0-virt.aarch64.xml +++ b/tests/domaincapsdata/qemu_2.10.0-virt.aarch64.xml @@ -138,6 +138,7 @@ </gic> <vmcoreinfo supported='no'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_2.10.0.aarch64.xml b/tests/domaincapsdata/qemu_2.10.0.aarch64.xml index 167fdb2d4e..00d8cc8625 100644 --- a/tests/domaincapsdata/qemu_2.10.0.aarch64.xml +++ b/tests/domaincapsdata/qemu_2.10.0.aarch64.xml @@ -132,6 +132,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_2.10.0.ppc64.xml b/tests/domaincapsdata/qemu_2.10.0.ppc64.xml index 2378a626b4..9a0ba5d6dd 100644 --- a/tests/domaincapsdata/qemu_2.10.0.ppc64.xml +++ b/tests/domaincapsdata/qemu_2.10.0.ppc64.xml @@ -104,6 +104,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_2.10.0.s390x.xml b/tests/domaincapsdata/qemu_2.10.0.s390x.xml index bb565558fb..e551ed03c5 100644 --- a/tests/domaincapsdata/qemu_2.10.0.s390x.xml +++ b/tests/domaincapsdata/qemu_2.10.0.s390x.xml @@ -194,6 +194,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_2.10.0.x86_64.xml b/tests/domaincapsdata/qemu_2.10.0.x86_64.xml index ed77920e67..872ea80869 100644 --- a/tests/domaincapsdata/qemu_2.10.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_2.10.0.x86_64.xml @@ -154,6 +154,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='yes'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_2.11.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_2.11.0-q35.x86_64.xml index 9c3348df26..21cafab70e 100644 --- a/tests/domaincapsdata/qemu_2.11.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_2.11.0-q35.x86_64.xml @@ -152,6 +152,7 @@ <gic supported='no'/> <vmcoreinfo supported='yes'/> <genid supported='yes'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_2.11.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_2.11.0-tcg.x86_64.xml index bedafca8d9..98a7e4bfbe 100644 --- a/tests/domaincapsdata/qemu_2.11.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_2.11.0-tcg.x86_64.xml @@ -168,6 +168,7 @@ <gic supported='no'/> <vmcoreinfo supported='yes'/> <genid supported='yes'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_2.11.0.s390x.xml b/tests/domaincapsdata/qemu_2.11.0.s390x.xml index 3888428b50..e93cf3ffcc 100644 --- a/tests/domaincapsdata/qemu_2.11.0.s390x.xml +++ b/tests/domaincapsdata/qemu_2.11.0.s390x.xml @@ -193,6 +193,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_2.11.0.x86_64.xml b/tests/domaincapsdata/qemu_2.11.0.x86_64.xml index 2e2dc1adcb..0a6f417306 100644 --- a/tests/domaincapsdata/qemu_2.11.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_2.11.0.x86_64.xml @@ -152,6 +152,7 @@ <gic supported='no'/> <vmcoreinfo supported='yes'/> <genid supported='yes'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_2.12.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_2.12.0-q35.x86_64.xml index d330d61a9d..451c69200d 100644 --- a/tests/domaincapsdata/qemu_2.12.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_2.12.0-q35.x86_64.xml @@ -165,6 +165,7 @@ <gic supported='no'/> <vmcoreinfo supported='yes'/> <genid supported='yes'/> + <backingStoreInput supported='no'/> <sev supported='yes'> <cbitpos>47</cbitpos> <reducedPhysBits>1</reducedPhysBits> diff --git a/tests/domaincapsdata/qemu_2.12.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_2.12.0-tcg.x86_64.xml index 846b62a896..3eb821966b 100644 --- a/tests/domaincapsdata/qemu_2.12.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_2.12.0-tcg.x86_64.xml @@ -179,6 +179,7 @@ <gic supported='no'/> <vmcoreinfo supported='yes'/> <genid supported='yes'/> + <backingStoreInput supported='no'/> <sev supported='yes'> <cbitpos>47</cbitpos> <reducedPhysBits>1</reducedPhysBits> diff --git a/tests/domaincapsdata/qemu_2.12.0-virt.aarch64.xml b/tests/domaincapsdata/qemu_2.12.0-virt.aarch64.xml index d5bb85878d..ba23d2e357 100644 --- a/tests/domaincapsdata/qemu_2.12.0-virt.aarch64.xml +++ b/tests/domaincapsdata/qemu_2.12.0-virt.aarch64.xml @@ -140,6 +140,7 @@ </gic> <vmcoreinfo supported='yes'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_2.12.0.aarch64.xml b/tests/domaincapsdata/qemu_2.12.0.aarch64.xml index 4a9cd0b652..06348366e1 100644 --- a/tests/domaincapsdata/qemu_2.12.0.aarch64.xml +++ b/tests/domaincapsdata/qemu_2.12.0.aarch64.xml @@ -134,6 +134,7 @@ <gic supported='no'/> <vmcoreinfo supported='yes'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_2.12.0.ppc64.xml b/tests/domaincapsdata/qemu_2.12.0.ppc64.xml index b9d51e1752..8c02295d57 100644 --- a/tests/domaincapsdata/qemu_2.12.0.ppc64.xml +++ b/tests/domaincapsdata/qemu_2.12.0.ppc64.xml @@ -104,6 +104,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_2.12.0.s390x.xml b/tests/domaincapsdata/qemu_2.12.0.s390x.xml index 9b8e90671d..d25b458608 100644 --- a/tests/domaincapsdata/qemu_2.12.0.s390x.xml +++ b/tests/domaincapsdata/qemu_2.12.0.s390x.xml @@ -192,6 +192,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_2.12.0.x86_64.xml b/tests/domaincapsdata/qemu_2.12.0.x86_64.xml index 828aa03ed2..5fe2c0637b 100644 --- a/tests/domaincapsdata/qemu_2.12.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_2.12.0.x86_64.xml @@ -165,6 +165,7 @@ <gic supported='no'/> <vmcoreinfo supported='yes'/> <genid supported='yes'/> + <backingStoreInput supported='no'/> <sev supported='yes'> <cbitpos>47</cbitpos> <reducedPhysBits>1</reducedPhysBits> diff --git a/tests/domaincapsdata/qemu_2.4.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_2.4.0-q35.x86_64.xml index b846965261..84adbef31a 100644 --- a/tests/domaincapsdata/qemu_2.4.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_2.4.0-q35.x86_64.xml @@ -139,6 +139,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_2.4.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_2.4.0-tcg.x86_64.xml index 5803be807f..8f3d11aa65 100644 --- a/tests/domaincapsdata/qemu_2.4.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_2.4.0-tcg.x86_64.xml @@ -139,6 +139,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_2.4.0.x86_64.xml b/tests/domaincapsdata/qemu_2.4.0.x86_64.xml index 6c3185cef6..69e27d4474 100644 --- a/tests/domaincapsdata/qemu_2.4.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_2.4.0.x86_64.xml @@ -139,6 +139,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_2.5.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_2.5.0-q35.x86_64.xml index da5648f984..6ec0f26a67 100644 --- a/tests/domaincapsdata/qemu_2.5.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_2.5.0-q35.x86_64.xml @@ -139,6 +139,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_2.5.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_2.5.0-tcg.x86_64.xml index 279c0cd543..5f731ba6a5 100644 --- a/tests/domaincapsdata/qemu_2.5.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_2.5.0-tcg.x86_64.xml @@ -139,6 +139,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_2.5.0.x86_64.xml b/tests/domaincapsdata/qemu_2.5.0.x86_64.xml index 6f01005846..8442a70c8e 100644 --- a/tests/domaincapsdata/qemu_2.5.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_2.5.0.x86_64.xml @@ -139,6 +139,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_2.6.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_2.6.0-q35.x86_64.xml index cc4c404ad0..ab67d42be5 100644 --- a/tests/domaincapsdata/qemu_2.6.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_2.6.0-q35.x86_64.xml @@ -139,6 +139,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_2.6.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_2.6.0-tcg.x86_64.xml index 906be148ef..a279fdec76 100644 --- a/tests/domaincapsdata/qemu_2.6.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_2.6.0-tcg.x86_64.xml @@ -139,6 +139,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_2.6.0-virt.aarch64.xml b/tests/domaincapsdata/qemu_2.6.0-virt.aarch64.xml index ee76cb2e83..90e38a0836 100644 --- a/tests/domaincapsdata/qemu_2.6.0-virt.aarch64.xml +++ b/tests/domaincapsdata/qemu_2.6.0-virt.aarch64.xml @@ -137,6 +137,7 @@ </gic> <vmcoreinfo supported='no'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_2.6.0.aarch64.xml b/tests/domaincapsdata/qemu_2.6.0.aarch64.xml index a3ada3a6a5..724202dabc 100644 --- a/tests/domaincapsdata/qemu_2.6.0.aarch64.xml +++ b/tests/domaincapsdata/qemu_2.6.0.aarch64.xml @@ -131,6 +131,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_2.6.0.ppc64.xml b/tests/domaincapsdata/qemu_2.6.0.ppc64.xml index a4dd2a51cc..107102efbe 100644 --- a/tests/domaincapsdata/qemu_2.6.0.ppc64.xml +++ b/tests/domaincapsdata/qemu_2.6.0.ppc64.xml @@ -104,6 +104,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_2.6.0.x86_64.xml b/tests/domaincapsdata/qemu_2.6.0.x86_64.xml index 26b569d914..fd3160c4ea 100644 --- a/tests/domaincapsdata/qemu_2.6.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_2.6.0.x86_64.xml @@ -139,6 +139,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_2.7.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_2.7.0-q35.x86_64.xml index dd8714e61b..a00a49b1b4 100644 --- a/tests/domaincapsdata/qemu_2.7.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_2.7.0-q35.x86_64.xml @@ -140,6 +140,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_2.7.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_2.7.0-tcg.x86_64.xml index c2c46d190f..e7a7941294 100644 --- a/tests/domaincapsdata/qemu_2.7.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_2.7.0-tcg.x86_64.xml @@ -140,6 +140,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_2.7.0.s390x.xml b/tests/domaincapsdata/qemu_2.7.0.s390x.xml index a1e282482c..ad48c732b4 100644 --- a/tests/domaincapsdata/qemu_2.7.0.s390x.xml +++ b/tests/domaincapsdata/qemu_2.7.0.s390x.xml @@ -97,6 +97,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_2.7.0.x86_64.xml b/tests/domaincapsdata/qemu_2.7.0.x86_64.xml index 2e7ae2f100..f816468139 100644 --- a/tests/domaincapsdata/qemu_2.7.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_2.7.0.x86_64.xml @@ -140,6 +140,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_2.8.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_2.8.0-q35.x86_64.xml index 4e7e811d8f..c75dd6736e 100644 --- a/tests/domaincapsdata/qemu_2.8.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_2.8.0-q35.x86_64.xml @@ -140,6 +140,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_2.8.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_2.8.0-tcg.x86_64.xml index 38db60a748..20964973b6 100644 --- a/tests/domaincapsdata/qemu_2.8.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_2.8.0-tcg.x86_64.xml @@ -140,6 +140,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_2.8.0.s390x.xml b/tests/domaincapsdata/qemu_2.8.0.s390x.xml index dec4ca960b..103e1f7980 100644 --- a/tests/domaincapsdata/qemu_2.8.0.s390x.xml +++ b/tests/domaincapsdata/qemu_2.8.0.s390x.xml @@ -178,6 +178,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_2.8.0.x86_64.xml b/tests/domaincapsdata/qemu_2.8.0.x86_64.xml index 057aac246f..935e0e9afe 100644 --- a/tests/domaincapsdata/qemu_2.8.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_2.8.0.x86_64.xml @@ -140,6 +140,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_2.9.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_2.9.0-q35.x86_64.xml index ad894728ea..4d0e145976 100644 --- a/tests/domaincapsdata/qemu_2.9.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_2.9.0-q35.x86_64.xml @@ -149,6 +149,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='yes'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_2.9.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_2.9.0-tcg.x86_64.xml index 3cc81e9fa1..bf83709d89 100644 --- a/tests/domaincapsdata/qemu_2.9.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_2.9.0-tcg.x86_64.xml @@ -172,6 +172,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='yes'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_2.9.0.ppc64.xml b/tests/domaincapsdata/qemu_2.9.0.ppc64.xml index 69b6ebe8a6..1e85f0bdfd 100644 --- a/tests/domaincapsdata/qemu_2.9.0.ppc64.xml +++ b/tests/domaincapsdata/qemu_2.9.0.ppc64.xml @@ -104,6 +104,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_2.9.0.s390x.xml b/tests/domaincapsdata/qemu_2.9.0.s390x.xml index 294e6a1be6..1477ca9487 100644 --- a/tests/domaincapsdata/qemu_2.9.0.s390x.xml +++ b/tests/domaincapsdata/qemu_2.9.0.s390x.xml @@ -179,6 +179,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_2.9.0.x86_64.xml b/tests/domaincapsdata/qemu_2.9.0.x86_64.xml index 790b39bd7d..c044b46c21 100644 --- a/tests/domaincapsdata/qemu_2.9.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_2.9.0.x86_64.xml @@ -149,6 +149,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='yes'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_3.0.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_3.0.0-q35.x86_64.xml index f4130f659f..124a460f41 100644 --- a/tests/domaincapsdata/qemu_3.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_3.0.0-q35.x86_64.xml @@ -166,6 +166,7 @@ <gic supported='no'/> <vmcoreinfo supported='yes'/> <genid supported='yes'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_3.0.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_3.0.0-tcg.x86_64.xml index 2c4c61758c..0dfbb3471b 100644 --- a/tests/domaincapsdata/qemu_3.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_3.0.0-tcg.x86_64.xml @@ -181,6 +181,7 @@ <gic supported='no'/> <vmcoreinfo supported='yes'/> <genid supported='yes'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_3.0.0.ppc64.xml b/tests/domaincapsdata/qemu_3.0.0.ppc64.xml index 48865824a3..e3acde93d4 100644 --- a/tests/domaincapsdata/qemu_3.0.0.ppc64.xml +++ b/tests/domaincapsdata/qemu_3.0.0.ppc64.xml @@ -106,6 +106,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_3.0.0.s390x.xml b/tests/domaincapsdata/qemu_3.0.0.s390x.xml index 55b442ced8..850acf905c 100644 --- a/tests/domaincapsdata/qemu_3.0.0.s390x.xml +++ b/tests/domaincapsdata/qemu_3.0.0.s390x.xml @@ -199,6 +199,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_3.0.0.x86_64.xml b/tests/domaincapsdata/qemu_3.0.0.x86_64.xml index 162758eb2b..18212faad8 100644 --- a/tests/domaincapsdata/qemu_3.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_3.0.0.x86_64.xml @@ -166,6 +166,7 @@ <gic supported='no'/> <vmcoreinfo supported='yes'/> <genid supported='yes'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_3.1.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_3.1.0-q35.x86_64.xml index ba9bbcc839..db00c67571 100644 --- a/tests/domaincapsdata/qemu_3.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_3.1.0-q35.x86_64.xml @@ -169,6 +169,7 @@ <gic supported='no'/> <vmcoreinfo supported='yes'/> <genid supported='yes'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_3.1.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_3.1.0-tcg.x86_64.xml index 5527adb558..b3ef9e6c7e 100644 --- a/tests/domaincapsdata/qemu_3.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_3.1.0-tcg.x86_64.xml @@ -184,6 +184,7 @@ <gic supported='no'/> <vmcoreinfo supported='yes'/> <genid supported='yes'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_3.1.0.ppc64.xml b/tests/domaincapsdata/qemu_3.1.0.ppc64.xml index 72e4d8b5f3..6f1aef4e12 100644 --- a/tests/domaincapsdata/qemu_3.1.0.ppc64.xml +++ b/tests/domaincapsdata/qemu_3.1.0.ppc64.xml @@ -106,6 +106,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_3.1.0.x86_64.xml b/tests/domaincapsdata/qemu_3.1.0.x86_64.xml index 5a121eb987..a9dde532e7 100644 --- a/tests/domaincapsdata/qemu_3.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_3.1.0.x86_64.xml @@ -169,6 +169,7 @@ <gic supported='no'/> <vmcoreinfo supported='yes'/> <genid supported='yes'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_4.0.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_4.0.0-q35.x86_64.xml index dba8c3a8b2..57eb49362c 100644 --- a/tests/domaincapsdata/qemu_4.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_4.0.0-q35.x86_64.xml @@ -169,6 +169,7 @@ <gic supported='no'/> <vmcoreinfo supported='yes'/> <genid supported='yes'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_4.0.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_4.0.0-tcg.x86_64.xml index 6bec4dbfc9..5884defc41 100644 --- a/tests/domaincapsdata/qemu_4.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_4.0.0-tcg.x86_64.xml @@ -184,6 +184,7 @@ <gic supported='no'/> <vmcoreinfo supported='yes'/> <genid supported='yes'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_4.0.0-virt.aarch64.xml b/tests/domaincapsdata/qemu_4.0.0-virt.aarch64.xml index f4c51ebfc7..c2d77a9dc0 100644 --- a/tests/domaincapsdata/qemu_4.0.0-virt.aarch64.xml +++ b/tests/domaincapsdata/qemu_4.0.0-virt.aarch64.xml @@ -147,6 +147,7 @@ </gic> <vmcoreinfo supported='yes'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_4.0.0.aarch64.xml b/tests/domaincapsdata/qemu_4.0.0.aarch64.xml index ba3634fe4a..218b9d7c0e 100644 --- a/tests/domaincapsdata/qemu_4.0.0.aarch64.xml +++ b/tests/domaincapsdata/qemu_4.0.0.aarch64.xml @@ -141,6 +141,7 @@ <gic supported='no'/> <vmcoreinfo supported='yes'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_4.0.0.ppc64.xml b/tests/domaincapsdata/qemu_4.0.0.ppc64.xml index bcad78ebd3..8de62bc781 100644 --- a/tests/domaincapsdata/qemu_4.0.0.ppc64.xml +++ b/tests/domaincapsdata/qemu_4.0.0.ppc64.xml @@ -107,6 +107,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_4.0.0.s390x.xml b/tests/domaincapsdata/qemu_4.0.0.s390x.xml index 6cda114260..09c5286919 100644 --- a/tests/domaincapsdata/qemu_4.0.0.s390x.xml +++ b/tests/domaincapsdata/qemu_4.0.0.s390x.xml @@ -204,6 +204,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_4.0.0.x86_64.xml b/tests/domaincapsdata/qemu_4.0.0.x86_64.xml index 00bf7d1ec3..cfa58caa4f 100644 --- a/tests/domaincapsdata/qemu_4.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_4.0.0.x86_64.xml @@ -169,6 +169,7 @@ <gic supported='no'/> <vmcoreinfo supported='yes'/> <genid supported='yes'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_4.1.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_4.1.0-q35.x86_64.xml index c87c6ea73f..463db0c72d 100644 --- a/tests/domaincapsdata/qemu_4.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_4.1.0-q35.x86_64.xml @@ -173,6 +173,7 @@ <gic supported='no'/> <vmcoreinfo supported='yes'/> <genid supported='yes'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_4.1.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_4.1.0-tcg.x86_64.xml index 9b03dac9f0..611c67a2a3 100644 --- a/tests/domaincapsdata/qemu_4.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_4.1.0-tcg.x86_64.xml @@ -184,6 +184,7 @@ <gic supported='no'/> <vmcoreinfo supported='yes'/> <genid supported='yes'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_4.1.0.x86_64.xml b/tests/domaincapsdata/qemu_4.1.0.x86_64.xml index 97533c6d05..629d47a0d5 100644 --- a/tests/domaincapsdata/qemu_4.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_4.1.0.x86_64.xml @@ -173,6 +173,7 @@ <gic supported='no'/> <vmcoreinfo supported='yes'/> <genid supported='yes'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml index 5fbba2c5da..50b846c9f4 100644 --- a/tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml @@ -173,6 +173,7 @@ <gic supported='no'/> <vmcoreinfo supported='yes'/> <genid supported='yes'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_4.2.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_4.2.0-tcg.x86_64.xml index de576d5949..c9480f3530 100644 --- a/tests/domaincapsdata/qemu_4.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_4.2.0-tcg.x86_64.xml @@ -184,6 +184,7 @@ <gic supported='no'/> <vmcoreinfo supported='yes'/> <genid supported='yes'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_4.2.0-virt.aarch64.xml b/tests/domaincapsdata/qemu_4.2.0-virt.aarch64.xml index 033f8a7df4..837dcff0d9 100644 --- a/tests/domaincapsdata/qemu_4.2.0-virt.aarch64.xml +++ b/tests/domaincapsdata/qemu_4.2.0-virt.aarch64.xml @@ -147,6 +147,7 @@ </gic> <vmcoreinfo supported='yes'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_4.2.0.aarch64.xml b/tests/domaincapsdata/qemu_4.2.0.aarch64.xml index ba3634fe4a..218b9d7c0e 100644 --- a/tests/domaincapsdata/qemu_4.2.0.aarch64.xml +++ b/tests/domaincapsdata/qemu_4.2.0.aarch64.xml @@ -141,6 +141,7 @@ <gic supported='no'/> <vmcoreinfo supported='yes'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_4.2.0.ppc64.xml b/tests/domaincapsdata/qemu_4.2.0.ppc64.xml index df7a06c690..d77e88ab24 100644 --- a/tests/domaincapsdata/qemu_4.2.0.ppc64.xml +++ b/tests/domaincapsdata/qemu_4.2.0.ppc64.xml @@ -107,6 +107,7 @@ <gic supported='no'/> <vmcoreinfo supported='no'/> <genid supported='no'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_4.2.0.x86_64.xml b/tests/domaincapsdata/qemu_4.2.0.x86_64.xml index 7938433ed9..4df4667464 100644 --- a/tests/domaincapsdata/qemu_4.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_4.2.0.x86_64.xml @@ -173,6 +173,7 @@ <gic supported='no'/> <vmcoreinfo supported='yes'/> <genid supported='yes'/> + <backingStoreInput supported='no'/> <sev supported='no'/> </features> </domainCapabilities> -- 2.23.0

On 11/18/19 12:02 PM, Peter Krempa wrote:
Historically we've only supported the <backingStore> as an output-only element for domain disks. The documentation states that it may become supported on input. To allow management apps detectin once that happens add a domain capability which will be asserted if the hypervisor driver will be able to obey the <backingStore> as configured on input.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- docs/formatdomaincaps.html.in | 7 +++++++ docs/schemas/domaincaps.rng | 9 +++++++++ src/conf/domain_capabilities.c | 1 + src/conf/domain_capabilities.h | 1 + tests/domaincapsdata/libxl-xenfv.xml | 1 + tests/domaincapsdata/libxl-xenpv.xml | 1 +
Now that I look closer, this patch illustrates one of the issues with the pattern of virDomainCapsFeaturesInitUnsupported : that function is used in the bhyve driver, but this patch doesn't update the bhyve test suite domcaps output. devs can't add a new domcaps feature without having to regenerate test output for every driver, which is a pain and easy to overlook. Thanks, Cole

On Mon, Nov 18, 2019 at 14:54:50 -0500, Cole Robinson wrote:
On 11/18/19 12:02 PM, Peter Krempa wrote:
Historically we've only supported the <backingStore> as an output-only element for domain disks. The documentation states that it may become supported on input. To allow management apps detectin once that happens add a domain capability which will be asserted if the hypervisor driver will be able to obey the <backingStore> as configured on input.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- docs/formatdomaincaps.html.in | 7 +++++++ docs/schemas/domaincaps.rng | 9 +++++++++ src/conf/domain_capabilities.c | 1 + src/conf/domain_capabilities.h | 1 + tests/domaincapsdata/libxl-xenfv.xml | 1 + tests/domaincapsdata/libxl-xenpv.xml | 1 +
Now that I look closer, this patch illustrates one of the issues with the pattern of virDomainCapsFeaturesInitUnsupported : that function is used in the bhyve driver, but this patch doesn't update the bhyve test suite domcaps output. devs can't add a new domcaps feature without having to regenerate test output for every driver, which is a pain and easy to overlook.
It illustrates my counter-point nicely too. I'd not bother to turn off the capability in bhyve despite it being unsupported. Now at least the tests caught it.

On Mon, Nov 18, 2019 at 06:02:01PM +0100, Peter Krempa wrote:
Historically we've only supported the <backingStore> as an output-only element for domain disks. The documentation states that it may become supported on input. To allow management apps detectin once that happens
s/detectin/to detect/
add a domain capability which will be asserted if the hypervisor driver will be able to obey the <backingStore> as configured on input.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- docs/formatdomaincaps.html.in | 7 +++++++ docs/schemas/domaincaps.rng | 9 +++++++++ src/conf/domain_capabilities.c | 1 + src/conf/domain_capabilities.h | 1 + tests/domaincapsdata/libxl-xenfv.xml | 1 + tests/domaincapsdata/libxl-xenpv.xml | 1 + tests/domaincapsdata/qemu_1.5.3-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_1.5.3-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_1.5.3.x86_64.xml | 1 + tests/domaincapsdata/qemu_1.6.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_1.6.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_1.6.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_1.7.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_1.7.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_1.7.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.1.1-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.1.1-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.1.1.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.10.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.10.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.10.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_2.10.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_2.10.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_2.10.0.s390x.xml | 1 + tests/domaincapsdata/qemu_2.10.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.11.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.11.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.11.0.s390x.xml | 1 + tests/domaincapsdata/qemu_2.11.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.12.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.12.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.12.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_2.12.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_2.12.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_2.12.0.s390x.xml | 1 + tests/domaincapsdata/qemu_2.12.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.4.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.4.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.4.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.5.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.5.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.5.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.6.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.6.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.6.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_2.6.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_2.6.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_2.6.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.7.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.7.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.7.0.s390x.xml | 1 + tests/domaincapsdata/qemu_2.7.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.8.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.8.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.8.0.s390x.xml | 1 + tests/domaincapsdata/qemu_2.8.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.9.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.9.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.9.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_2.9.0.s390x.xml | 1 + tests/domaincapsdata/qemu_2.9.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_3.0.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_3.0.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_3.0.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_3.0.0.s390x.xml | 1 + tests/domaincapsdata/qemu_3.0.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_3.1.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_3.1.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_3.1.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_3.1.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_4.0.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_4.0.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_4.0.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_4.0.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_4.0.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_4.0.0.s390x.xml | 1 + tests/domaincapsdata/qemu_4.0.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_4.1.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_4.1.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_4.1.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_4.2.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_4.2.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_4.2.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_4.2.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_4.2.0.x86_64.xml | 1 + 86 files changed, 100 insertions(+)
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
@@ -552,6 +553,12 @@
<p>Reports whether the genid feature can be used by the domain.</p>
+ <h4><a id="featureBackingStoreInput">backingStoreInput</a></h4> + + <p>Reports whether the hypervisor will obey the <backingStore> + elements configured for a <disk> on input during startup of the domain. + </p>
"during startup of the domain" looks suspect to me. Do we not obey backing store any time we process the XML, even for a inactive guest, or when hotplugging into a running guest ? For the actual change though Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|

On Thu, Nov 21, 2019 at 18:19:55 +0000, Daniel Berrange wrote:
On Mon, Nov 18, 2019 at 06:02:01PM +0100, Peter Krempa wrote:
Historically we've only supported the <backingStore> as an output-only element for domain disks. The documentation states that it may become supported on input. To allow management apps detectin once that happens
s/detectin/to detect/
add a domain capability which will be asserted if the hypervisor driver will be able to obey the <backingStore> as configured on input.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- docs/formatdomaincaps.html.in | 7 +++++++ docs/schemas/domaincaps.rng | 9 +++++++++ src/conf/domain_capabilities.c | 1 + src/conf/domain_capabilities.h | 1 + tests/domaincapsdata/libxl-xenfv.xml | 1 + tests/domaincapsdata/libxl-xenpv.xml | 1 + tests/domaincapsdata/qemu_1.5.3-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_1.5.3-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_1.5.3.x86_64.xml | 1 + tests/domaincapsdata/qemu_1.6.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_1.6.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_1.6.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_1.7.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_1.7.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_1.7.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.1.1-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.1.1-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.1.1.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.10.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.10.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.10.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_2.10.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_2.10.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_2.10.0.s390x.xml | 1 + tests/domaincapsdata/qemu_2.10.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.11.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.11.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.11.0.s390x.xml | 1 + tests/domaincapsdata/qemu_2.11.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.12.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.12.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.12.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_2.12.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_2.12.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_2.12.0.s390x.xml | 1 + tests/domaincapsdata/qemu_2.12.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.4.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.4.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.4.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.5.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.5.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.5.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.6.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.6.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.6.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_2.6.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_2.6.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_2.6.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.7.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.7.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.7.0.s390x.xml | 1 + tests/domaincapsdata/qemu_2.7.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.8.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.8.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.8.0.s390x.xml | 1 + tests/domaincapsdata/qemu_2.8.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.9.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.9.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.9.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_2.9.0.s390x.xml | 1 + tests/domaincapsdata/qemu_2.9.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_3.0.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_3.0.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_3.0.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_3.0.0.s390x.xml | 1 + tests/domaincapsdata/qemu_3.0.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_3.1.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_3.1.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_3.1.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_3.1.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_4.0.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_4.0.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_4.0.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_4.0.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_4.0.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_4.0.0.s390x.xml | 1 + tests/domaincapsdata/qemu_4.0.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_4.1.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_4.1.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_4.1.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_4.2.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_4.2.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_4.2.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_4.2.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_4.2.0.x86_64.xml | 1 + 86 files changed, 100 insertions(+)
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
@@ -552,6 +553,12 @@
<p>Reports whether the genid feature can be used by the domain.</p>
+ <h4><a id="featureBackingStoreInput">backingStoreInput</a></h4> + + <p>Reports whether the hypervisor will obey the <backingStore> + elements configured for a <disk> on input during startup of the domain. + </p>
"during startup of the domain" looks suspect to me. Do we not obey backing store any time we process the XML, even for a inactive guest, or when hotplugging into a running guest ?
I wanted to somehow mention that while the XML may have the elements stored they are ignored (or not if the feature is available) when we process the definition. Yet the elements are still there so the 'on input' wording which we use in the domain definition also seemed a bit fishy though. I can drop the 'during the startup' part so that it's at least the same between the two docs sections, but I don't have a better suggestion how to word it.
For the actual change though
After an recent patch this patch doesn't change the domain caps data any more, but those are changed in the later patch that implements the flag in the qemu driver. That change should be straightforward/trivial enough though so I'll retain the r-b if you don't object.
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
-- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list

On Fri, Nov 22, 2019 at 10:18:02AM +0100, Peter Krempa wrote:
On Thu, Nov 21, 2019 at 18:19:55 +0000, Daniel Berrange wrote:
On Mon, Nov 18, 2019 at 06:02:01PM +0100, Peter Krempa wrote:
Historically we've only supported the <backingStore> as an output-only element for domain disks. The documentation states that it may become supported on input. To allow management apps detectin once that happens
s/detectin/to detect/
add a domain capability which will be asserted if the hypervisor driver will be able to obey the <backingStore> as configured on input.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- docs/formatdomaincaps.html.in | 7 +++++++ docs/schemas/domaincaps.rng | 9 +++++++++ src/conf/domain_capabilities.c | 1 + src/conf/domain_capabilities.h | 1 + tests/domaincapsdata/libxl-xenfv.xml | 1 + tests/domaincapsdata/libxl-xenpv.xml | 1 + tests/domaincapsdata/qemu_1.5.3-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_1.5.3-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_1.5.3.x86_64.xml | 1 + tests/domaincapsdata/qemu_1.6.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_1.6.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_1.6.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_1.7.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_1.7.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_1.7.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.1.1-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.1.1-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.1.1.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.10.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.10.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.10.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_2.10.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_2.10.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_2.10.0.s390x.xml | 1 + tests/domaincapsdata/qemu_2.10.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.11.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.11.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.11.0.s390x.xml | 1 + tests/domaincapsdata/qemu_2.11.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.12.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.12.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.12.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_2.12.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_2.12.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_2.12.0.s390x.xml | 1 + tests/domaincapsdata/qemu_2.12.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.4.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.4.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.4.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.5.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.5.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.5.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.6.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.6.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.6.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_2.6.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_2.6.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_2.6.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.7.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.7.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.7.0.s390x.xml | 1 + tests/domaincapsdata/qemu_2.7.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.8.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.8.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.8.0.s390x.xml | 1 + tests/domaincapsdata/qemu_2.8.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.9.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.9.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_2.9.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_2.9.0.s390x.xml | 1 + tests/domaincapsdata/qemu_2.9.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_3.0.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_3.0.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_3.0.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_3.0.0.s390x.xml | 1 + tests/domaincapsdata/qemu_3.0.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_3.1.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_3.1.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_3.1.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_3.1.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_4.0.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_4.0.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_4.0.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_4.0.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_4.0.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_4.0.0.s390x.xml | 1 + tests/domaincapsdata/qemu_4.0.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_4.1.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_4.1.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_4.1.0.x86_64.xml | 1 + tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml | 1 + tests/domaincapsdata/qemu_4.2.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_4.2.0-virt.aarch64.xml | 1 + tests/domaincapsdata/qemu_4.2.0.aarch64.xml | 1 + tests/domaincapsdata/qemu_4.2.0.ppc64.xml | 1 + tests/domaincapsdata/qemu_4.2.0.x86_64.xml | 1 + 86 files changed, 100 insertions(+)
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
@@ -552,6 +553,12 @@
<p>Reports whether the genid feature can be used by the domain.</p>
+ <h4><a id="featureBackingStoreInput">backingStoreInput</a></h4> + + <p>Reports whether the hypervisor will obey the <backingStore> + elements configured for a <disk> on input during startup of the domain. + </p>
"during startup of the domain" looks suspect to me. Do we not obey backing store any time we process the XML, even for a inactive guest, or when hotplugging into a running guest ?
I wanted to somehow mention that while the XML may have the elements stored they are ignored (or not if the feature is available) when we process the definition. Yet the elements are still there so the 'on input' wording which we use in the domain definition also seemed a bit fishy though.
Ah I see, so perhaps "will obey the <backingStore> elements configured for a <disk> when booting the guest, or hotplugging the disk to a running guest" is ok. Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|

Until now we've only supported <backingStore> in an output mode. The documentation for the element states that hypervisor drivers may start to obey it in the future. Update the documentation so that it mentions the recently added 'backingStoreInput' domain capability and explain what happens if it is supported and <backingStore> is present on input. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- docs/formatdomain.html.in | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in index a1042a314c..6df4a8b26e 100644 --- a/docs/formatdomain.html.in +++ b/docs/formatdomain.html.in @@ -3340,15 +3340,26 @@ <dt><code>backingStore</code></dt> <dd> This element describes the backing store used by the disk - specified by sibling <code>source</code> element. It is - currently ignored on input and only used for output to - describe the detected backing chains of running - domains <span class="since">since 1.2.4</span> (although a - future version of libvirt may start accepting chains on input, - or output information for offline domains). An - empty <code>backingStore</code> element means the sibling - source is self-contained and is not based on any backing - store. For backing chain information to be accurate, the + specified by sibling <code>source</code> element. + <span class="since">Since 1.2.4.</span> + + If the hypervisor driver does not support the + <a href='formatdomaincaps.html#featureBackingStoreInput'> + <code>backingStoreInput</code></a> + (<span class='since'>Since 5.10.0</span>) + domain feature the <code>backingStore</code> is ignored on + input and only used for output to describe the detected + backing chains of running domains. + + If <code>backingStoreInput</code> is supported + the <code>backingStore</code> is used as the backing image of + <code>source</code> or other <code>backingStore</code> overriding + any backing image information recorded in the image metadata. + + An empty <code>backingStore</code> element means the sibling + source is self-contained and is not based on any backing store. + + For the detected backing chain information to be accurate, the backing format must be correctly specified in the metadata of each file of the chain (files created by libvirt satisfy this property, but using existing external files for snapshot or -- 2.23.0

On Mon, Nov 18, 2019 at 06:02:02PM +0100, Peter Krempa wrote:
Until now we've only supported <backingStore> in an output mode. The documentation for the element states that hypervisor drivers may start to obey it in the future.
Update the documentation so that it mentions the recently added 'backingStoreInput' domain capability and explain what happens if it is supported and <backingStore> is present on input.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- docs/formatdomain.html.in | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-)
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|

The qemu driver will obey <backingStore> when we support blockdev. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_capabilities.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 7c30768379..a057318432 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -5294,6 +5294,7 @@ static const struct virQEMUCapsDomainFeatureCapabilityTuple domCapsTuples[] = { { VIR_DOMAIN_CAPS_FEATURE_IOTHREADS, QEMU_CAPS_OBJECT_IOTHREAD }, { VIR_DOMAIN_CAPS_FEATURE_VMCOREINFO, QEMU_CAPS_DEVICE_VMCOREINFO }, { VIR_DOMAIN_CAPS_FEATURE_GENID, QEMU_CAPS_DEVICE_VMGENID }, + { VIR_DOMAIN_CAPS_FEATURE_BACKING_STORE_INPUT, QEMU_CAPS_BLOCKDEV }, }; -- 2.23.0

On Mon, Nov 18, 2019 at 06:02:03PM +0100, Peter Krempa wrote:
The qemu driver will obey <backingStore> when we support blockdev.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_capabilities.c | 1 + 1 file changed, 1 insertion(+)
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|

The data is captured from qemu v4.2.0-rc0-27-g039e285e09 Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- .../caps_4.2.0.x86_64.replies | 3907 +++++++++++------ .../caps_4.2.0.x86_64.xml | 250 +- 2 files changed, 2834 insertions(+), 1323 deletions(-) diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.replies index 638f364159..c113c32701 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.replies +++ b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.replies @@ -17,11 +17,11 @@ { "return": { "qemu": { - "micro": 50, + "micro": 90, "minor": 1, "major": 4 }, - "package": "v4.1.0-1138-geb13d1cf4a" + "package": "v4.2.0-rc0-27-g039e285e09" }, "id": "libvirt-2" } @@ -634,6 +634,10 @@ "name": "Westmere-IBRS-x86_64-cpu", "parent": "x86_64-cpu" }, + { + "name": "vhost-user-input-pci", + "parent": "vhost-user-input-pci-base-type" + }, { "name": "floppy-bus", "parent": "bus" @@ -651,8 +655,8 @@ "parent": "usb-device" }, { - "name": "vhost-user-input-pci", - "parent": "vhost-user-input-pci-base-type" + "name": "Denverton-x86_64-cpu", + "parent": "x86_64-cpu" }, { "name": "virtio-rng-device", @@ -746,6 +750,10 @@ "name": "kvm-ioapic", "parent": "ioapic-common" }, + { + "name": "virtio-mmio-bus", + "parent": "virtio-bus" + }, { "name": "ich9-usb-uhci4", "parent": "pci-uhci-usb" @@ -866,6 +874,10 @@ "name": "usb-host", "parent": "usb-device" }, + { + "name": "tulip", + "parent": "pci-device" + }, { "name": "piix3-ide", "parent": "pci-ide" @@ -914,13 +926,17 @@ "name": "pc-i440fx-2.3-machine", "parent": "generic-pc-machine" }, + { + "name": "sdhci-bus", + "parent": "sd-bus" + }, { "name": "PCI", "parent": "bus" }, { - "name": "sdhci-bus", - "parent": "sd-bus" + "name": "microvm-machine", + "parent": "x86-machine" }, { "name": "ICH9-LPC", @@ -1202,14 +1218,14 @@ "name": "virtio-blk-pci-non-transitional", "parent": "virtio-blk-pci-base" }, - { - "name": "IvyBridge-v2-x86_64-cpu", - "parent": "x86_64-cpu" - }, { "name": "ne2k_pci", "parent": "pci-device" }, + { + "name": "IvyBridge-v2-x86_64-cpu", + "parent": "x86_64-cpu" + }, { "name": "usb-bus", "parent": "bus" @@ -1270,14 +1286,14 @@ "name": "SandyBridge-x86_64-cpu", "parent": "x86_64-cpu" }, - { - "name": "vmxnet3", - "parent": "pci-device" - }, { "name": "piix4-ide", "parent": "pci-ide" }, + { + "name": "vmxnet3", + "parent": "pci-device" + }, { "name": "vhost-user-backend", "parent": "object" @@ -1507,12 +1523,12 @@ "parent": "x86_64-cpu" }, { - "name": "pc-i440fx-3.1-machine", - "parent": "generic-pc-machine" + "name": "vhost-user-fs-device", + "parent": "virtio-device" }, { - "name": "fdc37m81x-superio", - "parent": "isa-superio" + "name": "pc-i440fx-3.1-machine", + "parent": "generic-pc-machine" }, { "name": "pci-serial-4x", @@ -1675,13 +1691,17 @@ "parent": "x86_64-cpu" }, { - "name": "kvaser_pci", - "parent": "pci-device" + "name": "Snowridge-v2-x86_64-cpu", + "parent": "x86_64-cpu" }, { "name": "vhost-user-scsi-pci", "parent": "vhost-user-scsi-pci-base" }, + { + "name": "kvaser_pci", + "parent": "pci-device" + }, { "name": "i82559a", "parent": "pci-device" @@ -1926,6 +1946,10 @@ "name": "hyperv-testdev", "parent": "isa-device" }, + { + "name": "s3c-sdhci", + "parent": "generic-sdhci" + }, { "name": "tpm-tis", "parent": "isa-device" @@ -2098,6 +2122,10 @@ "name": "colo-compare", "parent": "object" }, + { + "name": "virtio-mmio", + "parent": "sys-bus-device" + }, { "name": "pxb-bus", "parent": "PCI" @@ -2282,6 +2310,10 @@ "name": "vhost-scsi-pci-non-transitional", "parent": "vhost-scsi-pci-base" }, + { + "name": "Denverton-v1-x86_64-cpu", + "parent": "x86_64-cpu" + }, { "name": "piix3-usb-uhci", "parent": "pci-uhci-usb" @@ -2466,6 +2498,14 @@ "name": "Opteron_G4-x86_64-cpu", "parent": "x86_64-cpu" }, + { + "name": "mptsas1068", + "parent": "pci-device" + }, + { + "name": "vhost-user-fs-pci", + "parent": "vhost-user-fs-pci-base" + }, { "name": "sb16", "parent": "isa-device" @@ -2506,10 +2546,6 @@ "name": "pc-q35-4.2-machine", "parent": "generic-pc-machine" }, - { - "name": "mptsas1068", - "parent": "pci-device" - }, { "name": "pci-bridge-seat", "parent": "pci-bridge" @@ -2677,227 +2713,252 @@ { "return": [ { - "name": "iothread", - "type": "link<iothread>" + "name": "failover_pair_id", + "type": "str" }, { - "name": "notify_on_empty", + "name": "discard", "description": "on/off", "type": "bool" }, { - "name": "num-queues", - "type": "uint16" + "name": "x-pcie-flr-init", + "description": "on/off", + "type": "bool" }, { - "name": "share-rw", + "name": "x-pcie-lnksta-dllla", + "description": "on/off", "type": "bool" }, { - "name": "queue-size", - "type": "uint16" + "name": "virtio-backend", + "type": "child<virtio-blk-device>" }, { - "name": "iommu_platform", - "description": "on/off", - "type": "bool" + "name": "max-write-zeroes-sectors", + "type": "uint32" }, { - "name": "werror", + "name": "rerror", "description": "Error handling policy, report/ignore/enospc/stop/auto", "type": "BlockdevOnError" }, { - "name": "secs", - "type": "uint32" + "name": "request-merging", + "description": "on/off", + "type": "bool" }, { - "name": "bootindex", - "type": "int32" + "name": "virtio-pci-bus-master-bug-migration", + "description": "on/off", + "type": "bool" }, { - "name": "serial", + "name": "romfile", "type": "str" }, { - "name": "x-ignore-backend-features", + "name": "event_idx", + "description": "on/off", "type": "bool" }, { - "name": "rerror", - "description": "Error handling policy, report/ignore/enospc/stop/auto", - "type": "BlockdevOnError" - }, - { - "name": "cyls", - "type": "uint32" + "name": "config-wce", + "description": "on/off", + "type": "bool" }, { - "name": "heads", - "type": "uint32" + "name": "ioeventfd", + "description": "on/off", + "type": "bool" }, { - "name": "any_layout", + "name": "page-per-vq", "description": "on/off", "type": "bool" }, { - "name": "virtio-backend", - "type": "child<virtio-blk-device>" + "name": "x-disable-pcie", + "description": "on/off", + "type": "bool" }, { - "name": "min_io_size", - "type": "uint16" + "name": "modern-pio-notify", + "description": "on/off", + "type": "bool" }, { - "name": "config-wce", + "name": "notify_on_empty", "description": "on/off", "type": "bool" }, { - "name": "multifunction", + "name": "x-pcie-extcap-init", "description": "on/off", "type": "bool" }, { - "name": "use-started", - "type": "bool" + "name": "opt_io_size", + "type": "uint32" }, { - "name": "drive", - "description": "Node name or ID of a block device to use as a backend", - "type": "str" + "name": "bootindex", + "type": "int32" }, { - "name": "page-per-vq", + "name": "x-pcie-pm-init", "description": "on/off", "type": "bool" }, { - "name": "vectors", - "type": "uint32" + "name": "migrate-extra", + "description": "on/off", + "type": "bool" }, { - "name": "x-pcie-deverr-init", - "description": "on/off", + "name": "use-started", "type": "bool" }, { - "name": "disable-legacy", - "description": "on/off/auto", - "type": "OnOffAuto" + "name": "min_io_size", + "type": "uint16" }, { - "name": "write-cache", - "description": "on/off/auto", - "type": "OnOffAuto" + "name": "ats", + "description": "on/off", + "type": "bool" }, { - "name": "x-pcie-pm-init", + "name": "scsi", "description": "on/off", "type": "bool" }, { - "name": "physical_block_size", - "description": "A power of two between 512 and 32768", + "name": "queue-size", "type": "uint16" }, { - "name": "max-write-zeroes-sectors", - "type": "uint32" + "name": "drive", + "description": "Node name or ID of a block device to use as a backend", + "type": "str" }, { - "name": "ioeventfd", + "name": "iommu_platform", "description": "on/off", "type": "bool" }, { - "name": "scsi", - "description": "on/off", - "type": "bool" + "name": "disable-legacy", + "description": "on/off/auto", + "type": "OnOffAuto" }, { - "name": "opt_io_size", + "name": "heads", "type": "uint32" }, { - "name": "x-pcie-lnksta-dllla", + "name": "vectors", + "type": "uint32" + }, + { + "name": "indirect_desc", "description": "on/off", "type": "bool" }, { - "name": "ats", + "name": "packed", "description": "on/off", "type": "bool" }, { - "name": "logical_block_size", + "name": "physical_block_size", "description": "A power of two between 512 and 32768", "type": "uint16" }, { - "name": "x-disable-pcie", + "name": "any_layout", "description": "on/off", "type": "bool" }, { - "name": "x-pcie-flr-init", - "description": "on/off", - "type": "bool" + "name": "discard_granularity", + "type": "uint32" }, { - "name": "write-zeroes", - "description": "on/off", + "name": "werror", + "description": "Error handling policy, report/ignore/enospc/stop/auto", + "type": "BlockdevOnError" + }, + { + "name": "x-ignore-backend-features", "type": "bool" }, { - "name": "max-discard-sectors", + "name": "secs", "type": "uint32" }, { - "name": "discard", - "description": "on/off", + "name": "lsecs", + "type": "uint32" + }, + { + "name": "share-rw", "type": "bool" }, { - "name": "x-pcie-extcap-init", + "name": "write-cache", + "description": "on/off/auto", + "type": "OnOffAuto" + }, + { + "name": "x-pcie-deverr-init", "description": "on/off", "type": "bool" }, { - "name": "request-merging", + "name": "write-zeroes", "description": "on/off", "type": "bool" }, { - "name": "discard_granularity", + "name": "max-discard-sectors", "type": "uint32" }, { - "name": "addr", - "description": "Slot and optional function number, example: 06.0 or 06", - "type": "int32" + "name": "logical_block_size", + "description": "A power of two between 512 and 32768", + "type": "uint16" }, { - "name": "x-pcie-lnkctl-init", + "name": "command_serr_enable", "description": "on/off", "type": "bool" }, { - "name": "romfile", + "name": "disable-modern", + "type": "bool" + }, + { + "name": "serial", "type": "str" }, { - "name": "rombar", + "name": "iothread", + "type": "link<iothread>" + }, + { + "name": "lheads", "type": "uint32" }, { - "name": "event_idx", + "name": "multifunction", "description": "on/off", "type": "bool" }, { - "name": "disable-modern", + "name": "x-pcie-lnkctl-init", + "description": "on/off", "type": "bool" }, { @@ -2905,29 +2966,25 @@ "type": "uint32" }, { - "name": "migrate-extra", - "description": "on/off", - "type": "bool" + "name": "num-queues", + "type": "uint16" }, { - "name": "virtio-pci-bus-master-bug-migration", - "description": "on/off", - "type": "bool" + "name": "rombar", + "type": "uint32" }, { - "name": "modern-pio-notify", - "description": "on/off", - "type": "bool" + "name": "cyls", + "type": "uint32" }, { - "name": "indirect_desc", - "description": "on/off", - "type": "bool" + "name": "lcyls", + "type": "uint32" }, { - "name": "command_serr_enable", - "description": "on/off", - "type": "bool" + "name": "addr", + "description": "Slot and optional function number, example: 06.0 or 06", + "type": "int32" } ], "id": "libvirt-7" @@ -2943,6 +3000,10 @@ { "return": [ + { + "name": "failover_pair_id", + "type": "str" + }, { "name": "ctrl_vlan", "description": "on/off", @@ -3033,28 +3094,28 @@ "description": "on/off", "type": "bool" }, - { - "name": "netdev", - "description": "ID of a netdev to use as a backend", - "type": "str" - }, { "name": "x-disable-pcie", "description": "on/off", "type": "bool" }, + { + "name": "netdev", + "description": "ID of a netdev to use as a backend", + "type": "str" + }, { "name": "modern-pio-notify", "description": "on/off", "type": "bool" }, { - "name": "x-pcie-extcap-init", + "name": "guest_csum", "description": "on/off", "type": "bool" }, { - "name": "guest_csum", + "name": "x-pcie-extcap-init", "description": "on/off", "type": "bool" }, @@ -3124,6 +3185,11 @@ "description": "on/off", "type": "bool" }, + { + "name": "packed", + "description": "on/off", + "type": "bool" + }, { "name": "any_layout", "description": "on/off", @@ -3133,6 +3199,10 @@ "name": "rx_queue_size", "type": "uint16" }, + { + "name": "failover", + "type": "bool" + }, { "name": "tx_queue_size", "type": "uint16" @@ -3203,12 +3273,12 @@ "type": "str" }, { - "name": "multifunction", + "name": "guest_rsc_ext", "description": "on/off", "type": "bool" }, { - "name": "guest_rsc_ext", + "name": "multifunction", "description": "on/off", "type": "bool" }, @@ -3264,6 +3334,10 @@ "description": "on/off", "type": "bool" }, + { + "name": "use-started", + "type": "bool" + }, { "name": "iothread", "type": "link<iothread>" @@ -3286,7 +3360,8 @@ "type": "child<virtio-scsi-device>" }, { - "name": "use-started", + "name": "packed", + "description": "on/off", "type": "bool" }, { @@ -3341,6 +3416,10 @@ "description": "on/off", "type": "bool" }, + { + "name": "failover_pair_id", + "type": "str" + }, { "name": "ats", "description": "on/off", @@ -3370,16 +3449,16 @@ "name": "cmd_per_lun", "type": "uint32" }, - { - "name": "addr", - "description": "Slot and optional function number, example: 06.0 or 06", - "type": "int32" - }, { "name": "x-pcie-extcap-init", "description": "on/off", "type": "bool" }, + { + "name": "addr", + "description": "Slot and optional function number, example: 06.0 or 06", + "type": "int32" + }, { "name": "x-pcie-lnkctl-init", "description": "on/off", @@ -3566,6 +3645,10 @@ "name": "x-igd-gms", "type": "uint32" }, + { + "name": "failover_pair_id", + "type": "str" + }, { "name": "x-pcie-lnksta-dllla", "description": "on/off", @@ -3643,6 +3726,14 @@ { "return": [ + { + "name": "lheads", + "type": "uint32" + }, + { + "name": "ver", + "type": "str" + }, { "name": "scsi-id", "type": "uint32" @@ -3652,8 +3743,12 @@ "type": "bool" }, { - "name": "ver", - "type": "str" + "name": "lcyls", + "type": "uint32" + }, + { + "name": "lsecs", + "type": "uint32" }, { "name": "scsi_version", @@ -3789,6 +3884,10 @@ { "return": [ + { + "name": "lsecs", + "type": "uint32" + }, { "name": "bootindex", "type": "int32" @@ -3797,6 +3896,10 @@ "name": "model", "type": "str" }, + { + "name": "lheads", + "type": "uint32" + }, { "name": "drive", "description": "Node name or ID of a block device to use as a backend", @@ -3836,6 +3939,11 @@ "name": "heads", "type": "uint32" }, + { + "name": "bios-chs-trans", + "description": "Logical CHS translation algorithm, auto/none/lba/large/rechs", + "type": "BiosAtaTranslation" + }, { "name": "unit", "type": "uint32" @@ -3845,9 +3953,8 @@ "type": "uint32" }, { - "name": "bios-chs-trans", - "description": "Logical CHS translation algorithm, auto/none/lba/large/rechs", - "type": "BiosAtaTranslation" + "name": "lcyls", + "type": "uint32" }, { "name": "opt_io_size", @@ -3946,6 +4053,10 @@ "name": "rombar", "type": "uint32" }, + { + "name": "failover_pair_id", + "type": "str" + }, { "name": "multifunction", "description": "on/off", @@ -4347,6 +4458,10 @@ "description": "on/off", "type": "bool" }, + { + "name": "failover_pair_id", + "type": "str" + }, { "name": "xres", "type": "uint32" @@ -4374,6 +4489,10 @@ "name": "global-vmstate", "type": "bool" }, + { + "name": "failover_pair_id", + "type": "str" + }, { "name": "vgamem_mb", "type": "uint32" @@ -4493,6 +4612,10 @@ "name": "vram_size_mb", "type": "uint32" }, + { + "name": "failover_pair_id", + "type": "str" + }, { "name": "romfile", "type": "str" @@ -4532,24 +4655,34 @@ "description": "on/off", "type": "bool" }, + { + "name": "use-started", + "type": "bool" + }, { "name": "x-ignore-backend-features", "type": "bool" }, { - "name": "max_outputs", + "name": "xres", "type": "uint32" }, { - "name": "xres", + "name": "max_outputs", "type": "uint32" }, + { + "name": "packed", + "description": "on/off", + "type": "bool" + }, { "name": "virtio-backend", "type": "child<virtio-gpu-device>" }, { - "name": "use-started", + "name": "iommu_platform", + "description": "on/off", "type": "bool" }, { @@ -4582,7 +4715,7 @@ "type": "bool" }, { - "name": "iommu_platform", + "name": "stats", "description": "on/off", "type": "bool" }, @@ -4597,9 +4730,8 @@ "type": "bool" }, { - "name": "stats", - "description": "on/off", - "type": "bool" + "name": "failover_pair_id", + "type": "str" }, { "name": "ats", @@ -4757,6 +4889,11 @@ "name": "use-started", "type": "bool" }, + { + "name": "packed", + "description": "on/off", + "type": "bool" + }, { "name": "virgl", "description": "on/off", @@ -4792,6 +4929,10 @@ "name": "noreboot", "type": "bool" }, + { + "name": "disable_s3", + "type": "uint8" + }, { "name": "addr", "description": "Slot and optional function number, example: 06.0 or 06", @@ -4802,8 +4943,8 @@ "type": "uint8" }, { - "name": "disable_s3", - "type": "uint8" + "name": "gpe0_blk_len", + "type": "uint32" }, { "name": "disable_s4", @@ -4827,7 +4968,7 @@ "type": "bool" }, { - "name": "gpe0_blk_len", + "name": "gpe0_blk", "type": "uint32" }, { @@ -4841,8 +4982,8 @@ "type": "bool" }, { - "name": "gpe0_blk", - "type": "uint32" + "name": "acpi_disable_cmd", + "type": "uint8" }, { "name": "enable_tco", @@ -4862,8 +5003,8 @@ "type": "uint32" }, { - "name": "acpi_disable_cmd", - "type": "uint8" + "name": "failover_pair_id", + "type": "str" }, { "name": "multifunction", @@ -4909,6 +5050,11 @@ "name": "virtio-backend", "type": "child<virtio-balloon-device>" }, + { + "name": "packed", + "description": "on/off", + "type": "bool" + }, { "name": "guest-stats-polling-interval", "type": "int" @@ -4961,6 +5107,10 @@ "description": "on/off", "type": "bool" }, + { + "name": "failover_pair_id", + "type": "str" + }, { "name": "free-page-hint", "description": "on/off", @@ -4986,16 +5136,16 @@ "description": "on/off", "type": "bool" }, - { - "name": "addr", - "description": "Slot and optional function number, example: 06.0 or 06", - "type": "int32" - }, { "name": "x-pcie-extcap-init", "description": "on/off", "type": "bool" }, + { + "name": "addr", + "description": "Slot and optional function number, example: 06.0 or 06", + "type": "int32" + }, { "name": "x-pcie-lnkctl-init", "description": "on/off", @@ -5119,6 +5269,11 @@ "name": "iothread", "type": "link<iothread>" }, + { + "name": "packed", + "description": "on/off", + "type": "bool" + }, { "name": "qemu-4-0-config-size", "type": "bool" @@ -5203,6 +5358,10 @@ "name": "romfile", "type": "str" }, + { + "name": "failover_pair_id", + "type": "str" + }, { "name": "rombar", "type": "uint32" @@ -5290,6 +5449,10 @@ { "return": [ + { + "name": "failover_pair_id", + "type": "str" + }, { "name": "x-pcie-lnksta-dllla", "description": "on/off", @@ -5536,6 +5699,10 @@ "name": "sse4_1", "type": "bool" }, + { + "name": "vmx-invept-single-context", + "type": "bool" + }, { "name": "core-capability", "type": "bool" @@ -5556,6 +5723,10 @@ "name": "min-xlevel2", "type": "uint32" }, + { + "name": "vmx-invvpid-single-addr", + "type": "bool" + }, { "name": "xstore", "type": "bool" @@ -5564,6 +5735,10 @@ "name": "stepping", "type": "int" }, + { + "name": "vmx-vmfunc", + "type": "bool" + }, { "name": "pse36", "type": "bool" @@ -5604,10 +5779,18 @@ "name": "vmware-cpuid-freq", "type": "bool" }, + { + "name": "vmx-store-lma", + "type": "bool" + }, { "name": "hv-spinlocks", "type": "uint32" }, + { + "name": "vmx-eptad", + "type": "bool" + }, { "name": "erms", "type": "bool" @@ -5616,6 +5799,14 @@ "name": "vaes", "type": "bool" }, + { + "name": "vmx-flexpriority", + "type": "bool" + }, + { + "name": "vmx-activity-wait-sipi", + "type": "bool" + }, { "name": "realized", "type": "bool" @@ -5629,6 +5820,18 @@ "name": "rdrand", "type": "bool" }, + { + "name": "vmx-ept-advanced-exitinfo", + "type": "bool" + }, + { + "name": "vmx-pause-exit", + "type": "bool" + }, + { + "name": "vmx-shadow-vmcs", + "type": "bool" + }, { "name": "avx512-vpopcntdq", "type": "bool" @@ -5645,6 +5848,10 @@ "name": "tbm", "type": "bool" }, + { + "name": "vmx-monitor-exit", + "type": "bool" + }, { "name": "movdiri", "type": "bool" @@ -5669,13 +5876,17 @@ "name": "pae", "type": "bool" }, + { + "name": "hv-runtime", + "description": "on/off", + "type": "bool" + }, { "name": "ssse3", "type": "bool" }, { - "name": "hv-runtime", - "description": "on/off", + "name": "vmx-unrestricted-guest", "type": "bool" }, { @@ -5714,6 +5925,10 @@ "name": "npt", "type": "bool" }, + { + "name": "vmx-invpcid-exit", + "type": "bool" + }, { "name": "avx512ifma", "type": "bool" @@ -5726,27 +5941,43 @@ "name": "model-id", "type": "string" }, + { + "name": "vmx-vnmi-pending", + "type": "bool" + }, { "name": "hv-evmcs", "description": "on/off", "type": "bool" }, { - "name": "tsc", + "name": "pmm-en", "type": "bool" }, { - "name": "pmm-en", + "name": "vmx-io-exit", + "type": "bool" + }, + { + "name": "tsc", "type": "bool" }, { "name": "x-force-features", "type": "bool" }, + { + "name": "vmx-ins-outs", + "type": "bool" + }, { "name": "dca", "type": "bool" }, + { + "name": "vmx-apicv-x2apic", + "type": "bool" + }, { "name": "ia64", "type": "bool" @@ -5760,6 +5991,14 @@ "description": "on/off", "type": "bool" }, + { + "name": "vmcb_clean", + "type": "bool" + }, + { + "name": "vmx-cr3-load-noexit", + "type": "bool" + }, { "name": "pmu", "type": "bool" @@ -5768,6 +6007,10 @@ "name": "kvmclock", "type": "bool" }, + { + "name": "vmx-entry-noload-debugctl", + "type": "bool" + }, { "name": "invtsc", "type": "bool" @@ -5800,10 +6043,18 @@ "name": "abm", "type": "bool" }, + { + "name": "vmx-activity-shutdown", + "type": "bool" + }, { "name": "kvm-pv-ipi", "type": "bool" }, + { + "name": "vmx-apicv-register", + "type": "bool" + }, { "name": "fxsr-opt", "type": "bool" @@ -5860,6 +6111,10 @@ "name": "mce", "type": "bool" }, + { + "name": "vmx-entry-load-pat", + "type": "bool" + }, { "name": "node-id", "type": "int32" @@ -5868,6 +6123,14 @@ "name": "ibpb", "type": "bool" }, + { + "name": "vmx-apicv-xapic", + "type": "bool" + }, + { + "name": "nrip_save", + "type": "bool" + }, { "name": "cldemote", "type": "bool" @@ -5894,17 +6157,33 @@ "type": "bool" }, { - "name": "nrip_save", + "name": "vmx-hlt-exit", "type": "bool" }, { - "name": "vmcb_clean", + "name": "vmx-desc-exit", + "type": "bool" + }, + { + "name": "vmx-eptp-switching", + "type": "bool" + }, + { + "name": "vmx-entry-load-efer", "type": "bool" }, { "name": "level-func7", "type": "uint32" }, + { + "name": "vmx-invlpg-exit", + "type": "bool" + }, + { + "name": "vmx-exit-save-efer", + "type": "bool" + }, { "name": "die-id", "type": "int32" @@ -5921,12 +6200,16 @@ "name": "kvm-no-smi-migration", "type": "bool" }, + { + "name": "kvm_pv_unhalt", + "type": "bool" + }, { "name": "svm", "type": "bool" }, { - "name": "kvm_pv_unhalt", + "name": "vmx-invvpid", "type": "bool" }, { @@ -5977,6 +6260,14 @@ "name": "pbe", "type": "bool" }, + { + "name": "vmx-entry-ia32e-mode", + "type": "bool" + }, + { + "name": "vmx-rdpmc-exit", + "type": "bool" + }, { "name": "split-lock-detect", "type": "bool" @@ -6005,10 +6296,18 @@ "name": "avx512-bf16", "type": "bool" }, + { + "name": "vmx-rdtscp-exit", + "type": "bool" + }, { "name": "nx", "type": "bool" }, + { + "name": "vmx-invvpid-all-context", + "type": "bool" + }, { "name": "pause-filter", "type": "bool" @@ -6017,18 +6316,54 @@ "name": "ds-cpl", "type": "bool" }, + { + "name": "fxsr_opt", + "type": "bool" + }, + { + "name": "cmp_legacy", + "type": "bool" + }, { "name": "pause_filter", "type": "bool" }, + { + "name": "vmx-vmwrite-vmexit-fields", + "type": "bool" + }, + { + "name": "vmx-ept", + "type": "bool" + }, { "name": "nodeid-msr", "type": "bool" }, + { + "name": "vmx-ept-execonly", + "type": "bool" + }, { "name": "smap", "type": "bool" }, + { + "name": "vmx-io-bitmap", + "type": "bool" + }, + { + "name": "vmx-preemption-timer", + "type": "bool" + }, + { + "name": "vmx-invept-all-context", + "type": "bool" + }, + { + "name": "vmx-exit-clear-bndcfgs", + "type": "bool" + }, { "name": "xlevel", "type": "uint32" @@ -6038,7 +6373,15 @@ "type": "bool" }, { - "name": "cmp_legacy", + "name": "vmx-vpid", + "type": "bool" + }, + { + "name": "vmx-zero-len-inject", + "type": "bool" + }, + { + "name": "vmx-intr-exit", "type": "bool" }, { @@ -6054,13 +6397,21 @@ "type": "bool" }, { - "name": "xstore-en", + "name": "vmx-vintr-pending", "type": "bool" }, { "name": "avx512vl", "type": "bool" }, + { + "name": "xstore-en", + "type": "bool" + }, + { + "name": "vmx-invept-single-context-noglobals", + "type": "bool" + }, { "name": "rsba", "type": "bool" @@ -6069,6 +6420,10 @@ "name": "cmov", "type": "bool" }, + { + "name": "vmx-posted-intr", + "type": "bool" + }, { "name": "xcrypt-en", "type": "bool" @@ -6077,16 +6432,20 @@ "name": "tm2", "type": "bool" }, + { + "name": "hotplugged", + "type": "bool" + }, { "name": "tsc-scale", "type": "bool" }, { - "name": "fxsr_opt", + "name": "vmx-exit-load-efer", "type": "bool" }, { - "name": "hotplugged", + "name": "xsaveerptr", "type": "bool" }, { @@ -6102,15 +6461,19 @@ "type": "bool" }, { - "name": "tsc-frequency", - "type": "int" + "name": "lbrv", + "type": "bool" }, { - "name": "smx", + "name": "vmx-secondary-ctls", "type": "bool" }, { - "name": "lbrv", + "name": "tsc-frequency", + "type": "int" + }, + { + "name": "smx", "type": "bool" }, { @@ -6142,10 +6505,22 @@ "name": "kvm-pv-tlb-flush", "type": "bool" }, + { + "name": "vmx-cr8-load-exit", + "type": "bool" + }, { "name": "mds-no", "type": "bool" }, + { + "name": "vmx-activity-hlt", + "type": "bool" + }, + { + "name": "vmx-rdtsc-exit", + "type": "bool" + }, { "name": "i64", "type": "bool" @@ -6174,6 +6549,10 @@ "name": "full-cpuid-auto-level", "type": "bool" }, + { + "name": "vmx-entry-load-bndcfgs", + "type": "bool" + }, { "name": "svm_lock", "type": "bool" @@ -6207,7 +6586,7 @@ "type": "bool" }, { - "name": "xop", + "name": "vmx-vnmi", "type": "bool" }, { @@ -6215,6 +6594,14 @@ "description": "on/off", "type": "bool" }, + { + "name": "xop", + "type": "bool" + }, + { + "name": "vmx-rdseed-exit", + "type": "bool" + }, { "name": "smep", "type": "bool" @@ -6223,6 +6610,10 @@ "name": "xsavec", "type": "bool" }, + { + "name": "vmx-mwait-exit", + "type": "bool" + }, { "name": "hv-synic", "description": "on/off", @@ -6248,14 +6639,26 @@ "name": "hv-passthrough", "type": "bool" }, + { + "name": "vmx-mtf", + "type": "bool" + }, { "name": "vmcb-clean", "type": "bool" }, + { + "name": "vmx-exit-load-pat", + "type": "bool" + }, { "name": "stibp", "type": "bool" }, + { + "name": "vmx-cr3-store-noexit", + "type": "bool" + }, { "name": "svm-lock", "type": "bool" @@ -6273,10 +6676,18 @@ "name": "lahf_lm", "type": "bool" }, + { + "name": "kvm_pv_eoi", + "type": "bool" + }, { "name": "legacy-cache", "type": "bool" }, + { + "name": "clzero", + "type": "bool" + }, { "name": "sse", "type": "bool" @@ -6299,17 +6710,33 @@ "type": "bool" }, { - "name": "kvm_pv_eoi", + "name": "vmx-true-ctls", "type": "bool" }, { "name": "movdir64b", "type": "bool" }, + { + "name": "vmx-invept", + "type": "bool" + }, { "name": "acpi", "type": "bool" }, + { + "name": "xd", + "type": "bool" + }, + { + "name": "nodeid_msr", + "type": "bool" + }, + { + "name": "ds_cpl", + "type": "bool" + }, { "name": "nrip-save", "type": "bool" @@ -6319,7 +6746,15 @@ "type": "bool" }, { - "name": "ds_cpl", + "name": "vmx-cr8-store-exit", + "type": "bool" + }, + { + "name": "sse3", + "type": "bool" + }, + { + "name": "lmce", "type": "bool" }, { @@ -6339,7 +6774,7 @@ "type": "bool" }, { - "name": "lmce", + "name": "sse2", "type": "bool" }, { @@ -6347,11 +6782,11 @@ "type": "bool" }, { - "name": "nodeid_msr", + "name": "waitpkg", "type": "bool" }, { - "name": "sse3", + "name": "vmx-rdrand-exit", "type": "bool" }, { @@ -6363,19 +6798,19 @@ "type": "bool" }, { - "name": "xd", + "name": "vmx-encls-exit", "type": "bool" }, { - "name": "avx", + "name": "vmx-ept-1gb", "type": "bool" }, { - "name": "topoext", + "name": "avx", "type": "bool" }, { - "name": "sse2", + "name": "topoext", "type": "bool" }, { @@ -6410,6 +6845,14 @@ "name": "mmxext", "type": "bool" }, + { + "name": "vmx-ple", + "type": "bool" + }, + { + "name": "vmx-apicv-vid", + "type": "bool" + }, { "name": "flushbyasid", "type": "bool" @@ -6438,6 +6881,10 @@ "name": "pat", "type": "bool" }, + { + "name": "vmx-exit-clear-rtit-ctl", + "type": "bool" + }, { "name": "invpcid", "type": "bool" @@ -6446,6 +6893,10 @@ "name": "pdpe1gb", "type": "bool" }, + { + "name": "vmx-exit-save-pat", + "type": "bool" + }, { "name": "parent_bus", "type": "link<bus>" @@ -6454,6 +6905,10 @@ "name": "tsc-adjust", "type": "bool" }, + { + "name": "vmx-entry-load-rtit-ctl", + "type": "bool" + }, { "name": "ht", "type": "bool" @@ -6466,6 +6921,10 @@ "name": "tsc_adjust", "type": "bool" }, + { + "name": "vmx-tsc-offset", + "type": "bool" + }, { "name": "ssbd", "type": "bool" @@ -6523,12 +6982,16 @@ "name": "tsc-deadline", "type": "bool" }, + { + "name": "kvmclock-stable-bit", + "type": "bool" + }, { "name": "misalignsse", "type": "bool" }, { - "name": "kvmclock-stable-bit", + "name": "vmx-msr-bitmap", "type": "bool" }, { @@ -6576,10 +7039,18 @@ "name": "socket-id", "type": "int32" }, + { + "name": "vmx-exit-nosave-debugctl", + "type": "bool" + }, { "name": "avx512f", "type": "bool" }, + { + "name": "vmx-exit-save-preemption-timer", + "type": "bool" + }, { "name": "arch-capabilities", "type": "bool" @@ -6588,6 +7059,14 @@ "name": "bmi2", "type": "bool" }, + { + "name": "vmx-pml", + "type": "bool" + }, + { + "name": "vmx-nmi-exit", + "type": "bool" + }, { "name": "intel-pt", "type": "bool" @@ -6596,10 +7075,18 @@ "name": "wdt", "type": "bool" }, + { + "name": "vmx-page-walk-5", + "type": "bool" + }, { "name": "ace2-en", "type": "bool" }, + { + "name": "vmx-page-walk-4", + "type": "bool" + }, { "name": "avx512pf", "type": "bool" @@ -6620,10 +7107,26 @@ "name": "sse4.2", "type": "bool" }, + { + "name": "vmx-ept-2mb", + "type": "bool" + }, + { + "name": "vmx-exit-load-perf-global-ctrl", + "type": "bool" + }, + { + "name": "vmx-wbinvd-exit", + "type": "bool" + }, { "name": "3dnow", "type": "bool" }, + { + "name": "xgetbv1", + "type": "bool" + }, { "name": "vmx", "type": "bool" @@ -6633,8 +7136,9 @@ "type": "bool" }, { - "name": "xgetbv1", - "type": "bool" + "name": "hv-no-nonarch-coresharing", + "description": "on/off/auto", + "type": "OnOffAuto" }, { "name": "ibrs-all", @@ -6661,11 +7165,23 @@ "name": "fxsr", "type": "bool" }, + { + "name": "vmx-entry-load-perf-global-ctrl", + "type": "bool" + }, + { + "name": "vmx-exit-ack-intr", + "type": "bool" + }, { "name": "hv-vapic", "description": "on/off", "type": "bool" }, + { + "name": "vmx-xsaves", + "type": "bool" + }, { "name": "phe-en", "type": "bool" @@ -6703,6 +7219,10 @@ "name": "de", "type": "bool" }, + { + "name": "vmx-movdr-exit", + "type": "bool" + }, { "name": "fma", "type": "bool" @@ -7040,6 +7560,14 @@ "cpu-max": 288, "deprecated": false }, + { + "hotpluggable-cpus": false, + "name": "microvm", + "numa-mem-supported": false, + "default-cpu-type": "qemu64-x86_64-cpu", + "cpu-max": 288, + "deprecated": false + }, { "hotpluggable-cpus": true, "name": "pc-i440fx-2.3", @@ -7387,6 +7915,22 @@ "static": false, "migration-safe": true }, + { + "name": "Snowridge-v2", + "typename": "Snowridge-v2-x86_64-cpu", + "unavailable-features": [ + "clwb", + "sha-ni", + "gfni", + "cldemote", + "movdiri", + "movdir64b", + "core-capability", + "split-lock-detect" + ], + "static": false, + "migration-safe": true + }, { "name": "Snowridge-v1", "typename": "Snowridge-v1-x86_64-cpu", @@ -7416,7 +7960,7 @@ "core-capability", "split-lock-detect" ], - "alias-of": "Snowridge-v1", + "alias-of": "Snowridge-v2", "static": false, "migration-safe": true }, @@ -8077,6 +8621,27 @@ "static": false, "migration-safe": true }, + { + "name": "Denverton-v1", + "typename": "Denverton-v1-x86_64-cpu", + "unavailable-features": [ + "sha-ni", + "rdctl-no" + ], + "static": false, + "migration-safe": true + }, + { + "name": "Denverton", + "typename": "Denverton-x86_64-cpu", + "unavailable-features": [ + "sha-ni", + "rdctl-no" + ], + "alias-of": "Denverton-v1", + "static": false, + "migration-safe": true + }, { "name": "Conroe-v1", "typename": "Conroe-v1-x86_64-cpu", @@ -8564,6 +9129,10 @@ "name": "socket", "type": "string" }, + { + "name": "multidevs", + "type": "string" + }, { "name": "readonly", "type": "boolean" @@ -8704,6 +9273,10 @@ "name": "socket", "type": "string" }, + { + "name": "multidevs", + "type": "string" + }, { "name": "readonly", "type": "boolean" @@ -10242,49 +10815,54 @@ "arg-type": "96" }, { - "name": "RDMA_GID_STATUS_CHANGED", + "name": "FAILOVER_NEGOTIATED", "meta-type": "event", "arg-type": "97" }, + { + "name": "RDMA_GID_STATUS_CHANGED", + "meta-type": "event", + "arg-type": "98" + }, { "name": "query-rocker", - "ret-type": "99", + "ret-type": "100", "meta-type": "command", - "arg-type": "98" + "arg-type": "99" }, { "name": "query-rocker-ports", - "ret-type": "[101]", + "ret-type": "[102]", "meta-type": "command", - "arg-type": "100" + "arg-type": "101" }, { "name": "query-rocker-of-dpa-flows", - "ret-type": "[103]", + "ret-type": "[104]", "meta-type": "command", - "arg-type": "102" + "arg-type": "103" }, { "name": "query-rocker-of-dpa-groups", - "ret-type": "[105]", + "ret-type": "[106]", "meta-type": "command", - "arg-type": "104" + "arg-type": "105" }, { "name": "query-tpm-models", - "ret-type": "[106]", + "ret-type": "[107]", "meta-type": "command", "arg-type": "0" }, { "name": "query-tpm-types", - "ret-type": "[107]", + "ret-type": "[108]", "meta-type": "command", "arg-type": "0" }, { "name": "query-tpm", - "ret-type": "[108]", + "ret-type": "[109]", "meta-type": "command", "arg-type": "0" }, @@ -10292,40 +10870,40 @@ "name": "set_password", "ret-type": "0", "meta-type": "command", - "arg-type": "109" + "arg-type": "110" }, { "name": "expire_password", "ret-type": "0", "meta-type": "command", - "arg-type": "110" + "arg-type": "111" }, { "name": "screendump", "ret-type": "0", "meta-type": "command", - "arg-type": "111" + "arg-type": "112" }, { "name": "query-spice", - "ret-type": "112", + "ret-type": "113", "meta-type": "command", "arg-type": "0" }, { "name": "SPICE_CONNECTED", "meta-type": "event", - "arg-type": "113" + "arg-type": "114" }, { "name": "SPICE_INITIALIZED", "meta-type": "event", - "arg-type": "114" + "arg-type": "115" }, { "name": "SPICE_DISCONNECTED", "meta-type": "event", - "arg-type": "115" + "arg-type": "116" }, { "name": "SPICE_MIGRATE_COMPLETED", @@ -10334,13 +10912,13 @@ }, { "name": "query-vnc", - "ret-type": "116", + "ret-type": "117", "meta-type": "command", "arg-type": "0" }, { "name": "query-vnc-servers", - "ret-type": "[117]", + "ret-type": "[118]", "meta-type": "command", "arg-type": "0" }, @@ -10348,26 +10926,26 @@ "name": "change-vnc-password", "ret-type": "0", "meta-type": "command", - "arg-type": "118" + "arg-type": "119" }, { "name": "VNC_CONNECTED", "meta-type": "event", - "arg-type": "119" + "arg-type": "120" }, { "name": "VNC_INITIALIZED", "meta-type": "event", - "arg-type": "120" + "arg-type": "121" }, { "name": "VNC_DISCONNECTED", "meta-type": "event", - "arg-type": "121" + "arg-type": "122" }, { "name": "query-mice", - "ret-type": "[122]", + "ret-type": "[123]", "meta-type": "command", "arg-type": "0" }, @@ -10375,23 +10953,23 @@ "name": "send-key", "ret-type": "0", "meta-type": "command", - "arg-type": "123" + "arg-type": "124" }, { "name": "input-send-event", "ret-type": "0", "meta-type": "command", - "arg-type": "124" + "arg-type": "125" }, { "name": "query-display-options", - "ret-type": "125", + "ret-type": "126", "meta-type": "command", "arg-type": "0" }, { "name": "query-migrate", - "ret-type": "126", + "ret-type": "127", "meta-type": "command", "arg-type": "0" }, @@ -10399,11 +10977,11 @@ "name": "migrate-set-capabilities", "ret-type": "0", "meta-type": "command", - "arg-type": "127" + "arg-type": "128" }, { "name": "query-migrate-capabilities", - "ret-type": "[128]", + "ret-type": "[129]", "meta-type": "command", "arg-type": "0" }, @@ -10411,11 +10989,11 @@ "name": "migrate-set-parameters", "ret-type": "0", "meta-type": "command", - "arg-type": "129" + "arg-type": "130" }, { "name": "query-migrate-parameters", - "ret-type": "130", + "ret-type": "131", "meta-type": "command", "arg-type": "0" }, @@ -10423,7 +11001,7 @@ "name": "client_migrate_info", "ret-type": "0", "meta-type": "command", - "arg-type": "131" + "arg-type": "132" }, { "name": "migrate-start-postcopy", @@ -10434,17 +11012,17 @@ { "name": "MIGRATION", "meta-type": "event", - "arg-type": "132" + "arg-type": "133" }, { "name": "MIGRATION_PASS", "meta-type": "event", - "arg-type": "133" + "arg-type": "134" }, { "name": "COLO_EXIT", "meta-type": "event", - "arg-type": "134" + "arg-type": "135" }, { "name": "x-colo-lost-heartbeat", @@ -10462,25 +11040,25 @@ "name": "migrate-continue", "ret-type": "0", "meta-type": "command", - "arg-type": "135" + "arg-type": "136" }, { "name": "migrate_set_downtime", "ret-type": "0", "meta-type": "command", - "arg-type": "136" + "arg-type": "137" }, { "name": "migrate_set_speed", "ret-type": "0", "meta-type": "command", - "arg-type": "137" + "arg-type": "138" }, { "name": "migrate-set-cache-size", "ret-type": "0", "meta-type": "command", - "arg-type": "138" + "arg-type": "139" }, { "name": "query-migrate-cache-size", @@ -10492,29 +11070,29 @@ "name": "migrate", "ret-type": "0", "meta-type": "command", - "arg-type": "139" + "arg-type": "140" }, { "name": "migrate-incoming", "ret-type": "0", "meta-type": "command", - "arg-type": "140" + "arg-type": "141" }, { "name": "xen-save-devices-state", "ret-type": "0", "meta-type": "command", - "arg-type": "141" + "arg-type": "142" }, { "name": "xen-set-replication", "ret-type": "0", "meta-type": "command", - "arg-type": "142" + "arg-type": "143" }, { "name": "query-xen-replication-status", - "ret-type": "143", + "ret-type": "144", "meta-type": "command", "arg-type": "0" }, @@ -10526,7 +11104,7 @@ }, { "name": "query-colo-status", - "ret-type": "144", + "ret-type": "145", "meta-type": "command", "arg-type": "0" }, @@ -10535,7 +11113,7 @@ "ret-type": "0", "allow-oob": true, "meta-type": "command", - "arg-type": "145" + "arg-type": "146" }, { "name": "migrate-pause", @@ -10544,104 +11122,109 @@ "meta-type": "command", "arg-type": "0" }, + { + "name": "UNPLUG_PRIMARY", + "meta-type": "event", + "arg-type": "147" + }, { "name": "transaction", "ret-type": "0", "meta-type": "command", - "arg-type": "146" + "arg-type": "148" }, { "name": "trace-event-get-state", - "ret-type": "[148]", + "ret-type": "[150]", "meta-type": "command", - "arg-type": "147" + "arg-type": "149" }, { "name": "trace-event-set-state", "ret-type": "0", "meta-type": "command", - "arg-type": "149" + "arg-type": "151" }, { "name": "query-qmp-schema", - "ret-type": "[150]", + "ret-type": "[152]", "meta-type": "command", "arg-type": "0" }, { "name": "qom-list", - "ret-type": "[152]", + "ret-type": "[154]", "meta-type": "command", - "arg-type": "151" + "arg-type": "153" }, { "name": "qom-get", "ret-type": "any", "meta-type": "command", - "arg-type": "153" + "arg-type": "155" }, { "name": "qom-set", "ret-type": "0", "meta-type": "command", - "arg-type": "154" + "arg-type": "156" }, { "name": "qom-list-types", - "ret-type": "[156]", + "ret-type": "[158]", "meta-type": "command", - "arg-type": "155" + "arg-type": "157" }, { "name": "qom-list-properties", - "ret-type": "[152]", + "ret-type": "[154]", "meta-type": "command", - "arg-type": "157" + "arg-type": "159" }, { "name": "object-add", "ret-type": "0", "meta-type": "command", - "arg-type": "158" + "arg-type": "160" }, { "name": "object-del", "ret-type": "0", "meta-type": "command", - "arg-type": "159" + "arg-type": "161" }, { "name": "device-list-properties", - "ret-type": "[152]", + "ret-type": "[154]", "meta-type": "command", - "arg-type": "160" + "arg-type": "162" }, { "name": "device_add", "ret-type": "0", "meta-type": "command", - "arg-type": "161" + "arg-type": "163" }, { "name": "device_del", "ret-type": "0", "meta-type": "command", - "arg-type": "162" + "arg-type": "164" }, { "name": "DEVICE_DELETED", "meta-type": "event", - "arg-type": "163" + "arg-type": "165" }, { "name": "query-cpus", - "ret-type": "[164]", + "ret-type": "[166]", "meta-type": "command", "arg-type": "0" }, { "name": "query-cpus-fast", - "ret-type": "[165]", + "ret-type": "[167]", "meta-type": "command", "arg-type": "0" }, @@ -10649,35 +11232,35 @@ "name": "cpu-add", "ret-type": "0", "meta-type": "command", - "arg-type": "166" + "arg-type": "168" }, { "name": "query-machines", - "ret-type": "[167]", + "ret-type": "[169]", "meta-type": "command", "arg-type": "0" }, { "name": "query-current-machine", - "ret-type": "168", + "ret-type": "170", "meta-type": "command", "arg-type": "0" }, { "name": "query-target", - "ret-type": "169", + "ret-type": "171", "meta-type": "command", "arg-type": "0" }, { "name": "query-memdev", - "ret-type": "[170]", + "ret-type": "[172]", "meta-type": "command", "arg-type": "0" }, { "name": "query-hotpluggable-cpus", - "ret-type": "[171]", + "ret-type": "[173]", "meta-type": "command", "arg-type": "0" }, @@ -10685,17 +11268,17 @@ "name": "set-numa-node", "ret-type": "0", "meta-type": "command", - "arg-type": "172" + "arg-type": "174" }, { "name": "query-cpu-model-expansion", - "ret-type": "178", + "ret-type": "180", "meta-type": "command", - "arg-type": "177" + "arg-type": "179" }, { "name": "query-cpu-definitions", - "ret-type": "[179]", + "ret-type": "[181]", "meta-type": "command", "arg-type": "0" }, @@ -10703,17 +11286,17 @@ "name": "qmp_capabilities", "ret-type": "0", "meta-type": "command", - "arg-type": "180" + "arg-type": "182" }, { "name": "query-version", - "ret-type": "181", + "ret-type": "183", "meta-type": "command", "arg-type": "0" }, { "name": "query-commands", - "ret-type": "[182]", + "ret-type": "[184]", "meta-type": "command", "arg-type": "0" }, @@ -10721,52 +11304,52 @@ "name": "add_client", "ret-type": "0", "meta-type": "command", - "arg-type": "183" + "arg-type": "185" }, { "name": "query-name", - "ret-type": "184", + "ret-type": "186", "meta-type": "command", "arg-type": "0" }, { "name": "query-kvm", - "ret-type": "185", + "ret-type": "187", "meta-type": "command", "arg-type": "0" }, { "name": "query-uuid", - "ret-type": "186", + "ret-type": "188", "meta-type": "command", "arg-type": "0" }, { "name": "query-events", - "ret-type": "[187]", + "ret-type": "[189]", "meta-type": "command", "arg-type": "0" }, { "name": "query-iothreads", - "ret-type": "[188]", + "ret-type": "[190]", "meta-type": "command", "arg-type": "0" }, { "name": "query-balloon", - "ret-type": "189", + "ret-type": "191", "meta-type": "command", "arg-type": "0" }, { "name": "BALLOON_CHANGE", "meta-type": "event", - "arg-type": "190" + "arg-type": "192" }, { "name": "query-pci", - "ret-type": "[191]", + "ret-type": "[193]", "meta-type": "command", "arg-type": "0" }, @@ -10798,13 +11381,13 @@ "name": "memsave", "ret-type": "0", "meta-type": "command", - "arg-type": "192" + "arg-type": "194" }, { "name": "pmemsave", "ret-type": "0", "meta-type": "command", - "arg-type": "193" + "arg-type": "195" }, { "name": "cont", @@ -10834,106 +11417,109 @@ "name": "balloon", "ret-type": "0", "meta-type": "command", - "arg-type": "194" + "arg-type": "196" }, { "name": "human-monitor-command", "ret-type": "str", "meta-type": "command", - "arg-type": "195" + "arg-type": "197", + "features": [ + "savevm-monitor-nodes" + ] }, { "name": "change", "ret-type": "0", "meta-type": "command", - "arg-type": "196" + "arg-type": "198" }, { "name": "xen-set-global-dirty-log", "ret-type": "0", "meta-type": "command", - "arg-type": "197" + "arg-type": "199" }, { "name": "getfd", "ret-type": "0", "meta-type": "command", - "arg-type": "198" + "arg-type": "200" }, { "name": "closefd", "ret-type": "0", "meta-type": "command", - "arg-type": "199" + "arg-type": "201" }, { "name": "query-memory-size-summary", - "ret-type": "200", + "ret-type": "202", "meta-type": "command", "arg-type": "0" }, { "name": "add-fd", - "ret-type": "202", + "ret-type": "204", "meta-type": "command", - "arg-type": "201" + "arg-type": "203" }, { "name": "remove-fd", "ret-type": "0", "meta-type": "command", - "arg-type": "203" + "arg-type": "205" }, { "name": "query-fdsets", - "ret-type": "[204]", + "ret-type": "[206]", "meta-type": "command", "arg-type": "0" }, { "name": "query-command-line-options", - "ret-type": "[206]", + "ret-type": "[208]", "meta-type": "command", - "arg-type": "205" + "arg-type": "207" }, { "name": "query-memory-devices", - "ret-type": "[207]", + "ret-type": "[209]", "meta-type": "command", "arg-type": "0" }, { "name": "MEM_UNPLUG_ERROR", "meta-type": "event", - "arg-type": "208" + "arg-type": "210" }, { "name": "query-acpi-ospm-status", - "ret-type": "[209]", + "ret-type": "[211]", "meta-type": "command", "arg-type": "0" }, { "name": "ACPI_DEVICE_OST", "meta-type": "event", - "arg-type": "210" + "arg-type": "212" }, { "name": "xen-load-devices-state", "ret-type": "0", "meta-type": "command", - "arg-type": "211" + "arg-type": "213" }, { "name": "query-vm-generation-id", - "ret-type": "212", + "ret-type": "214", "meta-type": "command", "arg-type": "0" }, { "name": "RTC_CHANGE", "meta-type": "event", - "arg-type": "213" + "arg-type": "215" }, { "name": "rtc-reset-reinjection", @@ -10943,19 +11529,19 @@ }, { "name": "query-sev", - "ret-type": "214", + "ret-type": "216", "meta-type": "command", "arg-type": "0" }, { "name": "query-sev-launch-measure", - "ret-type": "215", + "ret-type": "217", "meta-type": "command", "arg-type": "0" }, { "name": "query-sev-capabilities", - "ret-type": "216", + "ret-type": "218", "meta-type": "command", "arg-type": "0" }, @@ -10978,7 +11564,7 @@ }, { "name": "status", - "type": "219" + "type": "221" } ], "meta-type": "object" @@ -10992,7 +11578,7 @@ }, { "name": "reason", - "type": "220" + "type": "222" } ], "meta-type": "object" @@ -11006,7 +11592,7 @@ }, { "name": "reason", - "type": "220" + "type": "222" } ], "meta-type": "object" @@ -11016,7 +11602,7 @@ "members": [ { "name": "action", - "type": "221" + "type": "223" } ], "meta-type": "object" @@ -11026,7 +11612,7 @@ "members": [ { "name": "action", - "type": "221" + "type": "223" } ], "meta-type": "object" @@ -11036,12 +11622,12 @@ "members": [ { "name": "action", - "type": "222" + "type": "224" }, { "name": "info", "default": null, - "type": "223" + "type": "225" } ], "meta-type": "object" @@ -11055,7 +11641,7 @@ }, { "name": "status", - "type": "224" + "type": "226" } ], "meta-type": "object" @@ -11134,11 +11720,11 @@ }, { "name": "type", - "type": "225" + "type": "227" }, { "name": "status", - "type": "224" + "type": "226" }, { "name": "current-progress", @@ -11228,12 +11814,12 @@ { "name": "io-status", "default": null, - "type": "226" + "type": "228" }, { "name": "dirty-bitmaps", "default": null, - "type": "[227]" + "type": "[229]" } ], "meta-type": "object" @@ -11274,7 +11860,12 @@ }, { "name": "stats", - "type": "228" + "type": "230" + }, + { + "name": "driver-specific", + "default": null, + "type": "231" }, { "name": "parent", @@ -11327,7 +11918,7 @@ }, { "name": "io-status", - "type": "226" + "type": "228" }, { "name": "ready", @@ -11335,7 +11926,7 @@ }, { "name": "status", - "type": "224" + "type": "226" }, { "name": "auto-finalize", @@ -11423,7 +12014,7 @@ { "name": "mode", "default": null, - "type": "229" + "type": "232" } ], "meta-type": "object" @@ -11534,7 +12125,7 @@ }, { "name": "sync", - "type": "230" + "type": "233" }, { "name": "speed", @@ -11549,7 +12140,7 @@ { "name": "bitmap-mode", "default": null, - "type": "231" + "type": "234" }, { "name": "compress", @@ -11559,12 +12150,12 @@ { "name": "on-source-error", "default": null, - "type": "232" + "type": "235" }, { "name": "on-target-error", "default": null, - "type": "232" + "type": "235" }, { "name": "auto-finalize", @@ -11576,6 +12167,11 @@ "default": null, "type": "bool" }, + { + "name": "filter-node-name", + "default": null, + "type": "str" + }, { "name": "target", "type": "str" @@ -11588,7 +12184,7 @@ { "name": "mode", "default": null, - "type": "229" + "type": "232" } ], "meta-type": "object" @@ -11607,7 +12203,7 @@ }, { "name": "sync", - "type": "230" + "type": "233" }, { "name": "speed", @@ -11622,7 +12218,7 @@ { "name": "bitmap-mode", "default": null, - "type": "231" + "type": "234" }, { "name": "compress", @@ -11632,12 +12228,12 @@ { "name": "on-source-error", "default": null, - "type": "232" + "type": "235" }, { "name": "on-target-error", "default": null, - "type": "232" + "type": "235" }, { "name": "auto-finalize", @@ -11649,6 +12245,11 @@ "default": null, "type": "bool" }, + { + "name": "filter-node-name", + "default": null, + "type": "str" + }, { "name": "target", "type": "str" @@ -11700,7 +12301,7 @@ }, { "name": "detect_zeroes", - "type": "233" + "type": "236" }, { "name": "bps", @@ -11728,7 +12329,7 @@ }, { "name": "image", - "type": "234" + "type": "237" }, { "name": "bps_max", @@ -11802,7 +12403,7 @@ }, { "name": "cache", - "type": "235" + "type": "238" }, { "name": "write_threshold", @@ -11811,7 +12412,7 @@ { "name": "dirty-bitmaps", "default": null, - "type": "[227]" + "type": "[229]" } ], "meta-type": "object" @@ -11821,11 +12422,11 @@ "members": [ { "name": "nodes", - "type": "[236]" + "type": "[239]" }, { "name": "edges", - "type": "[237]" + "type": "[240]" } ], "meta-type": "object" @@ -11863,12 +12464,12 @@ }, { "name": "sync", - "type": "230" + "type": "233" }, { "name": "mode", "default": null, - "type": "229" + "type": "232" }, { "name": "speed", @@ -11888,12 +12489,12 @@ { "name": "on-source-error", "default": null, - "type": "232" + "type": "235" }, { "name": "on-target-error", "default": null, - "type": "232" + "type": "235" }, { "name": "unmap", @@ -11903,7 +12504,7 @@ { "name": "copy-mode", "default": null, - "type": "238" + "type": "241" }, { "name": "auto-finalize", @@ -11939,11 +12540,6 @@ "default": null, "type": "bool" }, - { - "name": "autoload", - "default": null, - "type": "bool" - }, { "name": "disabled", "default": null, @@ -11979,7 +12575,7 @@ }, { "name": "bitmaps", - "type": "[239]" + "type": "[242]" } ], "meta-type": "object" @@ -12017,7 +12613,7 @@ }, { "name": "sync", - "type": "230" + "type": "233" }, { "name": "speed", @@ -12037,12 +12633,12 @@ { "name": "on-source-error", "default": null, - "type": "232" + "type": "235" }, { "name": "on-target-error", "default": null, - "type": "232" + "type": "235" }, { "name": "filter-node-name", @@ -12052,7 +12648,7 @@ { "name": "copy-mode", "default": null, - "type": "238" + "type": "241" }, { "name": "auto-finalize", @@ -12212,7 +12808,7 @@ { "name": "on-error", "default": null, - "type": "232" + "type": "235" }, { "name": "auto-finalize", @@ -12312,165 +12908,169 @@ "variants": [ { "case": "blkdebug", - "type": "243" + "type": "246" }, { "case": "blklogwrites", - "type": "244" + "type": "247" }, { "case": "blkverify", - "type": "245" + "type": "248" }, { - "case": "bochs", - "type": "246" + "case": "blkreplay", + "type": "249" }, { - "case": "cloop", - "type": "246" + "case": "bochs", + "type": "250" + }, + { + "case": "cloop", + "type": "250" }, { "case": "copy-on-read", - "type": "246" + "type": "250" }, { "case": "dmg", - "type": "246" + "type": "250" }, { "case": "file", - "type": "247" + "type": "251" }, { "case": "ftp", - "type": "248" + "type": "252" }, { "case": "ftps", - "type": "249" + "type": "253" }, { "case": "gluster", - "type": "250" + "type": "254" }, { "case": "host_cdrom", - "type": "247" + "type": "251" }, { "case": "host_device", - "type": "247" + "type": "251" }, { "case": "http", - "type": "251" + "type": "255" }, { "case": "https", - "type": "252" + "type": "256" }, { "case": "iscsi", - "type": "253" + "type": "257" }, { "case": "luks", - "type": "254" + "type": "258" }, { "case": "nbd", - "type": "255" + "type": "259" }, { "case": "nfs", - "type": "256" + "type": "260" }, { "case": "null-aio", - "type": "257" + "type": "261" }, { "case": "null-co", - "type": "257" + "type": "261" }, { "case": "nvme", - "type": "258" + "type": "262" }, { "case": "parallels", - "type": "246" + "type": "250" }, { "case": "qcow2", - "type": "259" + "type": "263" }, { "case": "qcow", - "type": "260" + "type": "264" }, { "case": "qed", - "type": "261" + "type": "265" }, { "case": "quorum", - "type": "262" + "type": "266" }, { "case": "raw", - "type": "263" + "type": "267" }, { "case": "rbd", - "type": "264" + "type": "268" }, { "case": "replication", - "type": "265" + "type": "269" }, { "case": "sheepdog", - "type": "266" + "type": "270" }, { "case": "ssh", - "type": "267" + "type": "271" }, { "case": "throttle", - "type": "268" + "type": "272" }, { "case": "vdi", - "type": "246" + "type": "250" }, { "case": "vhdx", - "type": "246" + "type": "250" }, { "case": "vmdk", - "type": "261" + "type": "265" }, { "case": "vpc", - "type": "246" + "type": "250" }, { "case": "vvfat", - "type": "269" + "type": "273" }, { "case": "vxhs", - "type": "270" + "type": "274" } ], "members": [ { "name": "driver", - "type": "240" + "type": "243" }, { "name": "node-name", @@ -12480,12 +13080,12 @@ { "name": "discard", "default": null, - "type": "241" + "type": "244" }, { "name": "cache", "default": null, - "type": "242" + "type": "245" }, { "name": "read-only", @@ -12505,7 +13105,7 @@ { "name": "detect-zeroes", "default": null, - "type": "233" + "type": "236" } ], "meta-type": "object" @@ -12529,7 +13129,7 @@ }, { "name": "options", - "type": "271" + "type": "275" } ], "meta-type": "object" @@ -12620,7 +13220,7 @@ { "name": "read-only-mode", "default": null, - "type": "272" + "type": "276" } ], "meta-type": "object" @@ -12672,11 +13272,11 @@ }, { "name": "operation", - "type": "273" + "type": "277" }, { "name": "action", - "type": "274" + "type": "278" }, { "name": "nospace", @@ -12695,7 +13295,7 @@ "members": [ { "name": "type", - "type": "225" + "type": "227" }, { "name": "device", @@ -12726,7 +13326,7 @@ "members": [ { "name": "type", - "type": "225" + "type": "227" }, { "name": "device", @@ -12756,11 +13356,11 @@ }, { "name": "operation", - "type": "273" + "type": "277" }, { "name": "action", - "type": "274" + "type": "278" } ], "meta-type": "object" @@ -12770,7 +13370,7 @@ "members": [ { "name": "type", - "type": "225" + "type": "227" }, { "name": "device", @@ -12796,7 +13396,7 @@ "members": [ { "name": "type", - "type": "225" + "type": "227" }, { "name": "id", @@ -12866,7 +13466,7 @@ }, { "name": "iothread", - "type": "275" + "type": "279" }, { "name": "force", @@ -12989,7 +13589,7 @@ "members": [ { "name": "addr", - "type": "276" + "type": "280" }, { "name": "tls-creds", @@ -13039,7 +13639,7 @@ { "name": "mode", "default": null, - "type": "277" + "type": "281" } ], "meta-type": "object" @@ -13099,7 +13699,7 @@ "members": [ { "name": "type", - "type": "278" + "type": "282" }, { "name": "error", @@ -13173,7 +13773,7 @@ { "name": "format", "default": null, - "type": "279" + "type": "283" } ], "meta-type": "object" @@ -13192,7 +13792,7 @@ { "name": "format", "default": null, - "type": "279" + "type": "283" } ], "meta-type": "object" @@ -13211,7 +13811,7 @@ }, { "name": "backend", - "type": "280" + "type": "284" } ], "meta-type": "object" @@ -13236,7 +13836,7 @@ }, { "name": "backend", - "type": "280" + "type": "284" } ], "meta-type": "object" @@ -13304,7 +13904,7 @@ { "name": "format", "default": null, - "type": "281" + "type": "285" } ], "meta-type": "object" @@ -13314,7 +13914,7 @@ "members": [ { "name": "status", - "type": "282" + "type": "286" }, { "name": "completed", @@ -13347,7 +13947,7 @@ "members": [ { "name": "formats", - "type": "[281]" + "type": "[285]" } ], "meta-type": "object" @@ -13419,15 +14019,15 @@ }, { "name": "multicast", - "type": "283" + "type": "287" }, { "name": "unicast", - "type": "283" + "type": "287" }, { "name": "vlan", - "type": "283" + "type": "287" }, { "name": "broadcast-allowed", @@ -13509,6 +14109,16 @@ }, { "name": "97", + "members": [ + { + "name": "device-id", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "98", "members": [ { "name": "netdev", @@ -13530,7 +14140,7 @@ "meta-type": "object" }, { - "name": "98", + "name": "99", "members": [ { "name": "name", @@ -13540,7 +14150,7 @@ "meta-type": "object" }, { - "name": "99", + "name": "100", "members": [ { "name": "name", @@ -13558,7 +14168,7 @@ "meta-type": "object" }, { - "name": "100", + "name": "101", "members": [ { "name": "name", @@ -13568,12 +14178,12 @@ "meta-type": "object" }, { - "name": "[101]", - "element-type": "101", + "name": "[102]", + "element-type": "102", "meta-type": "array" }, { - "name": "101", + "name": "102", "members": [ { "name": "name", @@ -13593,17 +14203,17 @@ }, { "name": "duplex", - "type": "284" + "type": "288" }, { "name": "autoneg", - "type": "285" + "type": "289" } ], "meta-type": "object" }, { - "name": "102", + "name": "103", "members": [ { "name": "name", @@ -13618,12 +14228,12 @@ "meta-type": "object" }, { - "name": "[103]", - "element-type": "103", + "name": "[104]", + "element-type": "104", "meta-type": "array" }, { - "name": "103", + "name": "104", "members": [ { "name": "cookie", @@ -13635,21 +14245,21 @@ }, { "name": "key", - "type": "286" + "type": "290" }, { "name": "mask", - "type": "287" + "type": "291" }, { "name": "action", - "type": "288" + "type": "292" } ], "meta-type": "object" }, { - "name": "104", + "name": "105", "members": [ { "name": "name", @@ -13664,12 +14274,12 @@ "meta-type": "object" }, { - "name": "[105]", - "element-type": "105", + "name": "[106]", + "element-type": "106", "meta-type": "array" }, { - "name": "105", + "name": "106", "members": [ { "name": "id", @@ -13738,12 +14348,12 @@ "meta-type": "object" }, { - "name": "[106]", - "element-type": "106", + "name": "[107]", + "element-type": "107", "meta-type": "array" }, { - "name": "106", + "name": "107", "meta-type": "enum", "values": [ "tpm-tis", @@ -13751,12 +14361,12 @@ ] }, { - "name": "[107]", - "element-type": "107", + "name": "[108]", + "element-type": "108", "meta-type": "array" }, { - "name": "107", + "name": "108", "meta-type": "enum", "values": [ "passthrough", @@ -13764,12 +14374,12 @@ ] }, { - "name": "[108]", - "element-type": "108", + "name": "[109]", + "element-type": "109", "meta-type": "array" }, { - "name": "108", + "name": "109", "members": [ { "name": "id", @@ -13777,17 +14387,17 @@ }, { "name": "model", - "type": "106" + "type": "107" }, { "name": "options", - "type": "289" + "type": "293" } ], "meta-type": "object" }, { - "name": "109", + "name": "110", "members": [ { "name": "protocol", @@ -13806,7 +14416,7 @@ "meta-type": "object" }, { - "name": "110", + "name": "111", "members": [ { "name": "protocol", @@ -13820,7 +14430,7 @@ "meta-type": "object" }, { - "name": "111", + "name": "112", "members": [ { "name": "filename", @@ -13840,7 +14450,7 @@ "meta-type": "object" }, { - "name": "112", + "name": "113", "members": [ { "name": "enabled", @@ -13877,60 +14487,60 @@ }, { "name": "mouse-mode", - "type": "290" + "type": "294" }, { "name": "channels", "default": null, - "type": "[291]" + "type": "[295]" } ], "meta-type": "object" }, { - "name": "113", + "name": "114", "members": [ { "name": "server", - "type": "292" + "type": "296" }, { "name": "client", - "type": "292" + "type": "296" } ], "meta-type": "object" }, { - "name": "114", + "name": "115", "members": [ { "name": "server", - "type": "293" + "type": "297" }, { "name": "client", - "type": "291" + "type": "295" } ], "meta-type": "object" }, { - "name": "115", + "name": "116", "members": [ { "name": "server", - "type": "292" + "type": "296" }, { "name": "client", - "type": "292" + "type": "296" } ], "meta-type": "object" }, { - "name": "116", + "name": "117", "members": [ { "name": "enabled", @@ -13944,7 +14554,7 @@ { "name": "family", "default": null, - "type": "294" + "type": "298" }, { "name": "service", @@ -13959,18 +14569,18 @@ { "name": "clients", "default": null, - "type": "[295]" + "type": "[299]" } ], "meta-type": "object" }, { - "name": "[117]", - "element-type": "117", + "name": "[118]", + "element-type": "118", "meta-type": "array" }, { - "name": "117", + "name": "118", "members": [ { "name": "id", @@ -13978,20 +14588,20 @@ }, { "name": "server", - "type": "[296]" + "type": "[300]" }, { "name": "clients", - "type": "[295]" + "type": "[299]" }, { "name": "auth", - "type": "297" + "type": "301" }, { "name": "vencrypt", "default": null, - "type": "298" + "type": "302" }, { "name": "display", @@ -14002,7 +14612,7 @@ "meta-type": "object" }, { - "name": "118", + "name": "119", "members": [ { "name": "password", @@ -14012,54 +14622,54 @@ "meta-type": "object" }, { - "name": "119", + "name": "120", "members": [ { "name": "server", - "type": "299" + "type": "303" }, { "name": "client", - "type": "300" + "type": "304" } ], "meta-type": "object" }, { - "name": "120", + "name": "121", "members": [ { "name": "server", - "type": "299" + "type": "303" }, { "name": "client", - "type": "295" + "type": "299" } ], "meta-type": "object" }, { - "name": "121", + "name": "122", "members": [ { "name": "server", - "type": "299" + "type": "303" }, { "name": "client", - "type": "295" + "type": "299" } ], "meta-type": "object" }, { - "name": "[122]", - "element-type": "122", + "name": "[123]", + "element-type": "123", "meta-type": "array" }, { - "name": "122", + "name": "123", "members": [ { "name": "name", @@ -14081,11 +14691,11 @@ "meta-type": "object" }, { - "name": "123", + "name": "124", "members": [ { "name": "keys", - "type": "[301]" + "type": "[305]" }, { "name": "hold-time", @@ -14096,7 +14706,7 @@ "meta-type": "object" }, { - "name": "124", + "name": "125", "members": [ { "name": "device", @@ -14110,26 +14720,26 @@ }, { "name": "events", - "type": "[302]" + "type": "[306]" } ], "meta-type": "object" }, { - "name": "125", + "name": "126", "tag": "type", "variants": [ { "case": "gtk", - "type": "305" + "type": "309" }, { "case": "curses", - "type": "306" + "type": "310" }, { "case": "egl-headless", - "type": "307" + "type": "311" }, { "case": "default", @@ -14155,7 +14765,7 @@ "members": [ { "name": "type", - "type": "303" + "type": "307" }, { "name": "full-screen", @@ -14170,33 +14780,33 @@ { "name": "gl", "default": null, - "type": "304" + "type": "308" } ], "meta-type": "object" }, { - "name": "126", + "name": "127", "members": [ { "name": "status", "default": null, - "type": "308" + "type": "312" }, { "name": "ram", "default": null, - "type": "309" + "type": "313" }, { "name": "disk", "default": null, - "type": "309" + "type": "313" }, { "name": "xbzrle-cache", "default": null, - "type": "310" + "type": "314" }, { "name": "total-time", @@ -14241,37 +14851,37 @@ { "name": "compression", "default": null, - "type": "311" + "type": "315" }, { "name": "socket-address", "default": null, - "type": "[312]" + "type": "[316]" } ], "meta-type": "object" }, { - "name": "127", + "name": "128", "members": [ { "name": "capabilities", - "type": "[128]" + "type": "[129]" } ], "meta-type": "object" }, { - "name": "[128]", - "element-type": "128", + "name": "[129]", + "element-type": "129", "meta-type": "array" }, { - "name": "128", + "name": "129", "members": [ { "name": "capability", - "type": "313" + "type": "317" }, { "name": "state", @@ -14281,7 +14891,7 @@ "meta-type": "object" }, { - "name": "129", + "name": "130", "members": [ { "name": "announce-initial", @@ -14336,17 +14946,17 @@ { "name": "tls-creds", "default": null, - "type": "275" + "type": "279" }, { "name": "tls-hostname", "default": null, - "type": "275" + "type": "279" }, { "name": "tls-authz", "default": null, - "type": "275" + "type": "279" }, { "name": "max-bandwidth", @@ -14392,7 +15002,7 @@ "meta-type": "object" }, { - "name": "130", + "name": "131", "members": [ { "name": "announce-initial", @@ -14503,7 +15113,7 @@ "meta-type": "object" }, { - "name": "131", + "name": "132", "members": [ { "name": "protocol", @@ -14532,17 +15142,17 @@ "meta-type": "object" }, { - "name": "132", + "name": "133", "members": [ { "name": "status", - "type": "308" + "type": "312" } ], "meta-type": "object" }, { - "name": "133", + "name": "134", "members": [ { "name": "pass", @@ -14552,31 +15162,31 @@ "meta-type": "object" }, { - "name": "134", + "name": "135", "members": [ { "name": "mode", - "type": "314" + "type": "318" }, { "name": "reason", - "type": "315" + "type": "319" } ], "meta-type": "object" }, { - "name": "135", + "name": "136", "members": [ { "name": "state", - "type": "308" + "type": "312" } ], "meta-type": "object" }, { - "name": "136", + "name": "137", "members": [ { "name": "value", @@ -14586,7 +15196,7 @@ "meta-type": "object" }, { - "name": "137", + "name": "138", "members": [ { "name": "value", @@ -14596,7 +15206,7 @@ "meta-type": "object" }, { - "name": "138", + "name": "139", "members": [ { "name": "value", @@ -14611,7 +15221,7 @@ "meta-type": "builtin" }, { - "name": "139", + "name": "140", "members": [ { "name": "uri", @@ -14641,7 +15251,7 @@ "meta-type": "object" }, { - "name": "140", + "name": "141", "members": [ { "name": "uri", @@ -14651,7 +15261,7 @@ "meta-type": "object" }, { - "name": "141", + "name": "142", "members": [ { "name": "filename", @@ -14666,7 +15276,7 @@ "meta-type": "object" }, { - "name": "142", + "name": "143", "members": [ { "name": "enable", @@ -14685,7 +15295,7 @@ "meta-type": "object" }, { - "name": "143", + "name": "144", "members": [ { "name": "error", @@ -14700,25 +15310,25 @@ "meta-type": "object" }, { - "name": "144", + "name": "145", "members": [ { "name": "mode", - "type": "314" + "type": "318" }, { "name": "last-mode", - "type": "314" + "type": "318" }, { "name": "reason", - "type": "315" + "type": "319" } ], "meta-type": "object" }, { - "name": "145", + "name": "146", "members": [ { "name": "uri", @@ -14728,22 +15338,32 @@ "meta-type": "object" }, { - "name": "146", + "name": "147", + "members": [ + { + "name": "device-id", + "type": "str" + } + ], + "meta-type": "object" + }, + { + "name": "148", "members": [ { "name": "actions", - "type": "[316]" + "type": "[320]" }, { "name": "properties", "default": null, - "type": "317" + "type": "321" } ], "meta-type": "object" }, { - "name": "147", + "name": "149", "members": [ { "name": "name", @@ -14758,12 +15378,12 @@ "meta-type": "object" }, { - "name": "[148]", - "element-type": "148", + "name": "[150]", + "element-type": "150", "meta-type": "array" }, { - "name": "148", + "name": "150", "members": [ { "name": "name", @@ -14771,7 +15391,7 @@ }, { "name": "state", - "type": "318" + "type": "322" }, { "name": "vcpu", @@ -14781,7 +15401,7 @@ "meta-type": "object" }, { - "name": "149", + "name": "151", "members": [ { "name": "name", @@ -14805,41 +15425,41 @@ "meta-type": "object" }, { - "name": "[150]", - "element-type": "150", + "name": "[152]", + "element-type": "152", "meta-type": "array" }, { - "name": "150", + "name": "152", "tag": "meta-type", "variants": [ { "case": "builtin", - "type": "320" + "type": "324" }, { "case": "enum", - "type": "321" + "type": "325" }, { "case": "array", - "type": "322" + "type": "326" }, { "case": "object", - "type": "323" + "type": "327" }, { "case": "alternate", - "type": "324" + "type": "328" }, { "case": "command", - "type": "325" + "type": "329" }, { "case": "event", - "type": "326" + "type": "330" } ], "members": [ @@ -14849,13 +15469,13 @@ }, { "name": "meta-type", - "type": "319" + "type": "323" } ], "meta-type": "object" }, { - "name": "151", + "name": "153", "members": [ { "name": "path", @@ -14865,12 +15485,12 @@ "meta-type": "object" }, { - "name": "[152]", - "element-type": "152", + "name": "[154]", + "element-type": "154", "meta-type": "array" }, { - "name": "152", + "name": "154", "members": [ { "name": "name", @@ -14889,7 +15509,7 @@ "meta-type": "object" }, { - "name": "153", + "name": "155", "members": [ { "name": "path", @@ -14908,7 +15528,7 @@ "meta-type": "builtin" }, { - "name": "154", + "name": "156", "members": [ { "name": "path", @@ -14926,7 +15546,7 @@ "meta-type": "object" }, { - "name": "155", + "name": "157", "members": [ { "name": "implements", @@ -14942,12 +15562,12 @@ "meta-type": "object" }, { - "name": "[156]", - "element-type": "156", + "name": "[158]", + "element-type": "158", "meta-type": "array" }, { - "name": "156", + "name": "158", "members": [ { "name": "name", @@ -14967,7 +15587,7 @@ "meta-type": "object" }, { - "name": "157", + "name": "159", "members": [ { "name": "typename", @@ -14977,7 +15597,7 @@ "meta-type": "object" }, { - "name": "158", + "name": "160", "members": [ { "name": "qom-type", @@ -14996,7 +15616,7 @@ "meta-type": "object" }, { - "name": "159", + "name": "161", "members": [ { "name": "id", @@ -15006,7 +15626,7 @@ "meta-type": "object" }, { - "name": "160", + "name": "162", "members": [ { "name": "typename", @@ -15016,7 +15636,7 @@ "meta-type": "object" }, { - "name": "161", + "name": "163", "members": [ { "name": "driver", @@ -15036,7 +15656,7 @@ "meta-type": "object" }, { - "name": "162", + "name": "164", "members": [ { "name": "id", @@ -15046,7 +15666,7 @@ "meta-type": "object" }, { - "name": "163", + "name": "165", "members": [ { "name": "device", @@ -15061,41 +15681,41 @@ "meta-type": "object" }, { - "name": "[164]", - "element-type": "164", + "name": "[166]", + "element-type": "166", "meta-type": "array" }, { - "name": "164", + "name": "166", "tag": "arch", "variants": [ { "case": "x86", - "type": "329" + "type": "333" }, { "case": "sparc", - "type": "330" + "type": "334" }, { "case": "ppc", - "type": "331" + "type": "335" }, { "case": "mips", - "type": "332" + "type": "336" }, { "case": "tricore", - "type": "333" + "type": "337" }, { "case": "s390", - "type": "334" + "type": "338" }, { "case": "riscv", - "type": "335" + "type": "339" }, { "case": "other", @@ -15126,27 +15746,27 @@ { "name": "props", "default": null, - "type": "327" + "type": "331" }, { "name": "arch", - "type": "328" + "type": "332" } ], "meta-type": "object" }, { - "name": "[165]", - "element-type": "165", + "name": "[167]", + "element-type": "167", "meta-type": "array" }, { - "name": "165", + "name": "167", "tag": "target", "variants": [ { "case": "s390x", - "type": "334" + "type": "338" }, { "case": "aarch64", @@ -15285,21 +15905,21 @@ { "name": "props", "default": null, - "type": "327" + "type": "331" }, { "name": "arch", - "type": "328" + "type": "332" }, { "name": "target", - "type": "336" + "type": "340" } ], "meta-type": "object" }, { - "name": "166", + "name": "168", "members": [ { "name": "id", @@ -15309,12 +15929,12 @@ "meta-type": "object" }, { - "name": "[167]", - "element-type": "167", + "name": "[169]", + "element-type": "169", "meta-type": "array" }, { - "name": "167", + "name": "169", "members": [ { "name": "name", @@ -15355,7 +15975,7 @@ "meta-type": "object" }, { - "name": "168", + "name": "170", "members": [ { "name": "wakeup-suspend-support", @@ -15365,22 +15985,22 @@ "meta-type": "object" }, { - "name": "169", + "name": "171", "members": [ { "name": "arch", - "type": "336" + "type": "340" } ], "meta-type": "object" }, { - "name": "[170]", - "element-type": "170", + "name": "[172]", + "element-type": "172", "meta-type": "array" }, { - "name": "170", + "name": "172", "members": [ { "name": "id", @@ -15409,18 +16029,18 @@ }, { "name": "policy", - "type": "337" + "type": "341" } ], "meta-type": "object" }, { - "name": "[171]", - "element-type": "171", + "name": "[173]", + "element-type": "173", "meta-type": "array" }, { - "name": "171", + "name": "173", "members": [ { "name": "type", @@ -15432,7 +16052,7 @@ }, { "name": "props", - "type": "327" + "type": "331" }, { "name": "qom-path", @@ -15443,61 +16063,61 @@ "meta-type": "object" }, { - "name": "172", + "name": "174", "tag": "type", "variants": [ { "case": "node", - "type": "339" + "type": "343" }, { "case": "dist", - "type": "340" + "type": "344" }, { "case": "cpu", - "type": "341" + "type": "345" } ], "members": [ { "name": "type", - "type": "338" + "type": "342" } ], "meta-type": "object" }, { - "name": "177", + "name": "179", "members": [ { "name": "type", - "type": "344" + "type": "348" }, { "name": "model", - "type": "342" + "type": "346" } ], "meta-type": "object" }, { - "name": "178", + "name": "180", "members": [ { "name": "model", - "type": "342" + "type": "346" } ], "meta-type": "object" }, { - "name": "[179]", - "element-type": "179", + "name": "[181]", + "element-type": "181", "meta-type": "array" }, { - "name": "179", + "name": "181", "members": [ { "name": "name", @@ -15530,22 +16150,22 @@ "meta-type": "object" }, { - "name": "180", + "name": "182", "members": [ { "name": "enable", "default": null, - "type": "[345]" + "type": "[349]" } ], "meta-type": "object" }, { - "name": "181", + "name": "183", "members": [ { "name": "qemu", - "type": "346" + "type": "350" }, { "name": "package", @@ -15555,12 +16175,12 @@ "meta-type": "object" }, { - "name": "[182]", - "element-type": "182", + "name": "[184]", + "element-type": "184", "meta-type": "array" }, { - "name": "182", + "name": "184", "members": [ { "name": "name", @@ -15570,7 +16190,7 @@ "meta-type": "object" }, { - "name": "183", + "name": "185", "members": [ { "name": "protocol", @@ -15594,7 +16214,7 @@ "meta-type": "object" }, { - "name": "184", + "name": "186", "members": [ { "name": "name", @@ -15605,7 +16225,7 @@ "meta-type": "object" }, { - "name": "185", + "name": "187", "members": [ { "name": "enabled", @@ -15619,7 +16239,7 @@ "meta-type": "object" }, { - "name": "186", + "name": "188", "members": [ { "name": "UUID", @@ -15629,12 +16249,12 @@ "meta-type": "object" }, { - "name": "[187]", - "element-type": "187", + "name": "[189]", + "element-type": "189", "meta-type": "array" }, { - "name": "187", + "name": "189", "members": [ { "name": "name", @@ -15644,12 +16264,12 @@ "meta-type": "object" }, { - "name": "[188]", - "element-type": "188", + "name": "[190]", + "element-type": "190", "meta-type": "array" }, { - "name": "188", + "name": "190", "members": [ { "name": "id", @@ -15675,7 +16295,7 @@ "meta-type": "object" }, { - "name": "189", + "name": "191", "members": [ { "name": "actual", @@ -15685,7 +16305,7 @@ "meta-type": "object" }, { - "name": "190", + "name": "192", "members": [ { "name": "actual", @@ -15695,12 +16315,12 @@ "meta-type": "object" }, { - "name": "[191]", - "element-type": "191", + "name": "[193]", + "element-type": "193", "meta-type": "array" }, { - "name": "191", + "name": "193", "members": [ { "name": "bus", @@ -15708,13 +16328,13 @@ }, { "name": "devices", - "type": "[347]" + "type": "[351]" } ], "meta-type": "object" }, { - "name": "192", + "name": "194", "members": [ { "name": "val", @@ -15737,7 +16357,7 @@ "meta-type": "object" }, { - "name": "193", + "name": "195", "members": [ { "name": "val", @@ -15755,7 +16375,7 @@ "meta-type": "object" }, { - "name": "194", + "name": "196", "members": [ { "name": "value", @@ -15765,7 +16385,7 @@ "meta-type": "object" }, { - "name": "195", + "name": "197", "members": [ { "name": "command-line", @@ -15780,7 +16400,7 @@ "meta-type": "object" }, { - "name": "196", + "name": "198", "members": [ { "name": "device", @@ -15799,7 +16419,7 @@ "meta-type": "object" }, { - "name": "197", + "name": "199", "members": [ { "name": "enable", @@ -15809,7 +16429,7 @@ "meta-type": "object" }, { - "name": "198", + "name": "200", "members": [ { "name": "fdname", @@ -15819,7 +16439,7 @@ "meta-type": "object" }, { - "name": "199", + "name": "201", "members": [ { "name": "fdname", @@ -15829,7 +16449,7 @@ "meta-type": "object" }, { - "name": "200", + "name": "202", "members": [ { "name": "base-memory", @@ -15844,7 +16464,7 @@ "meta-type": "object" }, { - "name": "201", + "name": "203", "members": [ { "name": "fdset-id", @@ -15860,7 +16480,7 @@ "meta-type": "object" }, { - "name": "202", + "name": "204", "members": [ { "name": "fdset-id", @@ -15874,7 +16494,7 @@ "meta-type": "object" }, { - "name": "203", + "name": "205", "members": [ { "name": "fdset-id", @@ -15889,12 +16509,12 @@ "meta-type": "object" }, { - "name": "[204]", - "element-type": "204", + "name": "[206]", + "element-type": "206", "meta-type": "array" }, { - "name": "204", + "name": "206", "members": [ { "name": "fdset-id", @@ -15902,13 +16522,13 @@ }, { "name": "fds", - "type": "[348]" + "type": "[352]" } ], "meta-type": "object" }, { - "name": "205", + "name": "207", "members": [ { "name": "option", @@ -15919,12 +16539,12 @@ "meta-type": "object" }, { - "name": "[206]", - "element-type": "206", + "name": "[208]", + "element-type": "208", "meta-type": "array" }, { - "name": "206", + "name": "208", "members": [ { "name": "option", @@ -15932,43 +16552,43 @@ }, { "name": "parameters", - "type": "[349]" + "type": "[353]" } ], "meta-type": "object" }, { - "name": "[207]", - "element-type": "207", + "name": "[209]", + "element-type": "209", "meta-type": "array" }, { - "name": "207", + "name": "209", "tag": "type", "variants": [ { "case": "dimm", - "type": "351" + "type": "355" }, { "case": "nvdimm", - "type": "351" + "type": "355" }, { "case": "virtio-pmem", - "type": "352" + "type": "356" } ], "members": [ { "name": "type", - "type": "350" + "type": "354" } ], "meta-type": "object" }, { - "name": "208", + "name": "210", "members": [ { "name": "device", @@ -15982,12 +16602,12 @@ "meta-type": "object" }, { - "name": "[209]", - "element-type": "209", + "name": "[211]", + "element-type": "211", "meta-type": "array" }, { - "name": "209", + "name": "211", "members": [ { "name": "device", @@ -16000,7 +16620,7 @@ }, { "name": "slot-type", - "type": "353" + "type": "357" }, { "name": "source", @@ -16014,17 +16634,17 @@ "meta-type": "object" }, { - "name": "210", + "name": "212", "members": [ { "name": "info", - "type": "209" + "type": "211" } ], "meta-type": "object" }, { - "name": "211", + "name": "213", "members": [ { "name": "filename", @@ -16034,7 +16654,7 @@ "meta-type": "object" }, { - "name": "212", + "name": "214", "members": [ { "name": "guid", @@ -16044,7 +16664,7 @@ "meta-type": "object" }, { - "name": "213", + "name": "215", "members": [ { "name": "offset", @@ -16054,7 +16674,7 @@ "meta-type": "object" }, { - "name": "214", + "name": "216", "members": [ { "name": "enabled", @@ -16078,7 +16698,7 @@ }, { "name": "state", - "type": "354" + "type": "358" }, { "name": "handle", @@ -16088,7 +16708,7 @@ "meta-type": "object" }, { - "name": "215", + "name": "217", "members": [ { "name": "data", @@ -16098,7 +16718,7 @@ "meta-type": "object" }, { - "name": "216", + "name": "218", "members": [ { "name": "pdh", @@ -16125,7 +16745,7 @@ "meta-type": "builtin" }, { - "name": "219", + "name": "221", "meta-type": "enum", "values": [ "debug", @@ -16148,7 +16768,7 @@ ] }, { - "name": "220", + "name": "222", "meta-type": "enum", "values": [ "none", @@ -16164,7 +16784,7 @@ ] }, { - "name": "221", + "name": "223", "meta-type": "enum", "values": [ "reset", @@ -16177,7 +16797,7 @@ ] }, { - "name": "222", + "name": "224", "meta-type": "enum", "values": [ "pause", @@ -16185,28 +16805,28 @@ ] }, { - "name": "223", + "name": "225", "tag": "type", "variants": [ { "case": "hyper-v", - "type": "356" + "type": "360" }, { "case": "s390", - "type": "357" + "type": "361" } ], "members": [ { "name": "type", - "type": "355" + "type": "359" } ], "meta-type": "object" }, { - "name": "224", + "name": "226", "meta-type": "enum", "values": [ "undefined", @@ -16223,7 +16843,7 @@ ] }, { - "name": "225", + "name": "227", "meta-type": "enum", "values": [ "commit", @@ -16239,7 +16859,7 @@ "meta-type": "array" }, { - "name": "226", + "name": "228", "meta-type": "enum", "values": [ "ok", @@ -16248,12 +16868,12 @@ ] }, { - "name": "[227]", - "element-type": "227", + "name": "[229]", + "element-type": "229", "meta-type": "array" }, { - "name": "227", + "name": "229", "members": [ { "name": "name", @@ -16278,7 +16898,7 @@ }, { "name": "status", - "type": "358" + "type": "362" }, { "name": "persistent", @@ -16293,7 +16913,7 @@ "meta-type": "object" }, { - "name": "228", + "name": "230", "members": [ { "name": "rd_bytes", @@ -16303,6 +16923,10 @@ "name": "wr_bytes", "type": "int" }, + { + "name": "unmap_bytes", + "type": "int" + }, { "name": "rd_operations", "type": "int" @@ -16316,7 +16940,11 @@ "type": "int" }, { - "name": "flush_total_time_ns", + "name": "unmap_operations", + "type": "int" + }, + { + "name": "rd_total_time_ns", "type": "int" }, { @@ -16324,7 +16952,11 @@ "type": "int" }, { - "name": "rd_total_time_ns", + "name": "flush_total_time_ns", + "type": "int" + }, + { + "name": "unmap_total_time_ns", "type": "int" }, { @@ -16339,6 +16971,10 @@ "name": "wr_merged", "type": "int" }, + { + "name": "unmap_merged", + "type": "int" + }, { "name": "idle_time_ns", "default": null, @@ -16356,6 +16992,10 @@ "name": "failed_flush_operations", "type": "int" }, + { + "name": "failed_unmap_operations", + "type": "int" + }, { "name": "invalid_rd_operations", "type": "int" @@ -16368,6 +17008,10 @@ "name": "invalid_flush_operations", "type": "int" }, + { + "name": "invalid_unmap_operations", + "type": "int" + }, { "name": "account_invalid", "type": "bool" @@ -16378,28 +17022,201 @@ }, { "name": "timed_stats", - "type": "[359]" + "type": "[363]" }, { "name": "rd_latency_histogram", "default": null, - "type": "360" + "type": "364" }, { "name": "wr_latency_histogram", "default": null, - "type": "360" + "type": "364" }, { "name": "flush_latency_histogram", "default": null, - "type": "360" + "type": "364" } ], "meta-type": "object" }, { - "name": "229", + "name": "231", + "tag": "driver", + "variants": [ + { + "case": "file", + "type": "365" + }, + { + "case": "host_device", + "type": "365" + }, + { + "case": "blkdebug", + "type": "0" + }, + { + "case": "blklogwrites", + "type": "0" + }, + { + "case": "blkreplay", + "type": "0" + }, + { + "case": "blkverify", + "type": "0" + }, + { + "case": "bochs", + "type": "0" + }, + { + "case": "cloop", + "type": "0" + }, + { + "case": "copy-on-read", + "type": "0" + }, + { + "case": "dmg", + "type": "0" + }, + { + "case": "ftp", + "type": "0" + }, + { + "case": "ftps", + "type": "0" + }, + { + "case": "gluster", + "type": "0" + }, + { + "case": "host_cdrom", + "type": "0" + }, + { + "case": "http", + "type": "0" + }, + { + "case": "https", + "type": "0" + }, + { + "case": "iscsi", + "type": "0" + }, + { + "case": "luks", + "type": "0" + }, + { + "case": "nbd", + "type": "0" + }, + { + "case": "nfs", + "type": "0" + }, + { + "case": "null-aio", + "type": "0" + }, + { + "case": "null-co", + "type": "0" + }, + { + "case": "nvme", + "type": "0" + }, + { + "case": "parallels", + "type": "0" + }, + { + "case": "qcow", + "type": "0" + }, + { + "case": "qcow2", + "type": "0" + }, + { + "case": "qed", + "type": "0" + }, + { + "case": "quorum", + "type": "0" + }, + { + "case": "raw", + "type": "0" + }, + { + "case": "rbd", + "type": "0" + }, + { + "case": "replication", + "type": "0" + }, + { + "case": "sheepdog", + "type": "0" + }, + { + "case": "ssh", + "type": "0" + }, + { + "case": "throttle", + "type": "0" + }, + { + "case": "vdi", + "type": "0" + }, + { + "case": "vhdx", + "type": "0" + }, + { + "case": "vmdk", + "type": "0" + }, + { + "case": "vpc", + "type": "0" + }, + { + "case": "vvfat", + "type": "0" + }, + { + "case": "vxhs", + "type": "0" + } + ], + "members": [ + { + "name": "driver", + "type": "243" + } + ], + "meta-type": "object" + }, + { + "name": "232", "meta-type": "enum", "values": [ "existing", @@ -16407,7 +17224,7 @@ ] }, { - "name": "230", + "name": "233", "meta-type": "enum", "values": [ "top", @@ -16418,7 +17235,7 @@ ] }, { - "name": "231", + "name": "234", "meta-type": "enum", "values": [ "on-success", @@ -16427,7 +17244,7 @@ ] }, { - "name": "232", + "name": "235", "meta-type": "enum", "values": [ "report", @@ -16438,7 +17255,7 @@ ] }, { - "name": "233", + "name": "236", "meta-type": "enum", "values": [ "off", @@ -16447,7 +17264,7 @@ ] }, { - "name": "234", + "name": "237", "members": [ { "name": "filename", @@ -16509,18 +17326,18 @@ { "name": "backing-image", "default": null, - "type": "234" + "type": "237" }, { "name": "format-specific", "default": null, - "type": "361" + "type": "366" } ], "meta-type": "object" }, { - "name": "235", + "name": "238", "members": [ { "name": "writeback", @@ -16538,12 +17355,12 @@ "meta-type": "object" }, { - "name": "[236]", - "element-type": "236", + "name": "[239]", + "element-type": "239", "meta-type": "array" }, { - "name": "236", + "name": "239", "members": [ { "name": "id", @@ -16551,7 +17368,7 @@ }, { "name": "type", - "type": "362" + "type": "367" }, { "name": "name", @@ -16561,12 +17378,12 @@ "meta-type": "object" }, { - "name": "[237]", - "element-type": "237", + "name": "[240]", + "element-type": "240", "meta-type": "array" }, { - "name": "237", + "name": "240", "members": [ { "name": "parent", @@ -16582,17 +17399,17 @@ }, { "name": "perm", - "type": "[363]" + "type": "[368]" }, { "name": "shared-perm", - "type": "[363]" + "type": "[368]" } ], "meta-type": "object" }, { - "name": "238", + "name": "241", "meta-type": "enum", "values": [ "background", @@ -16600,12 +17417,12 @@ ] }, { - "name": "[239]", - "element-type": "239", + "name": "[242]", + "element-type": "242", "meta-type": "array" }, { - "name": "239", + "name": "242", "members": [ { "type": "str" @@ -16617,11 +17434,12 @@ "meta-type": "alternate" }, { - "name": "240", + "name": "243", "meta-type": "enum", "values": [ "blkdebug", "blklogwrites", + "blkreplay", "blkverify", "bochs", "cloop", @@ -16662,7 +17480,7 @@ ] }, { - "name": "241", + "name": "244", "meta-type": "enum", "values": [ "ignore", @@ -16670,7 +17488,7 @@ ] }, { - "name": "242", + "name": "245", "members": [ { "name": "direct", @@ -16686,11 +17504,11 @@ "meta-type": "object" }, { - "name": "243", + "name": "246", "members": [ { "name": "image", - "type": "364" + "type": "369" }, { "name": "config", @@ -16730,26 +17548,26 @@ { "name": "inject-error", "default": null, - "type": "[365]" + "type": "[370]" }, { "name": "set-state", "default": null, - "type": "[366]" + "type": "[371]" } ], "meta-type": "object" }, { - "name": "244", + "name": "247", "members": [ { "name": "file", - "type": "364" + "type": "369" }, { "name": "log", - "type": "364" + "type": "369" }, { "name": "log-sector-size", @@ -16770,31 +17588,41 @@ "meta-type": "object" }, { - "name": "245", + "name": "248", "members": [ { "name": "test", - "type": "364" + "type": "369" }, { "name": "raw", - "type": "364" + "type": "369" } ], "meta-type": "object" }, { - "name": "246", + "name": "249", + "members": [ + { + "name": "image", + "type": "369" + } + ], + "meta-type": "object" + }, + { + "name": "250", "members": [ { "name": "file", - "type": "364" + "type": "369" } ], "meta-type": "object" }, { - "name": "247", + "name": "251", "members": [ { "name": "filename", @@ -16808,12 +17636,12 @@ { "name": "locking", "default": null, - "type": "367" + "type": "372" }, { "name": "aio", "default": null, - "type": "368" + "type": "373" }, { "name": "drop-cache", @@ -16832,7 +17660,7 @@ ] }, { - "name": "248", + "name": "252", "members": [ { "name": "url", @@ -16872,7 +17700,7 @@ "meta-type": "object" }, { - "name": "249", + "name": "253", "members": [ { "name": "url", @@ -16917,7 +17745,7 @@ "meta-type": "object" }, { - "name": "250", + "name": "254", "members": [ { "name": "volume", @@ -16929,7 +17757,7 @@ }, { "name": "server", - "type": "[312]" + "type": "[316]" }, { "name": "debug", @@ -16945,7 +17773,7 @@ "meta-type": "object" }, { - "name": "251", + "name": "255", "members": [ { "name": "url", @@ -16995,7 +17823,7 @@ "meta-type": "object" }, { - "name": "252", + "name": "256", "members": [ { "name": "url", @@ -17050,11 +17878,11 @@ "meta-type": "object" }, { - "name": "253", + "name": "257", "members": [ { "name": "transport", - "type": "369" + "type": "374" }, { "name": "portal", @@ -17087,7 +17915,7 @@ { "name": "header-digest", "default": null, - "type": "370" + "type": "375" }, { "name": "timeout", @@ -17098,11 +17926,11 @@ "meta-type": "object" }, { - "name": "254", + "name": "258", "members": [ { "name": "file", - "type": "364" + "type": "369" }, { "name": "key-secret", @@ -17113,11 +17941,11 @@ "meta-type": "object" }, { - "name": "255", + "name": "259", "members": [ { "name": "server", - "type": "312" + "type": "316" }, { "name": "export", @@ -17143,11 +17971,11 @@ "meta-type": "object" }, { - "name": "256", + "name": "260", "members": [ { "name": "server", - "type": "371" + "type": "376" }, { "name": "path", @@ -17187,7 +18015,7 @@ "meta-type": "object" }, { - "name": "257", + "name": "261", "members": [ { "name": "size", @@ -17208,7 +18036,7 @@ "meta-type": "object" }, { - "name": "258", + "name": "262", "members": [ { "name": "device", @@ -17222,16 +18050,16 @@ "meta-type": "object" }, { - "name": "259", + "name": "263", "members": [ { "name": "file", - "type": "364" + "type": "369" }, { "name": "backing", "default": null, - "type": "372" + "type": "377" }, { "name": "lazy-refcounts", @@ -17256,7 +18084,7 @@ { "name": "overlap-check", "default": null, - "type": "373" + "type": "378" }, { "name": "cache-size", @@ -17286,53 +18114,53 @@ { "name": "encrypt", "default": null, - "type": "374" + "type": "379" }, { "name": "data-file", "default": null, - "type": "364" + "type": "369" } ], "meta-type": "object" }, { - "name": "260", + "name": "264", "members": [ { "name": "file", - "type": "364" + "type": "369" }, { "name": "backing", "default": null, - "type": "372" + "type": "377" }, { "name": "encrypt", "default": null, - "type": "375" + "type": "380" } ], "meta-type": "object" }, { - "name": "261", + "name": "265", "members": [ { "name": "file", - "type": "364" + "type": "369" }, { "name": "backing", "default": null, - "type": "372" + "type": "377" } ], "meta-type": "object" }, { - "name": "262", + "name": "266", "members": [ { "name": "blkverify", @@ -17341,7 +18169,7 @@ }, { "name": "children", - "type": "[364]" + "type": "[369]" }, { "name": "vote-threshold", @@ -17355,17 +18183,17 @@ { "name": "read-pattern", "default": null, - "type": "376" + "type": "381" } ], "meta-type": "object" }, { - "name": "263", + "name": "267", "members": [ { "name": "file", - "type": "364" + "type": "369" }, { "name": "offset", @@ -17381,7 +18209,7 @@ "meta-type": "object" }, { - "name": "264", + "name": "268", "members": [ { "name": "pool", @@ -17409,7 +18237,7 @@ { "name": "auth-client-required", "default": null, - "type": "[377]" + "type": "[382]" }, { "name": "key-secret", @@ -17419,21 +18247,21 @@ { "name": "server", "default": null, - "type": "[378]" + "type": "[383]" } ], "meta-type": "object" }, { - "name": "265", + "name": "269", "members": [ { "name": "file", - "type": "364" + "type": "369" }, { "name": "mode", - "type": "379" + "type": "384" }, { "name": "top-id", @@ -17444,11 +18272,11 @@ "meta-type": "object" }, { - "name": "266", + "name": "270", "members": [ { "name": "server", - "type": "312" + "type": "316" }, { "name": "vdi", @@ -17468,11 +18296,11 @@ "meta-type": "object" }, { - "name": "267", + "name": "271", "members": [ { "name": "server", - "type": "380" + "type": "385" }, { "name": "path", @@ -17486,13 +18314,13 @@ { "name": "host-key-check", "default": null, - "type": "381" + "type": "386" } ], "meta-type": "object" }, { - "name": "268", + "name": "272", "members": [ { "name": "throttle-group", @@ -17500,13 +18328,13 @@ }, { "name": "file", - "type": "364" + "type": "369" } ], "meta-type": "object" }, { - "name": "269", + "name": "273", "members": [ { "name": "dir", @@ -17536,7 +18364,7 @@ "meta-type": "object" }, { - "name": "270", + "name": "274", "members": [ { "name": "vdisk-id", @@ -17544,7 +18372,7 @@ }, { "name": "server", - "type": "378" + "type": "383" }, { "name": "tls-creds", @@ -17555,68 +18383,68 @@ "meta-type": "object" }, { - "name": "271", + "name": "275", "tag": "driver", "variants": [ { "case": "file", - "type": "382" + "type": "387" }, { "case": "gluster", - "type": "383" + "type": "388" }, { "case": "luks", - "type": "384" + "type": "389" }, { "case": "nfs", - "type": "385" + "type": "390" }, { "case": "parallels", - "type": "386" + "type": "391" }, { "case": "qcow", - "type": "387" + "type": "392" }, { "case": "qcow2", - "type": "388" + "type": "393" }, { "case": "qed", - "type": "389" + "type": "394" }, { "case": "rbd", - "type": "390" + "type": "395" }, { "case": "sheepdog", - "type": "391" + "type": "396" }, { "case": "ssh", - "type": "392" + "type": "397" }, { "case": "vdi", - "type": "393" + "type": "398" }, { "case": "vhdx", - "type": "394" + "type": "399" }, { "case": "vmdk", - "type": "395" + "type": "400" }, { "case": "vpc", - "type": "396" + "type": "401" }, { "case": "blkdebug", @@ -17626,6 +18454,10 @@ "case": "blklogwrites", "type": "0" }, + { + "case": "blkreplay", + "type": "0" + }, { "case": "blkverify", "type": "0" @@ -17718,13 +18550,13 @@ "members": [ { "name": "driver", - "type": "240" + "type": "243" } ], "meta-type": "object" }, { - "name": "272", + "name": "276", "meta-type": "enum", "values": [ "retain", @@ -17733,7 +18565,7 @@ ] }, { - "name": "273", + "name": "277", "meta-type": "enum", "values": [ "read", @@ -17741,7 +18573,7 @@ ] }, { - "name": "274", + "name": "278", "meta-type": "enum", "values": [ "ignore", @@ -17750,7 +18582,7 @@ ] }, { - "name": "275", + "name": "279", "members": [ { "type": "str" @@ -17762,36 +18594,36 @@ "meta-type": "alternate" }, { - "name": "276", + "name": "280", "tag": "type", "variants": [ { "case": "inet", - "type": "398" + "type": "403" }, { "case": "unix", - "type": "399" + "type": "404" }, { "case": "vsock", - "type": "400" + "type": "405" }, { "case": "fd", - "type": "401" + "type": "406" } ], "members": [ { "name": "type", - "type": "397" + "type": "402" } ], "meta-type": "object" }, { - "name": "277", + "name": "281", "meta-type": "enum", "values": [ "safe", @@ -17799,7 +18631,7 @@ ] }, { - "name": "278", + "name": "282", "meta-type": "enum", "values": [ "read", @@ -17808,7 +18640,7 @@ ] }, { - "name": "279", + "name": "283", "meta-type": "enum", "values": [ "utf8", @@ -17816,100 +18648,100 @@ ] }, { - "name": "280", + "name": "284", "tag": "type", "variants": [ { "case": "file", - "type": "403" + "type": "408" }, { "case": "serial", - "type": "404" + "type": "409" }, { "case": "parallel", - "type": "404" + "type": "409" }, { "case": "pipe", - "type": "404" + "type": "409" }, { "case": "socket", - "type": "405" + "type": "410" }, { "case": "udp", - "type": "406" + "type": "411" }, { "case": "pty", - "type": "407" + "type": "412" }, { "case": "null", - "type": "407" + "type": "412" }, { "case": "mux", - "type": "408" + "type": "413" }, { "case": "msmouse", - "type": "407" + "type": "412" }, { "case": "wctablet", - "type": "407" + "type": "412" }, { "case": "braille", - "type": "407" + "type": "412" }, { "case": "testdev", - "type": "407" + "type": "412" }, { "case": "stdio", - "type": "409" + "type": "414" }, { "case": "console", - "type": "407" + "type": "412" }, { "case": "spicevmc", - "type": "410" + "type": "415" }, { "case": "spiceport", - "type": "411" + "type": "416" }, { "case": "vc", - "type": "412" + "type": "417" }, { "case": "ringbuf", - "type": "413" + "type": "418" }, { "case": "memory", - "type": "413" + "type": "418" } ], "members": [ { "name": "type", - "type": "402" + "type": "407" } ], "meta-type": "object" }, { - "name": "281", + "name": "285", "meta-type": "enum", "values": [ "elf", @@ -17920,7 +18752,7 @@ ] }, { - "name": "282", + "name": "286", "meta-type": "enum", "values": [ "none", @@ -17930,12 +18762,12 @@ ] }, { - "name": "[281]", - "element-type": "281", + "name": "[285]", + "element-type": "285", "meta-type": "array" }, { - "name": "283", + "name": "287", "meta-type": "enum", "values": [ "normal", @@ -17949,7 +18781,7 @@ "meta-type": "array" }, { - "name": "284", + "name": "288", "meta-type": "enum", "values": [ "half", @@ -17957,7 +18789,7 @@ ] }, { - "name": "285", + "name": "289", "meta-type": "enum", "values": [ "off", @@ -17965,7 +18797,7 @@ ] }, { - "name": "286", + "name": "290", "members": [ { "name": "priority", @@ -18024,7 +18856,7 @@ "meta-type": "object" }, { - "name": "287", + "name": "291", "members": [ { "name": "in-pport", @@ -18065,7 +18897,7 @@ "meta-type": "object" }, { - "name": "288", + "name": "292", "members": [ { "name": "goto-tbl", @@ -18101,28 +18933,28 @@ "meta-type": "object" }, { - "name": "289", + "name": "293", "tag": "type", "variants": [ { "case": "passthrough", - "type": "415" + "type": "420" }, { "case": "emulator", - "type": "416" + "type": "421" } ], "members": [ { "name": "type", - "type": "414" + "type": "419" } ], "meta-type": "object" }, { - "name": "290", + "name": "294", "meta-type": "enum", "values": [ "client", @@ -18131,12 +18963,12 @@ ] }, { - "name": "[291]", - "element-type": "291", + "name": "[295]", + "element-type": "295", "meta-type": "array" }, { - "name": "291", + "name": "295", "members": [ { "name": "host", @@ -18148,7 +18980,7 @@ }, { "name": "family", - "type": "294" + "type": "298" }, { "name": "connection-id", @@ -18170,7 +19002,7 @@ "meta-type": "object" }, { - "name": "292", + "name": "296", "members": [ { "name": "host", @@ -18182,13 +19014,13 @@ }, { "name": "family", - "type": "294" + "type": "298" } ], "meta-type": "object" }, { - "name": "293", + "name": "297", "members": [ { "name": "host", @@ -18200,7 +19032,7 @@ }, { "name": "family", - "type": "294" + "type": "298" }, { "name": "auth", @@ -18211,7 +19043,7 @@ "meta-type": "object" }, { - "name": "294", + "name": "298", "meta-type": "enum", "values": [ "ipv4", @@ -18222,12 +19054,12 @@ ] }, { - "name": "[295]", - "element-type": "295", + "name": "[299]", + "element-type": "299", "meta-type": "array" }, { - "name": "295", + "name": "299", "members": [ { "name": "host", @@ -18239,7 +19071,7 @@ }, { "name": "family", - "type": "294" + "type": "298" }, { "name": "websocket", @@ -18259,12 +19091,12 @@ "meta-type": "object" }, { - "name": "[296]", - "element-type": "296", + "name": "[300]", + "element-type": "300", "meta-type": "array" }, { - "name": "296", + "name": "300", "members": [ { "name": "host", @@ -18276,7 +19108,7 @@ }, { "name": "family", - "type": "294" + "type": "298" }, { "name": "websocket", @@ -18284,18 +19116,18 @@ }, { "name": "auth", - "type": "297" + "type": "301" }, { "name": "vencrypt", "default": null, - "type": "298" + "type": "302" } ], "meta-type": "object" }, { - "name": "297", + "name": "301", "meta-type": "enum", "values": [ "none", @@ -18310,7 +19142,7 @@ ] }, { - "name": "298", + "name": "302", "meta-type": "enum", "values": [ "plain", @@ -18325,7 +19157,7 @@ ] }, { - "name": "299", + "name": "303", "members": [ { "name": "host", @@ -18337,7 +19169,7 @@ }, { "name": "family", - "type": "294" + "type": "298" }, { "name": "websocket", @@ -18352,7 +19184,7 @@ "meta-type": "object" }, { - "name": "300", + "name": "304", "members": [ { "name": "host", @@ -18364,7 +19196,7 @@ }, { "name": "family", - "type": "294" + "type": "298" }, { "name": "websocket", @@ -18374,67 +19206,67 @@ "meta-type": "object" }, { - "name": "[301]", - "element-type": "301", + "name": "[305]", + "element-type": "305", "meta-type": "array" }, { - "name": "301", + "name": "305", "tag": "type", "variants": [ { "case": "number", - "type": "418" + "type": "423" }, { "case": "qcode", - "type": "419" + "type": "424" } ], "members": [ { "name": "type", - "type": "417" + "type": "422" } ], "meta-type": "object" }, { - "name": "[302]", - "element-type": "302", + "name": "[306]", + "element-type": "306", "meta-type": "array" }, { - "name": "302", + "name": "306", "tag": "type", "variants": [ { "case": "key", - "type": "421" + "type": "426" }, { "case": "btn", - "type": "422" + "type": "427" }, { "case": "rel", - "type": "423" + "type": "428" }, { "case": "abs", - "type": "423" + "type": "428" } ], "members": [ { "name": "type", - "type": "420" + "type": "425" } ], "meta-type": "object" }, { - "name": "303", + "name": "307", "meta-type": "enum", "values": [ "default", @@ -18448,7 +19280,7 @@ ] }, { - "name": "304", + "name": "308", "meta-type": "enum", "values": [ "off", @@ -18458,7 +19290,7 @@ ] }, { - "name": "305", + "name": "309", "members": [ { "name": "grab-on-hover", @@ -18474,7 +19306,7 @@ "meta-type": "object" }, { - "name": "306", + "name": "310", "members": [ { "name": "charset", @@ -18485,7 +19317,7 @@ "meta-type": "object" }, { - "name": "307", + "name": "311", "members": [ { "name": "rendernode", @@ -18496,7 +19328,7 @@ "meta-type": "object" }, { - "name": "308", + "name": "312", "meta-type": "enum", "values": [ "none", @@ -18511,11 +19343,12 @@ "failed", "colo", "pre-switchover", - "device" + "device", + "wait-unplug" ] }, { - "name": "309", + "name": "313", "members": [ { "name": "transferred", @@ -18577,7 +19410,7 @@ "meta-type": "object" }, { - "name": "310", + "name": "314", "members": [ { "name": "cache-size", @@ -18607,7 +19440,7 @@ "meta-type": "object" }, { - "name": "311", + "name": "315", "members": [ { "name": "pages", @@ -18633,41 +19466,41 @@ "meta-type": "object" }, { - "name": "[312]", - "element-type": "312", + "name": "[316]", + "element-type": "316", "meta-type": "array" }, { - "name": "312", + "name": "316", "tag": "type", "variants": [ { "case": "inet", - "type": "380" + "type": "385" }, { "case": "unix", - "type": "425" + "type": "430" }, { "case": "vsock", - "type": "426" + "type": "431" }, { "case": "fd", - "type": "427" + "type": "432" } ], "members": [ { "name": "type", - "type": "424" + "type": "429" } ], "meta-type": "object" }, { - "name": "313", + "name": "317", "meta-type": "enum", "values": [ "xbzrle", @@ -18691,7 +19524,7 @@ ] }, { - "name": "314", + "name": "318", "meta-type": "enum", "values": [ "none", @@ -18700,7 +19533,7 @@ ] }, { - "name": "315", + "name": "319", "meta-type": "enum", "values": [ "none", @@ -18715,84 +19548,84 @@ "meta-type": "builtin" }, { - "name": "[316]", - "element-type": "316", + "name": "[320]", + "element-type": "320", "meta-type": "array" }, { - "name": "316", + "name": "320", "tag": "type", "variants": [ { "case": "abort", - "type": "429" + "type": "434" }, { "case": "block-dirty-bitmap-add", - "type": "430" + "type": "435" }, { "case": "block-dirty-bitmap-remove", - "type": "431" + "type": "436" }, { "case": "block-dirty-bitmap-clear", - "type": "431" + "type": "436" }, { "case": "block-dirty-bitmap-enable", - "type": "431" + "type": "436" }, { "case": "block-dirty-bitmap-disable", - "type": "431" + "type": "436" }, { "case": "block-dirty-bitmap-merge", - "type": "432" + "type": "437" }, { "case": "blockdev-backup", - "type": "433" + "type": "438" }, { "case": "blockdev-snapshot", - "type": "434" + "type": "439" }, { "case": "blockdev-snapshot-internal-sync", - "type": "435" + "type": "440" }, { "case": "blockdev-snapshot-sync", - "type": "436" + "type": "441" }, { "case": "drive-backup", - "type": "437" + "type": "442" } ], "members": [ { "name": "type", - "type": "428" + "type": "433" } ], "meta-type": "object" }, { - "name": "317", + "name": "321", "members": [ { "name": "completion-mode", "default": null, - "type": "438" + "type": "443" } ], "meta-type": "object" }, { - "name": "318", + "name": "322", "meta-type": "enum", "values": [ "unavailable", @@ -18801,7 +19634,7 @@ ] }, { - "name": "319", + "name": "323", "meta-type": "enum", "values": [ "builtin", @@ -18814,17 +19647,17 @@ ] }, { - "name": "320", + "name": "324", "members": [ { "name": "json-type", - "type": "439" + "type": "444" } ], "meta-type": "object" }, { - "name": "321", + "name": "325", "members": [ { "name": "values", @@ -18834,7 +19667,7 @@ "meta-type": "object" }, { - "name": "322", + "name": "326", "members": [ { "name": "element-type", @@ -18844,11 +19677,11 @@ "meta-type": "object" }, { - "name": "323", + "name": "327", "members": [ { "name": "members", - "type": "[440]" + "type": "[445]" }, { "name": "tag", @@ -18858,7 +19691,7 @@ { "name": "variants", "default": null, - "type": "[441]" + "type": "[446]" }, { "name": "features", @@ -18869,17 +19702,17 @@ "meta-type": "object" }, { - "name": "324", + "name": "328", "members": [ { "name": "members", - "type": "[442]" + "type": "[447]" } ], "meta-type": "object" }, { - "name": "325", + "name": "329", "members": [ { "name": "arg-type", @@ -18893,12 +19726,17 @@ "name": "allow-oob", "default": null, "type": "bool" + }, + { + "name": "features", + "default": null, + "type": "[str]" } ], "meta-type": "object" }, { - "name": "326", + "name": "330", "members": [ { "name": "arg-type", @@ -18908,7 +19746,7 @@ "meta-type": "object" }, { - "name": "327", + "name": "331", "members": [ { "name": "node-id", @@ -18939,7 +19777,7 @@ "meta-type": "object" }, { - "name": "328", + "name": "332", "meta-type": "enum", "values": [ "x86", @@ -18953,7 +19791,7 @@ ] }, { - "name": "329", + "name": "333", "members": [ { "name": "pc", @@ -18963,7 +19801,7 @@ "meta-type": "object" }, { - "name": "330", + "name": "334", "members": [ { "name": "pc", @@ -18977,7 +19815,7 @@ "meta-type": "object" }, { - "name": "331", + "name": "335", "members": [ { "name": "nip", @@ -18987,7 +19825,7 @@ "meta-type": "object" }, { - "name": "332", + "name": "336", "members": [ { "name": "PC", @@ -18997,7 +19835,7 @@ "meta-type": "object" }, { - "name": "333", + "name": "337", "members": [ { "name": "PC", @@ -19007,17 +19845,17 @@ "meta-type": "object" }, { - "name": "334", + "name": "338", "members": [ { "name": "cpu-state", - "type": "443" + "type": "448" } ], "meta-type": "object" }, { - "name": "335", + "name": "339", "members": [ { "name": "pc", @@ -19027,7 +19865,7 @@ "meta-type": "object" }, { - "name": "336", + "name": "340", "meta-type": "enum", "values": [ "aarch64", @@ -19064,7 +19902,7 @@ ] }, { - "name": "337", + "name": "341", "meta-type": "enum", "values": [ "default", @@ -19074,7 +19912,7 @@ ] }, { - "name": "338", + "name": "342", "meta-type": "enum", "values": [ "node", @@ -19083,7 +19921,7 @@ ] }, { - "name": "339", + "name": "343", "members": [ { "name": "nodeid", @@ -19109,7 +19947,7 @@ "meta-type": "object" }, { - "name": "340", + "name": "344", "members": [ { "name": "src", @@ -19127,7 +19965,7 @@ "meta-type": "object" }, { - "name": "341", + "name": "345", "members": [ { "name": "node-id", @@ -19158,7 +19996,7 @@ "meta-type": "object" }, { - "name": "342", + "name": "346", "members": [ { "name": "name", @@ -19173,7 +20011,7 @@ "meta-type": "object" }, { - "name": "343", + "name": "347", "meta-type": "enum", "values": [ "incompatible", @@ -19183,7 +20021,7 @@ ] }, { - "name": "344", + "name": "348", "meta-type": "enum", "values": [ "static", @@ -19191,19 +20029,19 @@ ] }, { - "name": "[345]", - "element-type": "345", + "name": "[349]", + "element-type": "349", "meta-type": "array" }, { - "name": "345", + "name": "349", "meta-type": "enum", "values": [ "oob" ] }, { - "name": "346", + "name": "350", "members": [ { "name": "major", @@ -19221,12 +20059,12 @@ "meta-type": "object" }, { - "name": "[347]", - "element-type": "347", + "name": "[351]", + "element-type": "351", "meta-type": "array" }, { - "name": "347", + "name": "351", "members": [ { "name": "bus", @@ -19242,11 +20080,11 @@ }, { "name": "class_info", - "type": "444" + "type": "449" }, { "name": "id", - "type": "445" + "type": "450" }, { "name": "irq", @@ -19260,22 +20098,22 @@ { "name": "pci_bridge", "default": null, - "type": "446" + "type": "451" }, { "name": "regions", - "type": "[447]" + "type": "[452]" } ], "meta-type": "object" }, { - "name": "[348]", - "element-type": "348", + "name": "[352]", + "element-type": "352", "meta-type": "array" }, { - "name": "348", + "name": "352", "members": [ { "name": "fd", @@ -19290,12 +20128,12 @@ "meta-type": "object" }, { - "name": "[349]", - "element-type": "349", + "name": "[353]", + "element-type": "353", "meta-type": "array" }, { - "name": "349", + "name": "353", "members": [ { "name": "name", @@ -19303,7 +20141,7 @@ }, { "name": "type", - "type": "448" + "type": "453" }, { "name": "help", @@ -19319,7 +20157,7 @@ "meta-type": "object" }, { - "name": "350", + "name": "354", "meta-type": "enum", "values": [ "dimm", @@ -19328,27 +20166,27 @@ ] }, { - "name": "351", + "name": "355", "members": [ { "name": "data", - "type": "449" + "type": "454" } ], "meta-type": "object" }, { - "name": "352", + "name": "356", "members": [ { "name": "data", - "type": "450" + "type": "455" } ], "meta-type": "object" }, { - "name": "353", + "name": "357", "meta-type": "enum", "values": [ "DIMM", @@ -19356,7 +20194,7 @@ ] }, { - "name": "354", + "name": "358", "meta-type": "enum", "values": [ "uninit", @@ -19368,7 +20206,7 @@ ] }, { - "name": "355", + "name": "359", "meta-type": "enum", "values": [ "hyper-v", @@ -19376,7 +20214,7 @@ ] }, { - "name": "356", + "name": "360", "members": [ { "name": "arg1", @@ -19402,7 +20240,7 @@ "meta-type": "object" }, { - "name": "357", + "name": "361", "members": [ { "name": "core", @@ -19418,13 +20256,13 @@ }, { "name": "reason", - "type": "451" + "type": "456" } ], "meta-type": "object" }, { - "name": "358", + "name": "362", "meta-type": "enum", "values": [ "active", @@ -19435,12 +20273,12 @@ ] }, { - "name": "[359]", - "element-type": "359", + "name": "[363]", + "element-type": "363", "meta-type": "array" }, { - "name": "359", + "name": "363", "members": [ { "name": "interval_length", @@ -19494,7 +20332,7 @@ "meta-type": "object" }, { - "name": "360", + "name": "364", "members": [ { "name": "boundaries", @@ -19507,38 +20345,56 @@ ], "meta-type": "object" }, + { + "name": "365", + "members": [ + { + "name": "discard-nb-ok", + "type": "int" + }, + { + "name": "discard-nb-failed", + "type": "int" + }, + { + "name": "discard-bytes-ok", + "type": "int" + } + ], + "meta-type": "object" + }, { "name": "[67]", "element-type": "67", "meta-type": "array" }, { - "name": "361", + "name": "366", "tag": "type", "variants": [ { "case": "qcow2", - "type": "453" + "type": "458" }, { "case": "vmdk", - "type": "454" + "type": "459" }, { "case": "luks", - "type": "455" + "type": "460" } ], "members": [ { "name": "type", - "type": "452" + "type": "457" } ], "meta-type": "object" }, { - "name": "362", + "name": "367", "meta-type": "enum", "values": [ "block-backend", @@ -19547,12 +20403,12 @@ ] }, { - "name": "[363]", - "element-type": "363", + "name": "[368]", + "element-type": "368", "meta-type": "array" }, { - "name": "363", + "name": "368", "meta-type": "enum", "values": [ "consistent-read", @@ -19563,7 +20419,7 @@ ] }, { - "name": "364", + "name": "369", "members": [ { "type": "45" @@ -19575,16 +20431,16 @@ "meta-type": "alternate" }, { - "name": "[365]", - "element-type": "365", + "name": "[370]", + "element-type": "370", "meta-type": "array" }, { - "name": "365", + "name": "370", "members": [ { "name": "event", - "type": "456" + "type": "461" }, { "name": "state", @@ -19594,7 +20450,7 @@ { "name": "iotype", "default": null, - "type": "457" + "type": "462" }, { "name": "errno", @@ -19620,16 +20476,16 @@ "meta-type": "object" }, { - "name": "[366]", - "element-type": "366", + "name": "[371]", + "element-type": "371", "meta-type": "array" }, { - "name": "366", + "name": "371", "members": [ { "name": "event", - "type": "456" + "type": "461" }, { "name": "state", @@ -19644,7 +20500,7 @@ "meta-type": "object" }, { - "name": "367", + "name": "372", "meta-type": "enum", "values": [ "auto", @@ -19653,7 +20509,7 @@ ] }, { - "name": "368", + "name": "373", "meta-type": "enum", "values": [ "threads", @@ -19661,7 +20517,7 @@ ] }, { - "name": "369", + "name": "374", "meta-type": "enum", "values": [ "tcp", @@ -19669,7 +20525,7 @@ ] }, { - "name": "370", + "name": "375", "meta-type": "enum", "values": [ "crc32c", @@ -19679,11 +20535,11 @@ ] }, { - "name": "371", + "name": "376", "members": [ { "name": "type", - "type": "458" + "type": "463" }, { "name": "host", @@ -19693,7 +20549,7 @@ "meta-type": "object" }, { - "name": "372", + "name": "377", "members": [ { "type": "45" @@ -19708,62 +20564,62 @@ "meta-type": "alternate" }, { - "name": "373", + "name": "378", "members": [ { - "type": "459" + "type": "464" }, { - "type": "460" + "type": "465" } ], "meta-type": "alternate" }, { - "name": "374", + "name": "379", "tag": "format", "variants": [ { "case": "aes", - "type": "462" + "type": "467" }, { "case": "luks", - "type": "463" + "type": "468" } ], "members": [ { "name": "format", - "type": "461" + "type": "466" } ], "meta-type": "object" }, { - "name": "375", + "name": "380", "tag": "format", "variants": [ { "case": "aes", - "type": "462" + "type": "467" } ], "members": [ { "name": "format", - "type": "464" + "type": "469" } ], "meta-type": "object" }, { - "name": "[364]", - "element-type": "364", + "name": "[369]", + "element-type": "369", "meta-type": "array" }, { - "name": "376", + "name": "381", "meta-type": "enum", "values": [ "quorum", @@ -19771,12 +20627,12 @@ ] }, { - "name": "[377]", - "element-type": "377", + "name": "[382]", + "element-type": "382", "meta-type": "array" }, { - "name": "377", + "name": "382", "meta-type": "enum", "values": [ "cephx", @@ -19784,12 +20640,12 @@ ] }, { - "name": "[378]", - "element-type": "378", + "name": "[383]", + "element-type": "383", "meta-type": "array" }, { - "name": "378", + "name": "383", "members": [ { "name": "host", @@ -19803,7 +20659,7 @@ "meta-type": "object" }, { - "name": "379", + "name": "384", "meta-type": "enum", "values": [ "primary", @@ -19811,7 +20667,7 @@ ] }, { - "name": "380", + "name": "385", "members": [ { "name": "host", @@ -19850,12 +20706,12 @@ "meta-type": "object" }, { - "name": "381", + "name": "386", "tag": "mode", "variants": [ { "case": "hash", - "type": "466" + "type": "471" }, { "case": "none", @@ -19869,13 +20725,13 @@ "members": [ { "name": "mode", - "type": "465" + "type": "470" } ], "meta-type": "object" }, { - "name": "382", + "name": "387", "members": [ { "name": "filename", @@ -19888,7 +20744,7 @@ { "name": "preallocation", "default": null, - "type": "467" + "type": "472" }, { "name": "nocow", @@ -19899,11 +20755,11 @@ "meta-type": "object" }, { - "name": "383", + "name": "388", "members": [ { "name": "location", - "type": "250" + "type": "254" }, { "name": "size", @@ -19912,13 +20768,13 @@ { "name": "preallocation", "default": null, - "type": "467" + "type": "472" } ], "meta-type": "object" }, { - "name": "384", + "name": "389", "members": [ { "name": "key-secret", @@ -19928,27 +20784,27 @@ { "name": "cipher-alg", "default": null, - "type": "468" + "type": "473" }, { "name": "cipher-mode", "default": null, - "type": "469" + "type": "474" }, { "name": "ivgen-alg", "default": null, - "type": "470" + "type": "475" }, { "name": "ivgen-hash-alg", "default": null, - "type": "471" + "type": "476" }, { "name": "hash-alg", "default": null, - "type": "471" + "type": "476" }, { "name": "iter-time", @@ -19957,7 +20813,7 @@ }, { "name": "file", - "type": "364" + "type": "369" }, { "name": "size", @@ -19966,17 +20822,17 @@ { "name": "preallocation", "default": null, - "type": "467" + "type": "472" } ], "meta-type": "object" }, { - "name": "385", + "name": "390", "members": [ { "name": "location", - "type": "256" + "type": "260" }, { "name": "size", @@ -19986,11 +20842,11 @@ "meta-type": "object" }, { - "name": "386", + "name": "391", "members": [ { "name": "file", - "type": "364" + "type": "369" }, { "name": "size", @@ -20005,11 +20861,11 @@ "meta-type": "object" }, { - "name": "387", + "name": "392", "members": [ { "name": "file", - "type": "364" + "type": "369" }, { "name": "size", @@ -20023,22 +20879,22 @@ { "name": "encrypt", "default": null, - "type": "472" + "type": "477" } ], "meta-type": "object" }, { - "name": "388", + "name": "393", "members": [ { "name": "file", - "type": "364" + "type": "369" }, { "name": "data-file", "default": null, - "type": "364" + "type": "369" }, { "name": "data-file-raw", @@ -20052,7 +20908,7 @@ { "name": "version", "default": null, - "type": "473" + "type": "478" }, { "name": "backing-file", @@ -20062,12 +20918,12 @@ { "name": "backing-fmt", "default": null, - "type": "240" + "type": "243" }, { "name": "encrypt", "default": null, - "type": "472" + "type": "477" }, { "name": "cluster-size", @@ -20077,7 +20933,7 @@ { "name": "preallocation", "default": null, - "type": "467" + "type": "472" }, { "name": "lazy-refcounts", @@ -20093,11 +20949,11 @@ "meta-type": "object" }, { - "name": "389", + "name": "394", "members": [ { "name": "file", - "type": "364" + "type": "369" }, { "name": "size", @@ -20111,7 +20967,7 @@ { "name": "backing-fmt", "default": null, - "type": "240" + "type": "243" }, { "name": "cluster-size", @@ -20127,11 +20983,11 @@ "meta-type": "object" }, { - "name": "390", + "name": "395", "members": [ { "name": "location", - "type": "264" + "type": "268" }, { "name": "size", @@ -20146,11 +21002,11 @@ "meta-type": "object" }, { - "name": "391", + "name": "396", "members": [ { "name": "location", - "type": "266" + "type": "270" }, { "name": "size", @@ -20164,12 +21020,12 @@ { "name": "preallocation", "default": null, - "type": "467" + "type": "472" }, { "name": "redundancy", "default": null, - "type": "474" + "type": "479" }, { "name": "object-size", @@ -20180,11 +21036,11 @@ "meta-type": "object" }, { - "name": "392", + "name": "397", "members": [ { "name": "location", - "type": "267" + "type": "271" }, { "name": "size", @@ -20194,11 +21050,11 @@ "meta-type": "object" }, { - "name": "393", + "name": "398", "members": [ { "name": "file", - "type": "364" + "type": "369" }, { "name": "size", @@ -20207,17 +21063,17 @@ { "name": "preallocation", "default": null, - "type": "467" + "type": "472" } ], "meta-type": "object" }, { - "name": "394", + "name": "399", "members": [ { "name": "file", - "type": "364" + "type": "369" }, { "name": "size", @@ -20236,7 +21092,7 @@ { "name": "subformat", "default": null, - "type": "475" + "type": "480" }, { "name": "block-state-zero", @@ -20247,11 +21103,11 @@ "meta-type": "object" }, { - "name": "395", + "name": "400", "members": [ { "name": "file", - "type": "364" + "type": "369" }, { "name": "size", @@ -20260,12 +21116,12 @@ { "name": "extents", "default": null, - "type": "[364]" + "type": "[369]" }, { "name": "subformat", "default": null, - "type": "476" + "type": "481" }, { "name": "backing-file", @@ -20275,7 +21131,7 @@ { "name": "adapter-type", "default": null, - "type": "477" + "type": "482" }, { "name": "hwversion", @@ -20291,11 +21147,11 @@ "meta-type": "object" }, { - "name": "396", + "name": "401", "members": [ { "name": "file", - "type": "364" + "type": "369" }, { "name": "size", @@ -20304,7 +21160,7 @@ { "name": "subformat", "default": null, - "type": "478" + "type": "483" }, { "name": "force-size", @@ -20320,7 +21176,7 @@ "meta-type": "builtin" }, { - "name": "397", + "name": "402", "meta-type": "enum", "values": [ "inet", @@ -20330,47 +21186,47 @@ ] }, { - "name": "398", + "name": "403", "members": [ { "name": "data", - "type": "380" + "type": "385" } ], "meta-type": "object" }, { - "name": "399", + "name": "404", "members": [ { "name": "data", - "type": "425" + "type": "430" } ], "meta-type": "object" }, { - "name": "400", + "name": "405", "members": [ { "name": "data", - "type": "426" + "type": "431" } ], "meta-type": "object" }, { - "name": "401", + "name": "406", "members": [ { "name": "data", - "type": "427" + "type": "432" } ], "meta-type": "object" }, { - "name": "402", + "name": "407", "meta-type": "enum", "values": [ "file", @@ -20396,117 +21252,117 @@ ] }, { - "name": "403", + "name": "408", "members": [ { "name": "data", - "type": "479" + "type": "484" } ], "meta-type": "object" }, { - "name": "404", + "name": "409", "members": [ { "name": "data", - "type": "480" + "type": "485" } ], "meta-type": "object" }, { - "name": "405", + "name": "410", "members": [ { "name": "data", - "type": "481" + "type": "486" } ], "meta-type": "object" }, { - "name": "406", + "name": "411", "members": [ { "name": "data", - "type": "482" + "type": "487" } ], "meta-type": "object" }, { - "name": "407", + "name": "412", "members": [ { "name": "data", - "type": "483" + "type": "488" } ], "meta-type": "object" }, { - "name": "408", + "name": "413", "members": [ { "name": "data", - "type": "484" + "type": "489" } ], "meta-type": "object" }, { - "name": "409", + "name": "414", "members": [ { "name": "data", - "type": "485" + "type": "490" } ], "meta-type": "object" }, { - "name": "410", + "name": "415", "members": [ { "name": "data", - "type": "486" + "type": "491" } ], "meta-type": "object" }, { - "name": "411", + "name": "416", "members": [ { "name": "data", - "type": "487" + "type": "492" } ], "meta-type": "object" }, { - "name": "412", + "name": "417", "members": [ { "name": "data", - "type": "488" + "type": "493" } ], "meta-type": "object" }, { - "name": "413", + "name": "418", "members": [ { "name": "data", - "type": "489" + "type": "494" } ], "meta-type": "object" }, { - "name": "414", + "name": "419", "meta-type": "enum", "values": [ "passthrough", @@ -20514,27 +21370,27 @@ ] }, { - "name": "415", + "name": "420", "members": [ { "name": "data", - "type": "490" + "type": "495" } ], "meta-type": "object" }, { - "name": "416", + "name": "421", "members": [ { "name": "data", - "type": "491" + "type": "496" } ], "meta-type": "object" }, { - "name": "417", + "name": "422", "meta-type": "enum", "values": [ "number", @@ -20542,7 +21398,7 @@ ] }, { - "name": "418", + "name": "423", "members": [ { "name": "data", @@ -20552,17 +21408,17 @@ "meta-type": "object" }, { - "name": "419", + "name": "424", "members": [ { "name": "data", - "type": "492" + "type": "497" } ], "meta-type": "object" }, { - "name": "420", + "name": "425", "meta-type": "enum", "values": [ "key", @@ -20572,37 +21428,37 @@ ] }, { - "name": "421", + "name": "426", "members": [ { "name": "data", - "type": "493" + "type": "498" } ], "meta-type": "object" }, { - "name": "422", + "name": "427", "members": [ { "name": "data", - "type": "494" + "type": "499" } ], "meta-type": "object" }, { - "name": "423", + "name": "428", "members": [ { "name": "data", - "type": "495" + "type": "500" } ], "meta-type": "object" }, { - "name": "424", + "name": "429", "meta-type": "enum", "values": [ "inet", @@ -20612,7 +21468,7 @@ ] }, { - "name": "425", + "name": "430", "members": [ { "name": "path", @@ -20622,7 +21478,7 @@ "meta-type": "object" }, { - "name": "426", + "name": "431", "members": [ { "name": "cid", @@ -20636,7 +21492,7 @@ "meta-type": "object" }, { - "name": "427", + "name": "432", "members": [ { "name": "str", @@ -20646,7 +21502,7 @@ "meta-type": "object" }, { - "name": "428", + "name": "433", "meta-type": "enum", "values": [ "abort", @@ -20664,17 +21520,17 @@ ] }, { - "name": "429", + "name": "434", "members": [ { "name": "data", - "type": "496" + "type": "501" } ], "meta-type": "object" }, { - "name": "430", + "name": "435", "members": [ { "name": "data", @@ -20684,7 +21540,7 @@ "meta-type": "object" }, { - "name": "431", + "name": "436", "members": [ { "name": "data", @@ -20694,7 +21550,7 @@ "meta-type": "object" }, { - "name": "432", + "name": "437", "members": [ { "name": "data", @@ -20704,7 +21560,7 @@ "meta-type": "object" }, { - "name": "433", + "name": "438", "members": [ { "name": "data", @@ -20714,7 +21570,7 @@ "meta-type": "object" }, { - "name": "434", + "name": "439", "members": [ { "name": "data", @@ -20724,7 +21580,7 @@ "meta-type": "object" }, { - "name": "435", + "name": "440", "members": [ { "name": "data", @@ -20734,7 +21590,7 @@ "meta-type": "object" }, { - "name": "436", + "name": "441", "members": [ { "name": "data", @@ -20744,7 +21600,7 @@ "meta-type": "object" }, { - "name": "437", + "name": "442", "members": [ { "name": "data", @@ -20754,7 +21610,7 @@ "meta-type": "object" }, { - "name": "438", + "name": "443", "meta-type": "enum", "values": [ "individual", @@ -20762,7 +21618,7 @@ ] }, { - "name": "439", + "name": "444", "meta-type": "enum", "values": [ "string", @@ -20776,12 +21632,12 @@ ] }, { - "name": "[440]", - "element-type": "440", + "name": "[445]", + "element-type": "445", "meta-type": "array" }, { - "name": "440", + "name": "445", "members": [ { "name": "name", @@ -20800,12 +21656,12 @@ "meta-type": "object" }, { - "name": "[441]", - "element-type": "441", + "name": "[446]", + "element-type": "446", "meta-type": "array" }, { - "name": "441", + "name": "446", "members": [ { "name": "case", @@ -20819,12 +21675,12 @@ "meta-type": "object" }, { - "name": "[442]", - "element-type": "442", + "name": "[447]", + "element-type": "447", "meta-type": "array" }, { - "name": "442", + "name": "447", "members": [ { "name": "type", @@ -20834,7 +21690,7 @@ "meta-type": "object" }, { - "name": "443", + "name": "448", "meta-type": "enum", "values": [ "uninitialized", @@ -20845,7 +21701,7 @@ ] }, { - "name": "444", + "name": "449", "members": [ { "name": "desc", @@ -20860,7 +21716,7 @@ "meta-type": "object" }, { - "name": "445", + "name": "450", "members": [ { "name": "device", @@ -20884,27 +21740,27 @@ "meta-type": "object" }, { - "name": "446", + "name": "451", "members": [ { "name": "bus", - "type": "497" + "type": "502" }, { "name": "devices", "default": null, - "type": "[347]" + "type": "[351]" } ], "meta-type": "object" }, { - "name": "[447]", - "element-type": "447", + "name": "[452]", + "element-type": "452", "meta-type": "array" }, { - "name": "447", + "name": "452", "members": [ { "name": "bar", @@ -20936,7 +21792,7 @@ "meta-type": "object" }, { - "name": "448", + "name": "453", "meta-type": "enum", "values": [ "string", @@ -20946,7 +21802,7 @@ ] }, { - "name": "449", + "name": "454", "members": [ { "name": "id", @@ -20985,7 +21841,7 @@ "meta-type": "object" }, { - "name": "450", + "name": "455", "members": [ { "name": "id", @@ -21008,7 +21864,7 @@ "meta-type": "object" }, { - "name": "451", + "name": "456", "meta-type": "enum", "values": [ "unknown", @@ -21019,7 +21875,7 @@ ] }, { - "name": "452", + "name": "457", "meta-type": "enum", "values": [ "qcow2", @@ -21028,37 +21884,37 @@ ] }, { - "name": "453", + "name": "458", "members": [ { "name": "data", - "type": "498" + "type": "503" } ], "meta-type": "object" }, { - "name": "454", + "name": "459", "members": [ { "name": "data", - "type": "499" + "type": "504" } ], "meta-type": "object" }, { - "name": "455", + "name": "460", "members": [ { "name": "data", - "type": "500" + "type": "505" } ], "meta-type": "object" }, { - "name": "456", + "name": "461", "meta-type": "enum", "values": [ "l1_update", @@ -21112,7 +21968,7 @@ ] }, { - "name": "457", + "name": "462", "meta-type": "enum", "values": [ "read", @@ -21124,19 +21980,19 @@ ] }, { - "name": "458", + "name": "463", "meta-type": "enum", "values": [ "inet" ] }, { - "name": "459", + "name": "464", "members": [ { "name": "template", "default": null, - "type": "460" + "type": "465" }, { "name": "main-header", @@ -21187,7 +22043,7 @@ "meta-type": "object" }, { - "name": "460", + "name": "465", "meta-type": "enum", "values": [ "none", @@ -21197,7 +22053,7 @@ ] }, { - "name": "461", + "name": "466", "meta-type": "enum", "values": [ "aes", @@ -21205,7 +22061,7 @@ ] }, { - "name": "462", + "name": "467", "members": [ { "name": "key-secret", @@ -21216,7 +22072,7 @@ "meta-type": "object" }, { - "name": "463", + "name": "468", "members": [ { "name": "key-secret", @@ -21227,14 +22083,14 @@ "meta-type": "object" }, { - "name": "464", + "name": "469", "meta-type": "enum", "values": [ "aes" ] }, { - "name": "465", + "name": "470", "meta-type": "enum", "values": [ "none", @@ -21243,11 +22099,11 @@ ] }, { - "name": "466", + "name": "471", "members": [ { "name": "type", - "type": "501" + "type": "506" }, { "name": "hash", @@ -21257,7 +22113,7 @@ "meta-type": "object" }, { - "name": "467", + "name": "472", "meta-type": "enum", "values": [ "off", @@ -21267,7 +22123,7 @@ ] }, { - "name": "468", + "name": "473", "meta-type": "enum", "values": [ "aes-128", @@ -21285,7 +22141,7 @@ ] }, { - "name": "469", + "name": "474", "meta-type": "enum", "values": [ "ecb", @@ -21295,7 +22151,7 @@ ] }, { - "name": "470", + "name": "475", "meta-type": "enum", "values": [ "plain", @@ -21304,7 +22160,7 @@ ] }, { - "name": "471", + "name": "476", "meta-type": "enum", "values": [ "md5", @@ -21317,28 +22173,28 @@ ] }, { - "name": "472", + "name": "477", "tag": "format", "variants": [ { "case": "qcow", - "type": "462" + "type": "467" }, { "case": "luks", - "type": "503" + "type": "508" } ], "members": [ { "name": "format", - "type": "502" + "type": "507" } ], "meta-type": "object" }, { - "name": "473", + "name": "478", "meta-type": "enum", "values": [ "v2", @@ -21346,28 +22202,28 @@ ] }, { - "name": "474", + "name": "479", "tag": "type", "variants": [ { "case": "full", - "type": "505" + "type": "510" }, { "case": "erasure-coded", - "type": "506" + "type": "511" } ], "members": [ { "name": "type", - "type": "504" + "type": "509" } ], "meta-type": "object" }, { - "name": "475", + "name": "480", "meta-type": "enum", "values": [ "dynamic", @@ -21375,7 +22231,7 @@ ] }, { - "name": "476", + "name": "481", "meta-type": "enum", "values": [ "monolithicSparse", @@ -21386,7 +22242,7 @@ ] }, { - "name": "477", + "name": "482", "meta-type": "enum", "values": [ "ide", @@ -21396,7 +22252,7 @@ ] }, { - "name": "478", + "name": "483", "meta-type": "enum", "values": [ "dynamic", @@ -21404,7 +22260,7 @@ ] }, { - "name": "479", + "name": "484", "members": [ { "name": "logfile", @@ -21434,7 +22290,7 @@ "meta-type": "object" }, { - "name": "480", + "name": "485", "members": [ { "name": "logfile", @@ -21454,7 +22310,7 @@ "meta-type": "object" }, { - "name": "481", + "name": "486", "members": [ { "name": "logfile", @@ -21468,7 +22324,7 @@ }, { "name": "addr", - "type": "276" + "type": "280" }, { "name": "tls-creds", @@ -21519,7 +22375,7 @@ "meta-type": "object" }, { - "name": "482", + "name": "487", "members": [ { "name": "logfile", @@ -21533,18 +22389,18 @@ }, { "name": "remote", - "type": "276" + "type": "280" }, { "name": "local", "default": null, - "type": "276" + "type": "280" } ], "meta-type": "object" }, { - "name": "483", + "name": "488", "members": [ { "name": "logfile", @@ -21560,7 +22416,7 @@ "meta-type": "object" }, { - "name": "484", + "name": "489", "members": [ { "name": "logfile", @@ -21580,7 +22436,7 @@ "meta-type": "object" }, { - "name": "485", + "name": "490", "members": [ { "name": "logfile", @@ -21601,7 +22457,7 @@ "meta-type": "object" }, { - "name": "486", + "name": "491", "members": [ { "name": "logfile", @@ -21621,7 +22477,7 @@ "meta-type": "object" }, { - "name": "487", + "name": "492", "members": [ { "name": "logfile", @@ -21641,7 +22497,7 @@ "meta-type": "object" }, { - "name": "488", + "name": "493", "members": [ { "name": "logfile", @@ -21677,7 +22533,7 @@ "meta-type": "object" }, { - "name": "489", + "name": "494", "members": [ { "name": "logfile", @@ -21698,7 +22554,7 @@ "meta-type": "object" }, { - "name": "490", + "name": "495", "members": [ { "name": "path", @@ -21714,7 +22570,7 @@ "meta-type": "object" }, { - "name": "491", + "name": "496", "members": [ { "name": "chardev", @@ -21724,7 +22580,7 @@ "meta-type": "object" }, { - "name": "492", + "name": "497", "meta-type": "enum", "values": [ "unmapped", @@ -21878,11 +22734,11 @@ ] }, { - "name": "493", + "name": "498", "members": [ { "name": "key", - "type": "301" + "type": "305" }, { "name": "down", @@ -21892,11 +22748,11 @@ "meta-type": "object" }, { - "name": "494", + "name": "499", "members": [ { "name": "button", - "type": "507" + "type": "512" }, { "name": "down", @@ -21906,11 +22762,11 @@ "meta-type": "object" }, { - "name": "495", + "name": "500", "members": [ { "name": "axis", - "type": "508" + "type": "513" }, { "name": "value", @@ -21920,13 +22776,13 @@ "meta-type": "object" }, { - "name": "496", + "name": "501", "members": [ ], "meta-type": "object" }, { - "name": "497", + "name": "502", "members": [ { "name": "number", @@ -21942,21 +22798,21 @@ }, { "name": "io_range", - "type": "509" + "type": "514" }, { "name": "memory_range", - "type": "509" + "type": "514" }, { "name": "prefetchable_range", - "type": "509" + "type": "514" } ], "meta-type": "object" }, { - "name": "498", + "name": "503", "members": [ { "name": "compat", @@ -21989,18 +22845,18 @@ { "name": "encrypt", "default": null, - "type": "510" + "type": "515" }, { "name": "bitmaps", "default": null, - "type": "[511]" + "type": "[516]" } ], "meta-type": "object" }, { - "name": "499", + "name": "504", "members": [ { "name": "create-type", @@ -22016,34 +22872,34 @@ }, { "name": "extents", - "type": "[234]" + "type": "[237]" } ], "meta-type": "object" }, { - "name": "500", + "name": "505", "members": [ { "name": "cipher-alg", - "type": "468" + "type": "473" }, { "name": "cipher-mode", - "type": "469" + "type": "474" }, { "name": "ivgen-alg", - "type": "470" + "type": "475" }, { "name": "ivgen-hash-alg", "default": null, - "type": "471" + "type": "476" }, { "name": "hash-alg", - "type": "471" + "type": "476" }, { "name": "payload-offset", @@ -22059,13 +22915,13 @@ }, { "name": "slots", - "type": "[512]" + "type": "[517]" } ], "meta-type": "object" }, { - "name": "501", + "name": "506", "meta-type": "enum", "values": [ "md5", @@ -22073,7 +22929,7 @@ ] }, { - "name": "502", + "name": "507", "meta-type": "enum", "values": [ "qcow", @@ -22081,7 +22937,7 @@ ] }, { - "name": "503", + "name": "508", "members": [ { "name": "key-secret", @@ -22091,27 +22947,27 @@ { "name": "cipher-alg", "default": null, - "type": "468" + "type": "473" }, { "name": "cipher-mode", "default": null, - "type": "469" + "type": "474" }, { "name": "ivgen-alg", "default": null, - "type": "470" + "type": "475" }, { "name": "ivgen-hash-alg", "default": null, - "type": "471" + "type": "476" }, { "name": "hash-alg", "default": null, - "type": "471" + "type": "476" }, { "name": "iter-time", @@ -22122,7 +22978,7 @@ "meta-type": "object" }, { - "name": "504", + "name": "509", "meta-type": "enum", "values": [ "full", @@ -22130,7 +22986,7 @@ ] }, { - "name": "505", + "name": "510", "members": [ { "name": "copies", @@ -22140,7 +22996,7 @@ "meta-type": "object" }, { - "name": "506", + "name": "511", "members": [ { "name": "data-strips", @@ -22154,7 +23010,7 @@ "meta-type": "object" }, { - "name": "507", + "name": "512", "meta-type": "enum", "values": [ "left", @@ -22167,7 +23023,7 @@ ] }, { - "name": "508", + "name": "513", "meta-type": "enum", "values": [ "x", @@ -22175,7 +23031,7 @@ ] }, { - "name": "509", + "name": "514", "members": [ { "name": "base", @@ -22189,12 +23045,12 @@ "meta-type": "object" }, { - "name": "510", + "name": "515", "tag": "format", "variants": [ { "case": "luks", - "type": "500" + "type": "505" }, { "case": "aes", @@ -22204,18 +23060,18 @@ "members": [ { "name": "format", - "type": "461" + "type": "466" } ], "meta-type": "object" }, { - "name": "[511]", - "element-type": "511", + "name": "[516]", + "element-type": "516", "meta-type": "array" }, { - "name": "511", + "name": "516", "members": [ { "name": "name", @@ -22227,23 +23083,23 @@ }, { "name": "flags", - "type": "[513]" + "type": "[518]" } ], "meta-type": "object" }, { - "name": "[234]", - "element-type": "234", + "name": "[237]", + "element-type": "237", "meta-type": "array" }, { - "name": "[512]", - "element-type": "512", + "name": "[517]", + "element-type": "517", "meta-type": "array" }, { - "name": "512", + "name": "517", "members": [ { "name": "active", @@ -22267,12 +23123,12 @@ "meta-type": "object" }, { - "name": "[513]", - "element-type": "513", + "name": "[518]", + "element-type": "518", "meta-type": "array" }, { - "name": "513", + "name": "518", "meta-type": "enum", "values": [ "in-use", @@ -22312,53 +23168,86 @@ "model": { "name": "base", "props": { + "vmx-entry-load-rtit-ctl": false, "cmov": true, "ia64": false, "ssb-no": false, "aes": true, + "vmx-apicv-xapic": true, "mmx": true, "rdpid": false, "arat": true, + "vmx-page-walk-4": true, + "vmx-page-walk-5": false, "gfni": false, "ibrs-all": false, + "vmx-desc-exit": true, "pause-filter": false, "xsavec": true, "intel-pt": false, + "vmx-cr8-store-exit": true, + "vmx-rdseed-exit": true, + "vmx-eptp-switching": true, "kvm-asyncpf": true, "perfctr-core": false, "mpx": true, "pbe": false, "avx512cd": false, "decodeassists": false, + "vmx-exit-load-efer": true, + "vmx-exit-clear-bndcfgs": false, "sse4.1": true, "family": 6, + "vmx-vmwrite-vmexit-fields": true, + "vmx-vnmi": true, + "vmx-true-ctls": true, + "vmx-ept-execonly": true, + "vmx-exit-save-efer": true, + "vmx-invept-all-context": true, "wbnoinvd": false, "avx512f": false, "msr": true, "mce": true, "mca": true, "xcrypt": false, - "min-level": 13, + "vmx-exit-load-pat": true, + "vmx-intr-exit": true, + "min-level": 22, + "vmx-flexpriority": true, "xgetbv1": true, "cid": false, "ds": false, "fxsr": true, "avx512-bf16": false, + "vmx-cr8-load-exit": true, "xsaveopt": true, + "vmx-apicv-vid": false, + "vmx-exit-save-pat": true, "xtpr": false, + "vmx-ple": false, "avx512vl": false, "avx512-vpopcntdq": false, "phe": false, "extapic": false, "3dnowprefetch": true, + "vmx-vmfunc": true, + "vmx-activity-shutdown": false, "avx512vbmi2": false, "cr8legacy": false, + "vmx-encls-exit": false, "stibp": true, + "vmx-msr-bitmap": true, "xcrypt-en": false, + "vmx-mwait-exit": true, + "vmx-pml": true, + "vmx-nmi-exit": true, + "vmx-invept-single-context-noglobals": true, "pn": false, "rsba": false, "dca": false, "vendor": "GenuineIntel", + "vmx-unrestricted-guest": true, + "vmx-cr3-store-noexit": true, "pku": false, "smx": false, "cmp-legacy": false, @@ -22369,6 +23258,7 @@ "amd-no-ssb": false, "npt": false, "rdctl-no": false, + "vmx-invvpid": true, "clwb": false, "lbrv": false, "adx": true, @@ -22378,51 +23268,70 @@ "smep": true, "smap": true, "pfthreshold": false, + "vmx-invpcid-exit": true, "x2apic": true, "avx512vbmi": false, "avx512vnni": false, - "kvm-pv-sched-yield": false, + "vmx-apicv-x2apic": true, + "kvm-pv-sched-yield": true, + "vmx-invlpg-exit": true, + "vmx-invvpid-all-context": true, + "vmx-activity-hlt": true, "flushbyasid": false, "f16c": true, + "vmx-exit-ack-intr": true, "ace2-en": false, "pae": true, "pat": true, "sse": true, "phe-en": false, + "vmx-tsc-offset": true, "kvm-nopiodelay": true, "tm": false, "kvmclock-stable-bit": true, + "vmx-rdtsc-exit": true, "hypervisor": true, + "vmx-rdtscp-exit": true, "mds-no": false, "pcommit": false, + "vmx-vpid": true, "syscall": true, "avx512dq": false, "svm": false, "invtsc": false, + "vmx-monitor-exit": true, "sse2": true, "ssbd": true, + "vmx-wbinvd-exit": true, "est": false, - "kvm-poll-control": false, + "kvm-poll-control": true, "avx512ifma": false, "tm2": false, "kvm-pv-eoi": true, "kvm-pv-ipi": true, "cx8": true, + "vmx-invvpid-single-addr": true, + "waitpkg": false, "cldemote": false, + "vmx-ept": true, "kvm-mmu": false, "sse4.2": true, "pge": true, "avx512bitalg": false, "pdcm": false, + "vmx-entry-load-bndcfgs": false, + "vmx-exit-clear-rtit-ctl": false, "model": 94, "movbe": true, "nrip-save": false, "ssse3": true, "sse4a": false, + "vmx-pause-exit": true, "invpcid": true, "pdpe1gb": true, "tsc-deadline": true, "skip-l1dfl-vmentry": true, + "vmx-exit-load-perf-global-ctrl": false, "fma": true, "cx16": true, "de": true, @@ -22436,26 +23345,38 @@ "ds-cpl": false, "ibs": false, "fma4": false, + "vmx-exit-nosave-debugctl": true, "la57": false, + "vmx-invept": true, "osvw": false, "apic": true, "pmm": false, + "vmx-entry-noload-debugctl": true, + "vmx-eptad": true, "spec-ctrl": true, + "vmx-posted-intr": false, + "vmx-apicv-register": false, "tsc-adjust": true, "kvm-steal-time": true, "kvmclock": true, + "vmx-zero-len-inject": false, + "vmx-rdrand-exit": true, "lwp": false, "amd-ssbd": false, "xop": false, "ibpb": false, "avx": true, "core-capability": false, + "vmx-invept-single-context": true, "movdiri": false, "acpi": false, "avx512bw": false, "ace2": false, "fsgsbase": true, + "vmx-ept-2mb": true, + "vmx-ept-1gb": true, "ht": false, + "vmx-io-exit": true, "nx": true, "pclmulqdq": true, "mmxext": false, @@ -22463,12 +23384,20 @@ "vaes": false, "movdir64b": false, "xsaves": true, + "vmx-shadow-vmcs": true, "lm": true, + "vmx-exit-save-preemption-timer": true, + "vmx-entry-load-pat": true, + "vmx-entry-load-perf-global-ctrl": false, + "vmx-io-bitmap": true, "umip": true, + "vmx-store-lma": true, + "vmx-movdr-exit": true, "pse": true, "avx2": true, "sep": true, "virt-ssbd": false, + "vmx-cr3-load-noexit": true, "nodeid-msr": false, "md-clear": true, "misalignsse": false, @@ -22479,16 +23408,24 @@ "kvm-pv-unhalt": true, "tsc-scale": false, "topoext": false, + "vmx-preemption-timer": true, "clflushopt": true, + "vmx-vnmi-pending": true, "monitor": false, + "vmx-vintr-pending": true, "avx512er": false, "pmm-en": false, "pcid": true, "arch-capabilities": true, + "vmx-secondary-ctls": true, + "vmx-xsaves": true, + "clzero": false, "3dnow": false, "erms": true, + "vmx-entry-ia32e-mode": true, "lahf-lm": true, "vpclmulqdq": false, + "vmx-ins-outs": true, "fxsr-opt": false, "xstore": false, "rtm": true, @@ -22503,14 +23440,21 @@ "dtes64": false, "mtrr": true, "rdtscp": true, + "xsaveerptr": false, "pse36": true, "kvm-pv-tlb-flush": true, + "vmx-activity-wait-sipi": false, "tbm": false, "wdt": false, + "vmx-rdpmc-exit": true, + "vmx-mtf": true, + "vmx-entry-load-efer": true, "model-id": "Intel(R) Xeon(R) CPU E3-1245 v5 @ 3.50GHz", "sha-ni": false, "abm": true, + "vmx-ept-advanced-exitinfo": false, "avx512pf": false, + "vmx-hlt-exit": true, "xstore-en": false } } @@ -22537,53 +23481,86 @@ "model": { "name": "base", "props": { + "vmx-entry-load-rtit-ctl": false, "cmov": true, "ia64": false, "ssb-no": false, "aes": true, + "vmx-apicv-xapic": true, "mmx": true, "rdpid": false, "arat": true, + "vmx-page-walk-4": true, + "vmx-page-walk-5": false, "gfni": false, "ibrs-all": false, + "vmx-desc-exit": true, "pause-filter": false, "xsavec": true, "intel-pt": false, + "vmx-cr8-store-exit": true, + "vmx-rdseed-exit": true, + "vmx-eptp-switching": true, "kvm-asyncpf": true, "perfctr-core": false, "mpx": true, "pbe": false, "avx512cd": false, "decodeassists": false, + "vmx-exit-load-efer": true, + "vmx-exit-clear-bndcfgs": false, "sse4.1": true, "family": 6, + "vmx-vmwrite-vmexit-fields": true, + "vmx-vnmi": true, + "vmx-true-ctls": true, + "vmx-ept-execonly": true, + "vmx-exit-save-efer": true, + "vmx-invept-all-context": true, "wbnoinvd": false, "avx512f": false, "msr": true, "mce": true, "mca": true, "xcrypt": false, - "min-level": 13, + "vmx-exit-load-pat": true, + "vmx-intr-exit": true, + "min-level": 22, + "vmx-flexpriority": true, "xgetbv1": true, "cid": false, "ds": false, "fxsr": true, "avx512-bf16": false, + "vmx-cr8-load-exit": true, "xsaveopt": true, + "vmx-apicv-vid": false, + "vmx-exit-save-pat": true, "xtpr": false, + "vmx-ple": false, "avx512vl": false, "avx512-vpopcntdq": false, "phe": false, "extapic": false, "3dnowprefetch": true, + "vmx-vmfunc": true, + "vmx-activity-shutdown": false, "avx512vbmi2": false, "cr8legacy": false, + "vmx-encls-exit": false, "stibp": true, + "vmx-msr-bitmap": true, "xcrypt-en": false, + "vmx-mwait-exit": true, + "vmx-pml": true, + "vmx-nmi-exit": true, + "vmx-invept-single-context-noglobals": true, "pn": false, "rsba": false, "dca": false, "vendor": "GenuineIntel", + "vmx-unrestricted-guest": true, + "vmx-cr3-store-noexit": true, "pku": false, "smx": false, "cmp-legacy": false, @@ -22594,6 +23571,7 @@ "amd-no-ssb": false, "npt": false, "rdctl-no": false, + "vmx-invvpid": true, "clwb": false, "lbrv": false, "adx": true, @@ -22603,51 +23581,70 @@ "smep": true, "smap": true, "pfthreshold": false, + "vmx-invpcid-exit": true, "x2apic": true, "avx512vbmi": false, "avx512vnni": false, - "kvm-pv-sched-yield": false, + "vmx-apicv-x2apic": true, + "kvm-pv-sched-yield": true, + "vmx-invlpg-exit": true, + "vmx-invvpid-all-context": true, + "vmx-activity-hlt": true, "flushbyasid": false, "f16c": true, + "vmx-exit-ack-intr": true, "ace2-en": false, "pae": true, "pat": true, "sse": true, "phe-en": false, + "vmx-tsc-offset": true, "kvm-nopiodelay": true, "tm": false, "kvmclock-stable-bit": true, + "vmx-rdtsc-exit": true, "hypervisor": true, + "vmx-rdtscp-exit": true, "mds-no": false, "pcommit": false, + "vmx-vpid": true, "syscall": true, "avx512dq": false, "svm": false, "invtsc": true, + "vmx-monitor-exit": true, "sse2": true, "ssbd": true, + "vmx-wbinvd-exit": true, "est": false, - "kvm-poll-control": false, + "kvm-poll-control": true, "avx512ifma": false, "tm2": false, "kvm-pv-eoi": true, "kvm-pv-ipi": true, "cx8": true, + "vmx-invvpid-single-addr": true, + "waitpkg": false, "cldemote": false, + "vmx-ept": true, "kvm-mmu": false, "sse4.2": true, "pge": true, "avx512bitalg": false, "pdcm": false, + "vmx-entry-load-bndcfgs": false, + "vmx-exit-clear-rtit-ctl": false, "model": 94, "movbe": true, "nrip-save": false, "ssse3": true, "sse4a": false, + "vmx-pause-exit": true, "invpcid": true, "pdpe1gb": true, "tsc-deadline": true, "skip-l1dfl-vmentry": true, + "vmx-exit-load-perf-global-ctrl": false, "fma": true, "cx16": true, "de": true, @@ -22661,26 +23658,38 @@ "ds-cpl": false, "ibs": false, "fma4": false, + "vmx-exit-nosave-debugctl": true, "la57": false, + "vmx-invept": true, "osvw": false, "apic": true, "pmm": false, + "vmx-entry-noload-debugctl": true, + "vmx-eptad": true, "spec-ctrl": true, + "vmx-posted-intr": false, + "vmx-apicv-register": false, "tsc-adjust": true, "kvm-steal-time": true, "kvmclock": true, + "vmx-zero-len-inject": false, + "vmx-rdrand-exit": true, "lwp": false, "amd-ssbd": false, "xop": false, "ibpb": false, "avx": true, "core-capability": false, + "vmx-invept-single-context": true, "movdiri": false, "acpi": false, "avx512bw": false, "ace2": false, "fsgsbase": true, + "vmx-ept-2mb": true, + "vmx-ept-1gb": true, "ht": false, + "vmx-io-exit": true, "nx": true, "pclmulqdq": true, "mmxext": false, @@ -22688,12 +23697,20 @@ "vaes": false, "movdir64b": false, "xsaves": true, + "vmx-shadow-vmcs": true, "lm": true, + "vmx-exit-save-preemption-timer": true, + "vmx-entry-load-pat": true, + "vmx-entry-load-perf-global-ctrl": false, + "vmx-io-bitmap": true, "umip": true, + "vmx-store-lma": true, + "vmx-movdr-exit": true, "pse": true, "avx2": true, "sep": true, "virt-ssbd": false, + "vmx-cr3-load-noexit": true, "nodeid-msr": false, "md-clear": true, "misalignsse": false, @@ -22704,16 +23721,24 @@ "kvm-pv-unhalt": true, "tsc-scale": false, "topoext": false, + "vmx-preemption-timer": true, "clflushopt": true, + "vmx-vnmi-pending": true, "monitor": false, + "vmx-vintr-pending": true, "avx512er": false, "pmm-en": false, "pcid": true, "arch-capabilities": true, + "vmx-secondary-ctls": true, + "vmx-xsaves": true, + "clzero": false, "3dnow": false, "erms": true, + "vmx-entry-ia32e-mode": true, "lahf-lm": true, "vpclmulqdq": false, + "vmx-ins-outs": true, "fxsr-opt": false, "xstore": false, "rtm": true, @@ -22728,14 +23753,21 @@ "dtes64": false, "mtrr": true, "rdtscp": true, + "xsaveerptr": false, "pse36": true, "kvm-pv-tlb-flush": true, + "vmx-activity-wait-sipi": false, "tbm": false, "wdt": false, + "vmx-rdpmc-exit": true, + "vmx-mtf": true, + "vmx-entry-load-efer": true, "model-id": "Intel(R) Xeon(R) CPU E3-1245 v5 @ 3.50GHz", "sha-ni": false, "abm": true, + "vmx-ept-advanced-exitinfo": false, "avx512pf": false, + "vmx-hlt-exit": true, "xstore-en": false } } @@ -23029,6 +24061,30 @@ "static": false, "migration-safe": true }, + { + "name": "Snowridge-v2", + "typename": "Snowridge-v2-x86_64-cpu", + "unavailable-features": [ + "x2apic", + "tsc-deadline", + "rdseed", + "sha-ni", + "umip", + "gfni", + "cldemote", + "movdiri", + "movdir64b", + "spec-ctrl", + "arch-capabilities", + "core-capability", + "ssbd", + "3dnowprefetch", + "xsavec", + "split-lock-detect" + ], + "static": false, + "migration-safe": true + }, { "name": "Snowridge-v1", "typename": "Snowridge-v1-x86_64-cpu", @@ -23074,7 +24130,7 @@ "xsavec", "split-lock-detect" ], - "alias-of": "Snowridge-v1", + "alias-of": "Snowridge-v2", "static": false, "migration-safe": true }, @@ -24015,6 +25071,45 @@ "static": false, "migration-safe": true }, + { + "name": "Denverton-v1", + "typename": "Denverton-v1-x86_64-cpu", + "unavailable-features": [ + "x2apic", + "tsc-deadline", + "rdseed", + "sha-ni", + "spec-ctrl", + "arch-capabilities", + "ssbd", + "3dnowprefetch", + "xsavec", + "rdctl-no", + "skip-l1dfl-vmentry" + ], + "static": false, + "migration-safe": true + }, + { + "name": "Denverton", + "typename": "Denverton-x86_64-cpu", + "unavailable-features": [ + "x2apic", + "tsc-deadline", + "rdseed", + "sha-ni", + "spec-ctrl", + "arch-capabilities", + "ssbd", + "3dnowprefetch", + "xsavec", + "rdctl-no", + "skip-l1dfl-vmentry" + ], + "alias-of": "Denverton-v1", + "static": false, + "migration-safe": true + }, { "name": "Conroe-v1", "typename": "Conroe-v1-x86_64-cpu", @@ -24326,53 +25421,86 @@ "model": { "name": "base", "props": { + "vmx-entry-load-rtit-ctl": false, "cmov": true, "ia64": false, "ssb-no": false, "aes": true, + "vmx-apicv-xapic": false, "mmx": true, "rdpid": false, "arat": true, + "vmx-page-walk-4": false, + "vmx-page-walk-5": false, "gfni": false, "ibrs-all": false, + "vmx-desc-exit": false, "pause-filter": false, "xsavec": false, "intel-pt": false, + "vmx-cr8-store-exit": false, + "vmx-rdseed-exit": false, + "vmx-eptp-switching": false, "kvm-asyncpf": false, "perfctr-core": false, "mpx": true, "pbe": false, "avx512cd": false, "decodeassists": false, + "vmx-exit-load-efer": false, + "vmx-exit-clear-bndcfgs": false, "sse4.1": true, "family": 6, + "vmx-vmwrite-vmexit-fields": false, + "vmx-vnmi": false, + "vmx-true-ctls": false, + "vmx-ept-execonly": false, + "vmx-exit-save-efer": false, + "vmx-invept-all-context": false, "wbnoinvd": false, "avx512f": false, "msr": true, "mce": true, "mca": true, "xcrypt": false, + "vmx-exit-load-pat": false, + "vmx-intr-exit": false, "min-level": 13, + "vmx-flexpriority": false, "xgetbv1": true, "cid": false, "ds": false, "fxsr": true, "avx512-bf16": false, + "vmx-cr8-load-exit": false, "xsaveopt": true, + "vmx-apicv-vid": false, + "vmx-exit-save-pat": false, "xtpr": false, + "vmx-ple": false, "avx512vl": false, "avx512-vpopcntdq": false, "phe": false, "extapic": false, "3dnowprefetch": false, + "vmx-vmfunc": false, + "vmx-activity-shutdown": false, "avx512vbmi2": false, "cr8legacy": true, + "vmx-encls-exit": false, "stibp": false, + "vmx-msr-bitmap": false, "xcrypt-en": false, + "vmx-mwait-exit": false, + "vmx-pml": false, + "vmx-nmi-exit": false, + "vmx-invept-single-context-noglobals": false, "pn": false, "rsba": false, "dca": false, "vendor": "AuthenticAMD", + "vmx-unrestricted-guest": false, + "vmx-cr3-store-noexit": false, "pku": true, "smx": false, "cmp-legacy": false, @@ -24383,6 +25511,7 @@ "amd-no-ssb": false, "npt": true, "rdctl-no": false, + "vmx-invvpid": false, "clwb": true, "lbrv": false, "adx": true, @@ -24392,29 +25521,41 @@ "smep": true, "smap": true, "pfthreshold": false, + "vmx-invpcid-exit": false, "x2apic": false, "avx512vbmi": false, "avx512vnni": false, + "vmx-apicv-x2apic": false, "kvm-pv-sched-yield": false, + "vmx-invlpg-exit": false, + "vmx-invvpid-all-context": false, + "vmx-activity-hlt": false, "flushbyasid": false, "f16c": false, + "vmx-exit-ack-intr": false, "ace2-en": false, "pae": true, "pat": true, "sse": true, "phe-en": false, + "vmx-tsc-offset": false, "kvm-nopiodelay": false, "tm": false, "kvmclock-stable-bit": false, + "vmx-rdtsc-exit": false, "hypervisor": true, + "vmx-rdtscp-exit": false, "mds-no": false, "pcommit": true, + "vmx-vpid": false, "syscall": true, "avx512dq": false, "svm": true, "invtsc": false, + "vmx-monitor-exit": false, "sse2": true, "ssbd": false, + "vmx-wbinvd-exit": false, "est": false, "kvm-poll-control": false, "avx512ifma": false, @@ -24422,21 +25563,28 @@ "kvm-pv-eoi": false, "kvm-pv-ipi": false, "cx8": true, + "vmx-invvpid-single-addr": false, + "waitpkg": false, "cldemote": false, + "vmx-ept": false, "kvm-mmu": false, "sse4.2": true, "pge": true, "avx512bitalg": false, "pdcm": false, + "vmx-entry-load-bndcfgs": false, + "vmx-exit-clear-rtit-ctl": false, "model": 6, "movbe": true, "nrip-save": false, "ssse3": true, "sse4a": true, + "vmx-pause-exit": false, "invpcid": false, "pdpe1gb": true, "tsc-deadline": false, "skip-l1dfl-vmentry": false, + "vmx-exit-load-perf-global-ctrl": false, "fma": false, "cx16": true, "de": true, @@ -24450,26 +25598,38 @@ "ds-cpl": false, "ibs": false, "fma4": false, + "vmx-exit-nosave-debugctl": false, "la57": true, + "vmx-invept": false, "osvw": false, "apic": true, "pmm": false, + "vmx-entry-noload-debugctl": false, + "vmx-eptad": false, "spec-ctrl": false, + "vmx-posted-intr": false, + "vmx-apicv-register": false, "tsc-adjust": false, "kvm-steal-time": false, "kvmclock": false, + "vmx-zero-len-inject": false, + "vmx-rdrand-exit": false, "lwp": false, "amd-ssbd": false, "xop": false, "ibpb": false, "avx": false, "core-capability": false, + "vmx-invept-single-context": false, "movdiri": false, "acpi": true, "avx512bw": false, "ace2": false, "fsgsbase": true, + "vmx-ept-2mb": false, + "vmx-ept-1gb": false, "ht": false, + "vmx-io-exit": false, "nx": true, "pclmulqdq": true, "mmxext": true, @@ -24477,12 +25637,20 @@ "vaes": false, "movdir64b": false, "xsaves": false, + "vmx-shadow-vmcs": false, "lm": true, + "vmx-exit-save-preemption-timer": false, + "vmx-entry-load-pat": false, + "vmx-entry-load-perf-global-ctrl": false, + "vmx-io-bitmap": false, "umip": false, + "vmx-store-lma": false, + "vmx-movdr-exit": false, "pse": true, "avx2": false, "sep": true, "virt-ssbd": false, + "vmx-cr3-load-noexit": false, "nodeid-msr": false, "md-clear": false, "misalignsse": false, @@ -24493,16 +25661,24 @@ "kvm-pv-unhalt": false, "tsc-scale": false, "topoext": false, + "vmx-preemption-timer": false, "clflushopt": true, + "vmx-vnmi-pending": false, "monitor": true, + "vmx-vintr-pending": false, "avx512er": false, "pmm-en": false, "pcid": false, "arch-capabilities": false, + "vmx-secondary-ctls": false, + "vmx-xsaves": false, + "clzero": false, "3dnow": true, "erms": true, + "vmx-entry-ia32e-mode": false, "lahf-lm": true, "vpclmulqdq": false, + "vmx-ins-outs": false, "fxsr-opt": false, "xstore": false, "rtm": false, @@ -24517,14 +25693,21 @@ "dtes64": false, "mtrr": true, "rdtscp": true, + "xsaveerptr": false, "pse36": true, "kvm-pv-tlb-flush": false, + "vmx-activity-wait-sipi": false, "tbm": false, "wdt": false, + "vmx-rdpmc-exit": false, + "vmx-mtf": false, + "vmx-entry-load-efer": false, "model-id": "QEMU TCG CPU version 2.5+", "sha-ni": false, "abm": true, + "vmx-ept-advanced-exitinfo": false, "avx512pf": false, + "vmx-hlt-exit": false, "xstore-en": false } } @@ -24551,53 +25734,86 @@ "model": { "name": "base", "props": { + "vmx-entry-load-rtit-ctl": false, "cmov": true, "ia64": false, "ssb-no": false, "aes": true, + "vmx-apicv-xapic": false, "mmx": true, "rdpid": false, "arat": true, + "vmx-page-walk-4": false, + "vmx-page-walk-5": false, "gfni": false, "ibrs-all": false, + "vmx-desc-exit": false, "pause-filter": false, "xsavec": false, "intel-pt": false, + "vmx-cr8-store-exit": false, + "vmx-rdseed-exit": false, + "vmx-eptp-switching": false, "kvm-asyncpf": false, "perfctr-core": false, "mpx": true, "pbe": false, "avx512cd": false, "decodeassists": false, + "vmx-exit-load-efer": false, + "vmx-exit-clear-bndcfgs": false, "sse4.1": true, "family": 6, + "vmx-vmwrite-vmexit-fields": false, + "vmx-vnmi": false, + "vmx-true-ctls": false, + "vmx-ept-execonly": false, + "vmx-exit-save-efer": false, + "vmx-invept-all-context": false, "wbnoinvd": false, "avx512f": false, "msr": true, "mce": true, "mca": true, "xcrypt": false, + "vmx-exit-load-pat": false, + "vmx-intr-exit": false, "min-level": 13, + "vmx-flexpriority": false, "xgetbv1": true, "cid": false, "ds": false, "fxsr": true, "avx512-bf16": false, + "vmx-cr8-load-exit": false, "xsaveopt": true, + "vmx-apicv-vid": false, + "vmx-exit-save-pat": false, "xtpr": false, + "vmx-ple": false, "avx512vl": false, "avx512-vpopcntdq": false, "phe": false, "extapic": false, "3dnowprefetch": false, + "vmx-vmfunc": false, + "vmx-activity-shutdown": false, "avx512vbmi2": false, "cr8legacy": true, + "vmx-encls-exit": false, "stibp": false, + "vmx-msr-bitmap": false, "xcrypt-en": false, + "vmx-mwait-exit": false, + "vmx-pml": false, + "vmx-nmi-exit": false, + "vmx-invept-single-context-noglobals": false, "pn": false, "rsba": false, "dca": false, "vendor": "AuthenticAMD", + "vmx-unrestricted-guest": false, + "vmx-cr3-store-noexit": false, "pku": true, "smx": false, "cmp-legacy": false, @@ -24608,6 +25824,7 @@ "amd-no-ssb": false, "npt": true, "rdctl-no": false, + "vmx-invvpid": false, "clwb": true, "lbrv": false, "adx": true, @@ -24617,29 +25834,41 @@ "smep": true, "smap": true, "pfthreshold": false, + "vmx-invpcid-exit": false, "x2apic": false, "avx512vbmi": false, "avx512vnni": false, + "vmx-apicv-x2apic": false, "kvm-pv-sched-yield": false, + "vmx-invlpg-exit": false, + "vmx-invvpid-all-context": false, + "vmx-activity-hlt": false, "flushbyasid": false, "f16c": false, + "vmx-exit-ack-intr": false, "ace2-en": false, "pae": true, "pat": true, "sse": true, "phe-en": false, + "vmx-tsc-offset": false, "kvm-nopiodelay": false, "tm": false, "kvmclock-stable-bit": false, + "vmx-rdtsc-exit": false, "hypervisor": true, + "vmx-rdtscp-exit": false, "mds-no": false, "pcommit": true, + "vmx-vpid": false, "syscall": true, "avx512dq": false, "svm": true, "invtsc": false, + "vmx-monitor-exit": false, "sse2": true, "ssbd": false, + "vmx-wbinvd-exit": false, "est": false, "kvm-poll-control": false, "avx512ifma": false, @@ -24647,21 +25876,28 @@ "kvm-pv-eoi": false, "kvm-pv-ipi": false, "cx8": true, + "vmx-invvpid-single-addr": false, + "waitpkg": false, "cldemote": false, + "vmx-ept": false, "kvm-mmu": false, "sse4.2": true, "pge": true, "avx512bitalg": false, "pdcm": false, + "vmx-entry-load-bndcfgs": false, + "vmx-exit-clear-rtit-ctl": false, "model": 6, "movbe": true, "nrip-save": false, "ssse3": true, "sse4a": true, + "vmx-pause-exit": false, "invpcid": false, "pdpe1gb": true, "tsc-deadline": false, "skip-l1dfl-vmentry": false, + "vmx-exit-load-perf-global-ctrl": false, "fma": false, "cx16": true, "de": true, @@ -24675,26 +25911,38 @@ "ds-cpl": false, "ibs": false, "fma4": false, + "vmx-exit-nosave-debugctl": false, "la57": true, + "vmx-invept": false, "osvw": false, "apic": true, "pmm": false, + "vmx-entry-noload-debugctl": false, + "vmx-eptad": false, "spec-ctrl": false, + "vmx-posted-intr": false, + "vmx-apicv-register": false, "tsc-adjust": false, "kvm-steal-time": false, "kvmclock": false, + "vmx-zero-len-inject": false, + "vmx-rdrand-exit": false, "lwp": false, "amd-ssbd": false, "xop": false, "ibpb": false, "avx": false, "core-capability": false, + "vmx-invept-single-context": false, "movdiri": false, "acpi": true, "avx512bw": false, "ace2": false, "fsgsbase": true, + "vmx-ept-2mb": false, + "vmx-ept-1gb": false, "ht": false, + "vmx-io-exit": false, "nx": true, "pclmulqdq": true, "mmxext": true, @@ -24702,12 +25950,20 @@ "vaes": false, "movdir64b": false, "xsaves": false, + "vmx-shadow-vmcs": false, "lm": true, + "vmx-exit-save-preemption-timer": false, + "vmx-entry-load-pat": false, + "vmx-entry-load-perf-global-ctrl": false, + "vmx-io-bitmap": false, "umip": false, + "vmx-store-lma": false, + "vmx-movdr-exit": false, "pse": true, "avx2": false, "sep": true, "virt-ssbd": false, + "vmx-cr3-load-noexit": false, "nodeid-msr": false, "md-clear": false, "misalignsse": false, @@ -24718,16 +25974,24 @@ "kvm-pv-unhalt": false, "tsc-scale": false, "topoext": false, + "vmx-preemption-timer": false, "clflushopt": true, + "vmx-vnmi-pending": false, "monitor": true, + "vmx-vintr-pending": false, "avx512er": false, "pmm-en": false, "pcid": false, "arch-capabilities": false, + "vmx-secondary-ctls": false, + "vmx-xsaves": false, + "clzero": false, "3dnow": true, "erms": true, + "vmx-entry-ia32e-mode": false, "lahf-lm": true, "vpclmulqdq": false, + "vmx-ins-outs": false, "fxsr-opt": false, "xstore": false, "rtm": false, @@ -24742,14 +26006,21 @@ "dtes64": false, "mtrr": true, "rdtscp": true, + "xsaveerptr": false, "pse36": true, "kvm-pv-tlb-flush": false, + "vmx-activity-wait-sipi": false, "tbm": false, "wdt": false, + "vmx-rdpmc-exit": false, + "vmx-mtf": false, + "vmx-entry-load-efer": false, "model-id": "QEMU TCG CPU version 2.5+", "sha-ni": false, "abm": true, + "vmx-ept-advanced-exitinfo": false, "avx512pf": false, + "vmx-hlt-exit": false, "xstore-en": false } } diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml index 963afbbc9e..534a8f744c 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml @@ -62,6 +62,7 @@ <flag name='q35-pci-hole64-size'/> <flag name='usb-storage'/> <flag name='usb-storage.removable'/> + <flag name='virtio-mmio'/> <flag name='ich9-intel-hda'/> <flag name='kvm-pit-lost-tick-policy'/> <flag name='boot-strict'/> @@ -212,59 +213,92 @@ <flag name='vhost-user-gpu'/> <flag name='vhost-user-vga'/> <flag name='ramfb'/> - <version>4001050</version> + <version>4001090</version> <kvmVersion>0</kvmVersion> <microcodeVersion>43100242</microcodeVersion> - <package>v4.1.0-1138-geb13d1cf4a</package> + <package>v4.2.0-rc0-27-g039e285e09</package> <arch>x86_64</arch> <hostCPU type='kvm' model='base' migratability='yes'> + <property name='vmx-entry-load-rtit-ctl' type='boolean' value='false'/> <property name='cmov' type='boolean' value='true' migratable='yes'/> <property name='ia64' type='boolean' value='false'/> <property name='ssb-no' type='boolean' value='false'/> <property name='aes' type='boolean' value='true' migratable='yes'/> + <property name='vmx-apicv-xapic' type='boolean' value='true' migratable='yes'/> <property name='mmx' type='boolean' value='true' migratable='yes'/> <property name='rdpid' type='boolean' value='false'/> <property name='arat' type='boolean' value='true' migratable='yes'/> + <property name='vmx-page-walk-4' type='boolean' value='true' migratable='yes'/> + <property name='vmx-page-walk-5' type='boolean' value='false'/> <property name='gfni' type='boolean' value='false'/> <property name='ibrs-all' type='boolean' value='false'/> + <property name='vmx-desc-exit' type='boolean' value='true' migratable='yes'/> <property name='pause-filter' type='boolean' value='false'/> <property name='xsavec' type='boolean' value='true' migratable='yes'/> <property name='intel-pt' type='boolean' value='false'/> + <property name='vmx-cr8-store-exit' type='boolean' value='true' migratable='yes'/> + <property name='vmx-rdseed-exit' type='boolean' value='true' migratable='yes'/> + <property name='vmx-eptp-switching' type='boolean' value='true' migratable='yes'/> <property name='kvm-asyncpf' type='boolean' value='true' migratable='yes'/> <property name='perfctr-core' type='boolean' value='false'/> <property name='mpx' type='boolean' value='true' migratable='yes'/> <property name='pbe' type='boolean' value='false'/> <property name='avx512cd' type='boolean' value='false'/> <property name='decodeassists' type='boolean' value='false'/> + <property name='vmx-exit-load-efer' type='boolean' value='true' migratable='yes'/> + <property name='vmx-exit-clear-bndcfgs' type='boolean' value='false'/> <property name='sse4.1' type='boolean' value='true' migratable='yes'/> <property name='family' type='number' value='6'/> + <property name='vmx-vmwrite-vmexit-fields' type='boolean' value='true' migratable='yes'/> + <property name='vmx-vnmi' type='boolean' value='true' migratable='yes'/> + <property name='vmx-true-ctls' type='boolean' value='true' migratable='yes'/> + <property name='vmx-ept-execonly' type='boolean' value='true' migratable='yes'/> + <property name='vmx-exit-save-efer' type='boolean' value='true' migratable='yes'/> + <property name='vmx-invept-all-context' type='boolean' value='true' migratable='yes'/> <property name='wbnoinvd' type='boolean' value='false'/> <property name='avx512f' type='boolean' value='false'/> <property name='msr' type='boolean' value='true' migratable='yes'/> <property name='mce' type='boolean' value='true' migratable='yes'/> <property name='mca' type='boolean' value='true' migratable='yes'/> <property name='xcrypt' type='boolean' value='false'/> - <property name='min-level' type='number' value='13'/> + <property name='vmx-exit-load-pat' type='boolean' value='true' migratable='yes'/> + <property name='vmx-intr-exit' type='boolean' value='true' migratable='yes'/> + <property name='min-level' type='number' value='22'/> + <property name='vmx-flexpriority' type='boolean' value='true' migratable='yes'/> <property name='xgetbv1' type='boolean' value='true' migratable='yes'/> <property name='cid' type='boolean' value='false'/> <property name='ds' type='boolean' value='false'/> <property name='fxsr' type='boolean' value='true' migratable='yes'/> <property name='avx512-bf16' type='boolean' value='false'/> + <property name='vmx-cr8-load-exit' type='boolean' value='true' migratable='yes'/> <property name='xsaveopt' type='boolean' value='true' migratable='yes'/> + <property name='vmx-apicv-vid' type='boolean' value='false'/> + <property name='vmx-exit-save-pat' type='boolean' value='true' migratable='yes'/> <property name='xtpr' type='boolean' value='false'/> + <property name='vmx-ple' type='boolean' value='false'/> <property name='avx512vl' type='boolean' value='false'/> <property name='avx512-vpopcntdq' type='boolean' value='false'/> <property name='phe' type='boolean' value='false'/> <property name='extapic' type='boolean' value='false'/> <property name='3dnowprefetch' type='boolean' value='true' migratable='yes'/> + <property name='vmx-vmfunc' type='boolean' value='true' migratable='yes'/> + <property name='vmx-activity-shutdown' type='boolean' value='false'/> <property name='avx512vbmi2' type='boolean' value='false'/> <property name='cr8legacy' type='boolean' value='false'/> + <property name='vmx-encls-exit' type='boolean' value='false'/> <property name='stibp' type='boolean' value='true' migratable='yes'/> + <property name='vmx-msr-bitmap' type='boolean' value='true' migratable='yes'/> <property name='xcrypt-en' type='boolean' value='false'/> + <property name='vmx-mwait-exit' type='boolean' value='true' migratable='yes'/> + <property name='vmx-pml' type='boolean' value='true' migratable='yes'/> + <property name='vmx-nmi-exit' type='boolean' value='true' migratable='yes'/> + <property name='vmx-invept-single-context-noglobals' type='boolean' value='true' migratable='yes'/> <property name='pn' type='boolean' value='false'/> <property name='rsba' type='boolean' value='false'/> <property name='dca' type='boolean' value='false'/> <property name='vendor' type='string' value='GenuineIntel'/> + <property name='vmx-unrestricted-guest' type='boolean' value='true' migratable='yes'/> + <property name='vmx-cr3-store-noexit' type='boolean' value='true' migratable='yes'/> <property name='pku' type='boolean' value='false'/> <property name='smx' type='boolean' value='false'/> <property name='cmp-legacy' type='boolean' value='false'/> @@ -275,6 +309,7 @@ <property name='amd-no-ssb' type='boolean' value='false'/> <property name='npt' type='boolean' value='false'/> <property name='rdctl-no' type='boolean' value='false'/> + <property name='vmx-invvpid' type='boolean' value='true' migratable='yes'/> <property name='clwb' type='boolean' value='false'/> <property name='lbrv' type='boolean' value='false'/> <property name='adx' type='boolean' value='true' migratable='yes'/> @@ -284,51 +319,70 @@ <property name='smep' type='boolean' value='true' migratable='yes'/> <property name='smap' type='boolean' value='true' migratable='yes'/> <property name='pfthreshold' type='boolean' value='false'/> + <property name='vmx-invpcid-exit' type='boolean' value='true' migratable='yes'/> <property name='x2apic' type='boolean' value='true' migratable='yes'/> <property name='avx512vbmi' type='boolean' value='false'/> <property name='avx512vnni' type='boolean' value='false'/> - <property name='kvm-pv-sched-yield' type='boolean' value='false'/> + <property name='vmx-apicv-x2apic' type='boolean' value='true' migratable='yes'/> + <property name='kvm-pv-sched-yield' type='boolean' value='true' migratable='yes'/> + <property name='vmx-invlpg-exit' type='boolean' value='true' migratable='yes'/> + <property name='vmx-invvpid-all-context' type='boolean' value='true' migratable='yes'/> + <property name='vmx-activity-hlt' type='boolean' value='true' migratable='yes'/> <property name='flushbyasid' type='boolean' value='false'/> <property name='f16c' type='boolean' value='true' migratable='yes'/> + <property name='vmx-exit-ack-intr' type='boolean' value='true' migratable='yes'/> <property name='ace2-en' type='boolean' value='false'/> <property name='pae' type='boolean' value='true' migratable='yes'/> <property name='pat' type='boolean' value='true' migratable='yes'/> <property name='sse' type='boolean' value='true' migratable='yes'/> <property name='phe-en' type='boolean' value='false'/> + <property name='vmx-tsc-offset' type='boolean' value='true' migratable='yes'/> <property name='kvm-nopiodelay' type='boolean' value='true' migratable='yes'/> <property name='tm' type='boolean' value='false'/> <property name='kvmclock-stable-bit' type='boolean' value='true' migratable='yes'/> + <property name='vmx-rdtsc-exit' type='boolean' value='true' migratable='yes'/> <property name='hypervisor' type='boolean' value='true' migratable='yes'/> + <property name='vmx-rdtscp-exit' type='boolean' value='true' migratable='yes'/> <property name='mds-no' type='boolean' value='false'/> <property name='pcommit' type='boolean' value='false'/> + <property name='vmx-vpid' type='boolean' value='true' migratable='yes'/> <property name='syscall' type='boolean' value='true' migratable='yes'/> <property name='avx512dq' type='boolean' value='false'/> <property name='svm' type='boolean' value='false'/> <property name='invtsc' type='boolean' value='true' migratable='no'/> + <property name='vmx-monitor-exit' type='boolean' value='true' migratable='yes'/> <property name='sse2' type='boolean' value='true' migratable='yes'/> <property name='ssbd' type='boolean' value='true' migratable='yes'/> + <property name='vmx-wbinvd-exit' type='boolean' value='true' migratable='yes'/> <property name='est' type='boolean' value='false'/> - <property name='kvm-poll-control' type='boolean' value='false'/> + <property name='kvm-poll-control' type='boolean' value='true' migratable='yes'/> <property name='avx512ifma' type='boolean' value='false'/> <property name='tm2' type='boolean' value='false'/> <property name='kvm-pv-eoi' type='boolean' value='true' migratable='yes'/> <property name='kvm-pv-ipi' type='boolean' value='true' migratable='yes'/> <property name='cx8' type='boolean' value='true' migratable='yes'/> + <property name='vmx-invvpid-single-addr' type='boolean' value='true' migratable='yes'/> + <property name='waitpkg' type='boolean' value='false'/> <property name='cldemote' type='boolean' value='false'/> + <property name='vmx-ept' type='boolean' value='true' migratable='yes'/> <property name='kvm-mmu' type='boolean' value='false'/> <property name='sse4.2' type='boolean' value='true' migratable='yes'/> <property name='pge' type='boolean' value='true' migratable='yes'/> <property name='avx512bitalg' type='boolean' value='false'/> <property name='pdcm' type='boolean' value='false'/> + <property name='vmx-entry-load-bndcfgs' type='boolean' value='false'/> + <property name='vmx-exit-clear-rtit-ctl' type='boolean' value='false'/> <property name='model' type='number' value='94'/> <property name='movbe' type='boolean' value='true' migratable='yes'/> <property name='nrip-save' type='boolean' value='false'/> <property name='ssse3' type='boolean' value='true' migratable='yes'/> <property name='sse4a' type='boolean' value='false'/> + <property name='vmx-pause-exit' type='boolean' value='true' migratable='yes'/> <property name='invpcid' type='boolean' value='true' migratable='yes'/> <property name='pdpe1gb' type='boolean' value='true' migratable='yes'/> <property name='tsc-deadline' type='boolean' value='true' migratable='yes'/> <property name='skip-l1dfl-vmentry' type='boolean' value='true' migratable='yes'/> + <property name='vmx-exit-load-perf-global-ctrl' type='boolean' value='false'/> <property name='fma' type='boolean' value='true' migratable='yes'/> <property name='cx16' type='boolean' value='true' migratable='yes'/> <property name='de' type='boolean' value='true' migratable='yes'/> @@ -342,26 +396,38 @@ <property name='ds-cpl' type='boolean' value='false'/> <property name='ibs' type='boolean' value='false'/> <property name='fma4' type='boolean' value='false'/> + <property name='vmx-exit-nosave-debugctl' type='boolean' value='true' migratable='yes'/> <property name='la57' type='boolean' value='false'/> + <property name='vmx-invept' type='boolean' value='true' migratable='yes'/> <property name='osvw' type='boolean' value='false'/> <property name='apic' type='boolean' value='true' migratable='yes'/> <property name='pmm' type='boolean' value='false'/> + <property name='vmx-entry-noload-debugctl' type='boolean' value='true' migratable='yes'/> + <property name='vmx-eptad' type='boolean' value='true' migratable='yes'/> <property name='spec-ctrl' type='boolean' value='true' migratable='yes'/> + <property name='vmx-posted-intr' type='boolean' value='false'/> + <property name='vmx-apicv-register' type='boolean' value='false'/> <property name='tsc-adjust' type='boolean' value='true' migratable='yes'/> <property name='kvm-steal-time' type='boolean' value='true' migratable='yes'/> <property name='kvmclock' type='boolean' value='true' migratable='yes'/> + <property name='vmx-zero-len-inject' type='boolean' value='false'/> + <property name='vmx-rdrand-exit' type='boolean' value='true' migratable='yes'/> <property name='lwp' type='boolean' value='false'/> <property name='amd-ssbd' type='boolean' value='false'/> <property name='xop' type='boolean' value='false'/> <property name='ibpb' type='boolean' value='false'/> <property name='avx' type='boolean' value='true' migratable='yes'/> <property name='core-capability' type='boolean' value='false'/> + <property name='vmx-invept-single-context' type='boolean' value='true' migratable='yes'/> <property name='movdiri' type='boolean' value='false'/> <property name='acpi' type='boolean' value='false'/> <property name='avx512bw' type='boolean' value='false'/> <property name='ace2' type='boolean' value='false'/> <property name='fsgsbase' type='boolean' value='true' migratable='yes'/> + <property name='vmx-ept-2mb' type='boolean' value='true' migratable='yes'/> + <property name='vmx-ept-1gb' type='boolean' value='true' migratable='yes'/> <property name='ht' type='boolean' value='false'/> + <property name='vmx-io-exit' type='boolean' value='true' migratable='yes'/> <property name='nx' type='boolean' value='true' migratable='yes'/> <property name='pclmulqdq' type='boolean' value='true' migratable='yes'/> <property name='mmxext' type='boolean' value='false'/> @@ -369,12 +435,20 @@ <property name='vaes' type='boolean' value='false'/> <property name='movdir64b' type='boolean' value='false'/> <property name='xsaves' type='boolean' value='true' migratable='yes'/> + <property name='vmx-shadow-vmcs' type='boolean' value='true' migratable='yes'/> <property name='lm' type='boolean' value='true' migratable='yes'/> + <property name='vmx-exit-save-preemption-timer' type='boolean' value='true' migratable='yes'/> + <property name='vmx-entry-load-pat' type='boolean' value='true' migratable='yes'/> + <property name='vmx-entry-load-perf-global-ctrl' type='boolean' value='false'/> + <property name='vmx-io-bitmap' type='boolean' value='true' migratable='yes'/> <property name='umip' type='boolean' value='true' migratable='yes'/> + <property name='vmx-store-lma' type='boolean' value='true' migratable='yes'/> + <property name='vmx-movdr-exit' type='boolean' value='true' migratable='yes'/> <property name='pse' type='boolean' value='true' migratable='yes'/> <property name='avx2' type='boolean' value='true' migratable='yes'/> <property name='sep' type='boolean' value='true' migratable='yes'/> <property name='virt-ssbd' type='boolean' value='false'/> + <property name='vmx-cr3-load-noexit' type='boolean' value='true' migratable='yes'/> <property name='nodeid-msr' type='boolean' value='false'/> <property name='md-clear' type='boolean' value='true' migratable='yes'/> <property name='misalignsse' type='boolean' value='false'/> @@ -385,16 +459,24 @@ <property name='kvm-pv-unhalt' type='boolean' value='true' migratable='yes'/> <property name='tsc-scale' type='boolean' value='false'/> <property name='topoext' type='boolean' value='false'/> + <property name='vmx-preemption-timer' type='boolean' value='true' migratable='yes'/> <property name='clflushopt' type='boolean' value='true' migratable='yes'/> + <property name='vmx-vnmi-pending' type='boolean' value='true' migratable='yes'/> <property name='monitor' type='boolean' value='false'/> + <property name='vmx-vintr-pending' type='boolean' value='true' migratable='yes'/> <property name='avx512er' type='boolean' value='false'/> <property name='pmm-en' type='boolean' value='false'/> <property name='pcid' type='boolean' value='true' migratable='yes'/> <property name='arch-capabilities' type='boolean' value='true' migratable='yes'/> + <property name='vmx-secondary-ctls' type='boolean' value='true' migratable='yes'/> + <property name='vmx-xsaves' type='boolean' value='true' migratable='yes'/> + <property name='clzero' type='boolean' value='false'/> <property name='3dnow' type='boolean' value='false'/> <property name='erms' type='boolean' value='true' migratable='yes'/> + <property name='vmx-entry-ia32e-mode' type='boolean' value='true' migratable='yes'/> <property name='lahf-lm' type='boolean' value='true' migratable='yes'/> <property name='vpclmulqdq' type='boolean' value='false'/> + <property name='vmx-ins-outs' type='boolean' value='true' migratable='yes'/> <property name='fxsr-opt' type='boolean' value='false'/> <property name='xstore' type='boolean' value='false'/> <property name='rtm' type='boolean' value='true' migratable='yes'/> @@ -409,64 +491,104 @@ <property name='dtes64' type='boolean' value='false'/> <property name='mtrr' type='boolean' value='true' migratable='yes'/> <property name='rdtscp' type='boolean' value='true' migratable='yes'/> + <property name='xsaveerptr' type='boolean' value='false'/> <property name='pse36' type='boolean' value='true' migratable='yes'/> <property name='kvm-pv-tlb-flush' type='boolean' value='true' migratable='yes'/> + <property name='vmx-activity-wait-sipi' type='boolean' value='false'/> <property name='tbm' type='boolean' value='false'/> <property name='wdt' type='boolean' value='false'/> + <property name='vmx-rdpmc-exit' type='boolean' value='true' migratable='yes'/> + <property name='vmx-mtf' type='boolean' value='true' migratable='yes'/> + <property name='vmx-entry-load-efer' type='boolean' value='true' migratable='yes'/> <property name='model-id' type='string' value='Intel(R) Xeon(R) CPU E3-1245 v5 @ 3.50GHz'/> <property name='sha-ni' type='boolean' value='false'/> <property name='abm' type='boolean' value='true' migratable='yes'/> + <property name='vmx-ept-advanced-exitinfo' type='boolean' value='false'/> <property name='avx512pf' type='boolean' value='false'/> + <property name='vmx-hlt-exit' type='boolean' value='true' migratable='yes'/> <property name='xstore-en' type='boolean' value='false'/> </hostCPU> <hostCPU type='tcg' model='base' migratability='yes'> + <property name='vmx-entry-load-rtit-ctl' type='boolean' value='false'/> <property name='cmov' type='boolean' value='true' migratable='yes'/> <property name='ia64' type='boolean' value='false'/> <property name='ssb-no' type='boolean' value='false'/> <property name='aes' type='boolean' value='true' migratable='yes'/> + <property name='vmx-apicv-xapic' type='boolean' value='false'/> <property name='mmx' type='boolean' value='true' migratable='yes'/> <property name='rdpid' type='boolean' value='false'/> <property name='arat' type='boolean' value='true' migratable='yes'/> + <property name='vmx-page-walk-4' type='boolean' value='false'/> + <property name='vmx-page-walk-5' type='boolean' value='false'/> <property name='gfni' type='boolean' value='false'/> <property name='ibrs-all' type='boolean' value='false'/> + <property name='vmx-desc-exit' type='boolean' value='false'/> <property name='pause-filter' type='boolean' value='false'/> <property name='xsavec' type='boolean' value='false'/> <property name='intel-pt' type='boolean' value='false'/> + <property name='vmx-cr8-store-exit' type='boolean' value='false'/> + <property name='vmx-rdseed-exit' type='boolean' value='false'/> + <property name='vmx-eptp-switching' type='boolean' value='false'/> <property name='kvm-asyncpf' type='boolean' value='false'/> <property name='perfctr-core' type='boolean' value='false'/> <property name='mpx' type='boolean' value='true' migratable='yes'/> <property name='pbe' type='boolean' value='false'/> <property name='avx512cd' type='boolean' value='false'/> <property name='decodeassists' type='boolean' value='false'/> + <property name='vmx-exit-load-efer' type='boolean' value='false'/> + <property name='vmx-exit-clear-bndcfgs' type='boolean' value='false'/> <property name='sse4.1' type='boolean' value='true' migratable='yes'/> <property name='family' type='number' value='6'/> + <property name='vmx-vmwrite-vmexit-fields' type='boolean' value='false'/> + <property name='vmx-vnmi' type='boolean' value='false'/> + <property name='vmx-true-ctls' type='boolean' value='false'/> + <property name='vmx-ept-execonly' type='boolean' value='false'/> + <property name='vmx-exit-save-efer' type='boolean' value='false'/> + <property name='vmx-invept-all-context' type='boolean' value='false'/> <property name='wbnoinvd' type='boolean' value='false'/> <property name='avx512f' type='boolean' value='false'/> <property name='msr' type='boolean' value='true' migratable='yes'/> <property name='mce' type='boolean' value='true' migratable='yes'/> <property name='mca' type='boolean' value='true' migratable='yes'/> <property name='xcrypt' type='boolean' value='false'/> + <property name='vmx-exit-load-pat' type='boolean' value='false'/> + <property name='vmx-intr-exit' type='boolean' value='false'/> <property name='min-level' type='number' value='13'/> + <property name='vmx-flexpriority' type='boolean' value='false'/> <property name='xgetbv1' type='boolean' value='true' migratable='yes'/> <property name='cid' type='boolean' value='false'/> <property name='ds' type='boolean' value='false'/> <property name='fxsr' type='boolean' value='true' migratable='yes'/> <property name='avx512-bf16' type='boolean' value='false'/> + <property name='vmx-cr8-load-exit' type='boolean' value='false'/> <property name='xsaveopt' type='boolean' value='true' migratable='yes'/> + <property name='vmx-apicv-vid' type='boolean' value='false'/> + <property name='vmx-exit-save-pat' type='boolean' value='false'/> <property name='xtpr' type='boolean' value='false'/> + <property name='vmx-ple' type='boolean' value='false'/> <property name='avx512vl' type='boolean' value='false'/> <property name='avx512-vpopcntdq' type='boolean' value='false'/> <property name='phe' type='boolean' value='false'/> <property name='extapic' type='boolean' value='false'/> <property name='3dnowprefetch' type='boolean' value='false'/> + <property name='vmx-vmfunc' type='boolean' value='false'/> + <property name='vmx-activity-shutdown' type='boolean' value='false'/> <property name='avx512vbmi2' type='boolean' value='false'/> <property name='cr8legacy' type='boolean' value='true' migratable='yes'/> + <property name='vmx-encls-exit' type='boolean' value='false'/> <property name='stibp' type='boolean' value='false'/> + <property name='vmx-msr-bitmap' type='boolean' value='false'/> <property name='xcrypt-en' type='boolean' value='false'/> + <property name='vmx-mwait-exit' type='boolean' value='false'/> + <property name='vmx-pml' type='boolean' value='false'/> + <property name='vmx-nmi-exit' type='boolean' value='false'/> + <property name='vmx-invept-single-context-noglobals' type='boolean' value='false'/> <property name='pn' type='boolean' value='false'/> <property name='rsba' type='boolean' value='false'/> <property name='dca' type='boolean' value='false'/> <property name='vendor' type='string' value='AuthenticAMD'/> + <property name='vmx-unrestricted-guest' type='boolean' value='false'/> + <property name='vmx-cr3-store-noexit' type='boolean' value='false'/> <property name='pku' type='boolean' value='true' migratable='yes'/> <property name='smx' type='boolean' value='false'/> <property name='cmp-legacy' type='boolean' value='false'/> @@ -477,6 +599,7 @@ <property name='amd-no-ssb' type='boolean' value='false'/> <property name='npt' type='boolean' value='true' migratable='yes'/> <property name='rdctl-no' type='boolean' value='false'/> + <property name='vmx-invvpid' type='boolean' value='false'/> <property name='clwb' type='boolean' value='true' migratable='yes'/> <property name='lbrv' type='boolean' value='false'/> <property name='adx' type='boolean' value='true' migratable='yes'/> @@ -486,29 +609,41 @@ <property name='smep' type='boolean' value='true' migratable='yes'/> <property name='smap' type='boolean' value='true' migratable='yes'/> <property name='pfthreshold' type='boolean' value='false'/> + <property name='vmx-invpcid-exit' type='boolean' value='false'/> <property name='x2apic' type='boolean' value='false'/> <property name='avx512vbmi' type='boolean' value='false'/> <property name='avx512vnni' type='boolean' value='false'/> + <property name='vmx-apicv-x2apic' type='boolean' value='false'/> <property name='kvm-pv-sched-yield' type='boolean' value='false'/> + <property name='vmx-invlpg-exit' type='boolean' value='false'/> + <property name='vmx-invvpid-all-context' type='boolean' value='false'/> + <property name='vmx-activity-hlt' type='boolean' value='false'/> <property name='flushbyasid' type='boolean' value='false'/> <property name='f16c' type='boolean' value='false'/> + <property name='vmx-exit-ack-intr' type='boolean' value='false'/> <property name='ace2-en' type='boolean' value='false'/> <property name='pae' type='boolean' value='true' migratable='yes'/> <property name='pat' type='boolean' value='true' migratable='yes'/> <property name='sse' type='boolean' value='true' migratable='yes'/> <property name='phe-en' type='boolean' value='false'/> + <property name='vmx-tsc-offset' type='boolean' value='false'/> <property name='kvm-nopiodelay' type='boolean' value='false'/> <property name='tm' type='boolean' value='false'/> <property name='kvmclock-stable-bit' type='boolean' value='false'/> + <property name='vmx-rdtsc-exit' type='boolean' value='false'/> <property name='hypervisor' type='boolean' value='true' migratable='yes'/> + <property name='vmx-rdtscp-exit' type='boolean' value='false'/> <property name='mds-no' type='boolean' value='false'/> <property name='pcommit' type='boolean' value='true' migratable='yes'/> + <property name='vmx-vpid' type='boolean' value='false'/> <property name='syscall' type='boolean' value='true' migratable='yes'/> <property name='avx512dq' type='boolean' value='false'/> <property name='svm' type='boolean' value='true' migratable='yes'/> <property name='invtsc' type='boolean' value='false'/> + <property name='vmx-monitor-exit' type='boolean' value='false'/> <property name='sse2' type='boolean' value='true' migratable='yes'/> <property name='ssbd' type='boolean' value='false'/> + <property name='vmx-wbinvd-exit' type='boolean' value='false'/> <property name='est' type='boolean' value='false'/> <property name='kvm-poll-control' type='boolean' value='false'/> <property name='avx512ifma' type='boolean' value='false'/> @@ -516,21 +651,28 @@ <property name='kvm-pv-eoi' type='boolean' value='false'/> <property name='kvm-pv-ipi' type='boolean' value='false'/> <property name='cx8' type='boolean' value='true' migratable='yes'/> + <property name='vmx-invvpid-single-addr' type='boolean' value='false'/> + <property name='waitpkg' type='boolean' value='false'/> <property name='cldemote' type='boolean' value='false'/> + <property name='vmx-ept' type='boolean' value='false'/> <property name='kvm-mmu' type='boolean' value='false'/> <property name='sse4.2' type='boolean' value='true' migratable='yes'/> <property name='pge' type='boolean' value='true' migratable='yes'/> <property name='avx512bitalg' type='boolean' value='false'/> <property name='pdcm' type='boolean' value='false'/> + <property name='vmx-entry-load-bndcfgs' type='boolean' value='false'/> + <property name='vmx-exit-clear-rtit-ctl' type='boolean' value='false'/> <property name='model' type='number' value='6'/> <property name='movbe' type='boolean' value='true' migratable='yes'/> <property name='nrip-save' type='boolean' value='false'/> <property name='ssse3' type='boolean' value='true' migratable='yes'/> <property name='sse4a' type='boolean' value='true' migratable='yes'/> + <property name='vmx-pause-exit' type='boolean' value='false'/> <property name='invpcid' type='boolean' value='false'/> <property name='pdpe1gb' type='boolean' value='true' migratable='yes'/> <property name='tsc-deadline' type='boolean' value='false'/> <property name='skip-l1dfl-vmentry' type='boolean' value='false'/> + <property name='vmx-exit-load-perf-global-ctrl' type='boolean' value='false'/> <property name='fma' type='boolean' value='false'/> <property name='cx16' type='boolean' value='true' migratable='yes'/> <property name='de' type='boolean' value='true' migratable='yes'/> @@ -544,26 +686,38 @@ <property name='ds-cpl' type='boolean' value='false'/> <property name='ibs' type='boolean' value='false'/> <property name='fma4' type='boolean' value='false'/> + <property name='vmx-exit-nosave-debugctl' type='boolean' value='false'/> <property name='la57' type='boolean' value='true' migratable='yes'/> + <property name='vmx-invept' type='boolean' value='false'/> <property name='osvw' type='boolean' value='false'/> <property name='apic' type='boolean' value='true' migratable='yes'/> <property name='pmm' type='boolean' value='false'/> + <property name='vmx-entry-noload-debugctl' type='boolean' value='false'/> + <property name='vmx-eptad' type='boolean' value='false'/> <property name='spec-ctrl' type='boolean' value='false'/> + <property name='vmx-posted-intr' type='boolean' value='false'/> + <property name='vmx-apicv-register' type='boolean' value='false'/> <property name='tsc-adjust' type='boolean' value='false'/> <property name='kvm-steal-time' type='boolean' value='false'/> <property name='kvmclock' type='boolean' value='false'/> + <property name='vmx-zero-len-inject' type='boolean' value='false'/> + <property name='vmx-rdrand-exit' type='boolean' value='false'/> <property name='lwp' type='boolean' value='false'/> <property name='amd-ssbd' type='boolean' value='false'/> <property name='xop' type='boolean' value='false'/> <property name='ibpb' type='boolean' value='false'/> <property name='avx' type='boolean' value='false'/> <property name='core-capability' type='boolean' value='false'/> + <property name='vmx-invept-single-context' type='boolean' value='false'/> <property name='movdiri' type='boolean' value='false'/> <property name='acpi' type='boolean' value='true' migratable='yes'/> <property name='avx512bw' type='boolean' value='false'/> <property name='ace2' type='boolean' value='false'/> <property name='fsgsbase' type='boolean' value='true' migratable='yes'/> + <property name='vmx-ept-2mb' type='boolean' value='false'/> + <property name='vmx-ept-1gb' type='boolean' value='false'/> <property name='ht' type='boolean' value='false'/> + <property name='vmx-io-exit' type='boolean' value='false'/> <property name='nx' type='boolean' value='true' migratable='yes'/> <property name='pclmulqdq' type='boolean' value='true' migratable='yes'/> <property name='mmxext' type='boolean' value='true' migratable='yes'/> @@ -571,12 +725,20 @@ <property name='vaes' type='boolean' value='false'/> <property name='movdir64b' type='boolean' value='false'/> <property name='xsaves' type='boolean' value='false'/> + <property name='vmx-shadow-vmcs' type='boolean' value='false'/> <property name='lm' type='boolean' value='true' migratable='yes'/> + <property name='vmx-exit-save-preemption-timer' type='boolean' value='false'/> + <property name='vmx-entry-load-pat' type='boolean' value='false'/> + <property name='vmx-entry-load-perf-global-ctrl' type='boolean' value='false'/> + <property name='vmx-io-bitmap' type='boolean' value='false'/> <property name='umip' type='boolean' value='false'/> + <property name='vmx-store-lma' type='boolean' value='false'/> + <property name='vmx-movdr-exit' type='boolean' value='false'/> <property name='pse' type='boolean' value='true' migratable='yes'/> <property name='avx2' type='boolean' value='false'/> <property name='sep' type='boolean' value='true' migratable='yes'/> <property name='virt-ssbd' type='boolean' value='false'/> + <property name='vmx-cr3-load-noexit' type='boolean' value='false'/> <property name='nodeid-msr' type='boolean' value='false'/> <property name='md-clear' type='boolean' value='false'/> <property name='misalignsse' type='boolean' value='false'/> @@ -587,16 +749,24 @@ <property name='kvm-pv-unhalt' type='boolean' value='false'/> <property name='tsc-scale' type='boolean' value='false'/> <property name='topoext' type='boolean' value='false'/> + <property name='vmx-preemption-timer' type='boolean' value='false'/> <property name='clflushopt' type='boolean' value='true' migratable='yes'/> + <property name='vmx-vnmi-pending' type='boolean' value='false'/> <property name='monitor' type='boolean' value='true' migratable='yes'/> + <property name='vmx-vintr-pending' type='boolean' value='false'/> <property name='avx512er' type='boolean' value='false'/> <property name='pmm-en' type='boolean' value='false'/> <property name='pcid' type='boolean' value='false'/> <property name='arch-capabilities' type='boolean' value='false'/> + <property name='vmx-secondary-ctls' type='boolean' value='false'/> + <property name='vmx-xsaves' type='boolean' value='false'/> + <property name='clzero' type='boolean' value='false'/> <property name='3dnow' type='boolean' value='true' migratable='yes'/> <property name='erms' type='boolean' value='true' migratable='yes'/> + <property name='vmx-entry-ia32e-mode' type='boolean' value='false'/> <property name='lahf-lm' type='boolean' value='true' migratable='yes'/> <property name='vpclmulqdq' type='boolean' value='false'/> + <property name='vmx-ins-outs' type='boolean' value='false'/> <property name='fxsr-opt' type='boolean' value='false'/> <property name='xstore' type='boolean' value='false'/> <property name='rtm' type='boolean' value='false'/> @@ -611,14 +781,21 @@ <property name='dtes64' type='boolean' value='false'/> <property name='mtrr' type='boolean' value='true' migratable='yes'/> <property name='rdtscp' type='boolean' value='true' migratable='yes'/> + <property name='xsaveerptr' type='boolean' value='false'/> <property name='pse36' type='boolean' value='true' migratable='yes'/> <property name='kvm-pv-tlb-flush' type='boolean' value='false'/> + <property name='vmx-activity-wait-sipi' type='boolean' value='false'/> <property name='tbm' type='boolean' value='false'/> <property name='wdt' type='boolean' value='false'/> + <property name='vmx-rdpmc-exit' type='boolean' value='false'/> + <property name='vmx-mtf' type='boolean' value='false'/> + <property name='vmx-entry-load-efer' type='boolean' value='false'/> <property name='model-id' type='string' value='QEMU TCG CPU version 2.5+'/> <property name='sha-ni' type='boolean' value='false'/> <property name='abm' type='boolean' value='true' migratable='yes'/> + <property name='vmx-ept-advanced-exitinfo' type='boolean' value='false'/> <property name='avx512pf' type='boolean' value='false'/> + <property name='vmx-hlt-exit' type='boolean' value='false'/> <property name='xstore-en' type='boolean' value='false'/> </hostCPU> <cpu type='kvm' name='max' usable='yes'/> @@ -674,6 +851,16 @@ <cpu type='kvm' name='Westmere-v1' usable='yes'/> <cpu type='kvm' name='Westmere-IBRS' usable='yes'/> <cpu type='kvm' name='Westmere' usable='yes'/> + <cpu type='kvm' name='Snowridge-v2' usable='no'> + <blocker name='clwb'/> + <blocker name='sha-ni'/> + <blocker name='gfni'/> + <blocker name='cldemote'/> + <blocker name='movdiri'/> + <blocker name='movdir64b'/> + <blocker name='core-capability'/> + <blocker name='split-lock-detect'/> + </cpu> <cpu type='kvm' name='Snowridge-v1' usable='no'> <blocker name='clwb'/> <blocker name='sha-ni'/> @@ -983,6 +1170,14 @@ <blocker name='npt'/> <blocker name='nrip-save'/> </cpu> + <cpu type='kvm' name='Denverton-v1' usable='no'> + <blocker name='sha-ni'/> + <blocker name='rdctl-no'/> + </cpu> + <cpu type='kvm' name='Denverton' usable='no'> + <blocker name='sha-ni'/> + <blocker name='rdctl-no'/> + </cpu> <cpu type='kvm' name='Conroe-v1' usable='yes'/> <cpu type='kvm' name='Conroe' usable='yes'/> <cpu type='kvm' name='Cascadelake-Server-v2' usable='no'> @@ -1086,6 +1281,24 @@ <cpu type='tcg' name='Westmere' usable='no'> <blocker name='spec-ctrl'/> </cpu> + <cpu type='tcg' name='Snowridge-v2' usable='no'> + <blocker name='x2apic'/> + <blocker name='tsc-deadline'/> + <blocker name='rdseed'/> + <blocker name='sha-ni'/> + <blocker name='umip'/> + <blocker name='gfni'/> + <blocker name='cldemote'/> + <blocker name='movdiri'/> + <blocker name='movdir64b'/> + <blocker name='spec-ctrl'/> + <blocker name='arch-capabilities'/> + <blocker name='core-capability'/> + <blocker name='ssbd'/> + <blocker name='3dnowprefetch'/> + <blocker name='xsavec'/> + <blocker name='split-lock-detect'/> + </cpu> <cpu type='tcg' name='Snowridge-v1' usable='no'> <blocker name='x2apic'/> <blocker name='tsc-deadline'/> @@ -1714,6 +1927,32 @@ <blocker name='nrip-save'/> <blocker name='xsavec'/> </cpu> + <cpu type='tcg' name='Denverton-v1' usable='no'> + <blocker name='x2apic'/> + <blocker name='tsc-deadline'/> + <blocker name='rdseed'/> + <blocker name='sha-ni'/> + <blocker name='spec-ctrl'/> + <blocker name='arch-capabilities'/> + <blocker name='ssbd'/> + <blocker name='3dnowprefetch'/> + <blocker name='xsavec'/> + <blocker name='rdctl-no'/> + <blocker name='skip-l1dfl-vmentry'/> + </cpu> + <cpu type='tcg' name='Denverton' usable='no'> + <blocker name='x2apic'/> + <blocker name='tsc-deadline'/> + <blocker name='rdseed'/> + <blocker name='sha-ni'/> + <blocker name='spec-ctrl'/> + <blocker name='arch-capabilities'/> + <blocker name='ssbd'/> + <blocker name='3dnowprefetch'/> + <blocker name='xsavec'/> + <blocker name='rdctl-no'/> + <blocker name='skip-l1dfl-vmentry'/> + </cpu> <cpu type='tcg' name='Conroe-v1' usable='yes'/> <cpu type='tcg' name='Conroe' usable='yes'/> <cpu type='tcg' name='Cascadelake-Server-v2' usable='no'> @@ -1943,6 +2182,7 @@ <machine name='pc-i440fx-2.10' hotplugCpus='yes' maxCpus='255'/> <machine name='pc-q35-3.0' hotplugCpus='yes' maxCpus='288'/> <machine name='pc-q35-4.0' hotplugCpus='yes' maxCpus='288'/> + <machine name='microvm' maxCpus='288'/> <machine name='pc-i440fx-2.3' hotplugCpus='yes' maxCpus='255'/> <machine name='pc-1.2' hotplugCpus='yes' maxCpus='255'/> <machine name='pc-i440fx-4.0' hotplugCpus='yes' maxCpus='255'/> -- 2.23.0

On Mon, Nov 18, 2019 at 06:02:04PM +0100, Peter Krempa wrote:
The data is captured from qemu v4.2.0-rc0-27-g039e285e09
QEMU is on -rc2 now so perhaps refresh this again just before pushing. Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> (as if I really checked every line of this auto-generated data ;-) Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|

Initial implementation of 'auto-read-only' didn't reopen the backing files when needed. For '-blockdev' to work we need to be able to tel qemu to open a file read-only and change it during blockjobs as we label backing chains with a sVirt label which does not allow writing. The dynamic auto-read-only supports this as it reopens files when writing is demanded. Add a capability to detect that the posix file based backends support the dynamic part. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Jiri Denemark <jdenemar@redhat.com> --- src/qemu/qemu_capabilities.c | 2 ++ src/qemu/qemu_capabilities.h | 1 + tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml | 1 + tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 1 + tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml | 1 + 6 files changed, 7 insertions(+) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index a057318432..2c1f7c834b 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -550,6 +550,7 @@ VIR_ENUM_IMPL(virQEMUCaps, /* 345 */ "arm-max-cpu", + "blockdev-file-dynamic-auto-read-only", ); @@ -1292,6 +1293,7 @@ static struct virQEMUCapsStringFlags virQEMUCapsQMPSchemaQueries[] = { { "query-display-options/ret-type/+egl-headless/rendernode", QEMU_CAPS_EGL_HEADLESS_RENDERNODE }, { "nbd-server-add/arg-type/bitmap", QEMU_CAPS_NBD_BITMAP }, { "blockdev-add/arg-type/+file/drop-cache", QEMU_CAPS_MIGRATION_FILE_DROP_CACHE }, + { "blockdev-add/arg-type/+file/$dynamic-auto-read-only", QEMU_CAPS_BLOCK_FILE_AUTO_READONLY_DYNAMIC }, }; typedef struct _virQEMUCapsObjectTypeProps virQEMUCapsObjectTypeProps; diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index aa593396ce..2667b77ff8 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -531,6 +531,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */ /* 345 */ QEMU_CAPS_ARM_MAX_CPU, /* max-arm-cpu type exists */ + QEMU_CAPS_BLOCK_FILE_AUTO_READONLY_DYNAMIC, /* the auto-read-only property of block backends for files is dynamic */ QEMU_CAPS_LAST /* this must always be the last item */ } virQEMUCapsFlags; diff --git a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml index 36b07579b2..def36e2f73 100644 --- a/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml @@ -212,6 +212,7 @@ <flag name='vhost-user-gpu'/> <flag name='vhost-user-vga'/> <flag name='ramfb'/> + <flag name='blockdev-file-dynamic-auto-read-only'/> <version>4001000</version> <kvmVersion>0</kvmVersion> <microcodeVersion>43100241</microcodeVersion> diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml index 17960460fb..bb34b35209 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml @@ -170,6 +170,7 @@ <flag name='vhost-user-gpu'/> <flag name='ramfb'/> <flag name='arm-max-cpu'/> + <flag name='blockdev-file-dynamic-auto-read-only'/> <version>4001050</version> <kvmVersion>0</kvmVersion> <microcodeVersion>61700242</microcodeVersion> diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml index 561d955247..f8d1c62c11 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml @@ -173,6 +173,7 @@ <flag name='vhost-user-gpu'/> <flag name='vhost-user-vga'/> <flag name='machine.pseries.cap-ccf-assist'/> + <flag name='blockdev-file-dynamic-auto-read-only'/> <version>4001050</version> <kvmVersion>0</kvmVersion> <microcodeVersion>42900242</microcodeVersion> diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml index 534a8f744c..26fd37141c 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml @@ -213,6 +213,7 @@ <flag name='vhost-user-gpu'/> <flag name='vhost-user-vga'/> <flag name='ramfb'/> + <flag name='blockdev-file-dynamic-auto-read-only'/> <version>4001090</version> <kvmVersion>0</kvmVersion> <microcodeVersion>43100242</microcodeVersion> -- 2.23.0

On Mon, Nov 18, 2019 at 06:02:05PM +0100, Peter Krempa wrote:
Initial implementation of 'auto-read-only' didn't reopen the backing files when needed. For '-blockdev' to work we need to be able to tel qemu to open a file read-only and change it during blockjobs as we label backing chains with a sVirt label which does not allow writing. The dynamic auto-read-only supports this as it reopens files when writing is demanded.
Add a capability to detect that the posix file based backends support the dynamic part.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Jiri Denemark <jdenemar@redhat.com> --- src/qemu/qemu_capabilities.c | 2 ++ src/qemu/qemu_capabilities.h | 1 + tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml | 1 + tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 1 + tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml | 1 + 6 files changed, 7 insertions(+)
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|

The top level commands now can have 'feature' flags for fixes so add support for querying those as well. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_qapi.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/qemu/qemu_qapi.c b/src/qemu/qemu_qapi.c index 484f274c63..8e66f9f180 100644 --- a/src/qemu/qemu_qapi.c +++ b/src/qemu/qemu_qapi.c @@ -216,6 +216,21 @@ virQEMUQAPISchemaTraverseCommand(virJSONValuePtr cur, { const char *query = virQEMUQAPISchemaTraverseContextNextQuery(ctxt); const char *querytype; + char modifier = *query; + + if (!c_isalpha(modifier)) + query++; + + /* exit on modifers for other types */ + if (modifier == '^' || modifier == '!' || modifier == '+' || modifier == '*') + return 0; + + if (modifier == '$') { + if (virQEMUQAPISchemaTraverseContextHasNextQuery(ctxt)) + return -3; + + return virQEMUQAPISchemaTraverseHasObjectFeature(query, cur); + } if (!(querytype = virJSONValueObjectGetString(cur, query))) return 0; -- 2.23.0

On Mon, Nov 18, 2019 at 06:02:06PM +0100, Peter Krempa wrote:
The top level commands now can have 'feature' flags for fixes so add support for querying those as well.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_qapi.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+)
diff --git a/src/qemu/qemu_qapi.c b/src/qemu/qemu_qapi.c index 484f274c63..8e66f9f180 100644 --- a/src/qemu/qemu_qapi.c +++ b/src/qemu/qemu_qapi.c @@ -216,6 +216,21 @@ virQEMUQAPISchemaTraverseCommand(virJSONValuePtr cur, { const char *query = virQEMUQAPISchemaTraverseContextNextQuery(ctxt); const char *querytype; + char modifier = *query; + + if (!c_isalpha(modifier)) + query++; + + /* exit on modifers for other types */ + if (modifier == '^' || modifier == '!' || modifier == '+' || modifier == '*') + return 0; + + if (modifier == '$') { + if (virQEMUQAPISchemaTraverseContextHasNextQuery(ctxt)) + return -3; + + return virQEMUQAPISchemaTraverseHasObjectFeature(query, cur); + }
We're silently ignoring any unknown modifier, ok since this is trusted data and no caller is wrong. For sanity I might still report an error if there's one we don't expect though. Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|

The 'savevm' HMP command didn't work properly with blockdev as it tried to do snapshot of everything including the protocol nodes accessing files which are not snapshottable. Qemu fixed this bug so now we need to detect it to allow enabling blockdev. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_capabilities.c | 2 ++ src/qemu/qemu_capabilities.h | 1 + tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml | 1 + tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml | 1 + 4 files changed, 5 insertions(+) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 2c1f7c834b..6f23400f95 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -551,6 +551,7 @@ VIR_ENUM_IMPL(virQEMUCaps, /* 345 */ "arm-max-cpu", "blockdev-file-dynamic-auto-read-only", + "savevm-monitor-nodes", ); @@ -1294,6 +1295,7 @@ static struct virQEMUCapsStringFlags virQEMUCapsQMPSchemaQueries[] = { { "nbd-server-add/arg-type/bitmap", QEMU_CAPS_NBD_BITMAP }, { "blockdev-add/arg-type/+file/drop-cache", QEMU_CAPS_MIGRATION_FILE_DROP_CACHE }, { "blockdev-add/arg-type/+file/$dynamic-auto-read-only", QEMU_CAPS_BLOCK_FILE_AUTO_READONLY_DYNAMIC }, + { "human-monitor-command/$savevm-monitor-nodes", QEMU_CAPS_SAVEVM_MONITOR_NODES }, }; typedef struct _virQEMUCapsObjectTypeProps virQEMUCapsObjectTypeProps; diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index 2667b77ff8..e739f94091 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -532,6 +532,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */ /* 345 */ QEMU_CAPS_ARM_MAX_CPU, /* max-arm-cpu type exists */ QEMU_CAPS_BLOCK_FILE_AUTO_READONLY_DYNAMIC, /* the auto-read-only property of block backends for files is dynamic */ + QEMU_CAPS_SAVEVM_MONITOR_NODES, /* 'savevm' handles monitor-owned nodes properly */ QEMU_CAPS_LAST /* this must always be the last item */ } virQEMUCapsFlags; diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml index bb34b35209..f333193552 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml @@ -171,6 +171,7 @@ <flag name='ramfb'/> <flag name='arm-max-cpu'/> <flag name='blockdev-file-dynamic-auto-read-only'/> + <flag name='savevm-monitor-nodes'/> <version>4001050</version> <kvmVersion>0</kvmVersion> <microcodeVersion>61700242</microcodeVersion> diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml index 26fd37141c..3479d4ada3 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml @@ -214,6 +214,7 @@ <flag name='vhost-user-vga'/> <flag name='ramfb'/> <flag name='blockdev-file-dynamic-auto-read-only'/> + <flag name='savevm-monitor-nodes'/> <version>4001090</version> <kvmVersion>0</kvmVersion> <microcodeVersion>43100242</microcodeVersion> -- 2.23.0

On Mon, Nov 18, 2019 at 06:02:07PM +0100, Peter Krempa wrote:
The 'savevm' HMP command didn't work properly with blockdev as it tried to do snapshot of everything including the protocol nodes accessing files which are not snapshottable. Qemu fixed this bug so now we need to detect it to allow enabling blockdev.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_capabilities.c | 2 ++ src/qemu/qemu_capabilities.h | 1 + tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml | 1 + tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml | 1 + 4 files changed, 5 insertions(+)
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|

Now that all pieces are in place (hopefully) let's enable -blockdev. We base the capability on presence of the fix for 'auto-read-only' on files so that blockdev works properly, mandate that qemu supports explicit SCSI id strings to avoid ABI regression and that the fix for 'savevm' is present so that internal snapshots work. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_capabilities.c | 12 +- .../domaincapsdata/qemu_4.2.0-q35.x86_64.xml | 2 +- .../domaincapsdata/qemu_4.2.0-tcg.x86_64.xml | 2 +- .../qemu_4.2.0-virt.aarch64.xml | 2 +- tests/domaincapsdata/qemu_4.2.0.aarch64.xml | 2 +- tests/domaincapsdata/qemu_4.2.0.x86_64.xml | 2 +- .../caps_4.2.0.aarch64.xml | 1 + .../caps_4.2.0.x86_64.xml | 1 + ...arch64-os-firmware-efi.aarch64-latest.args | 18 ++- .../aarch64-virt-graphics.aarch64-latest.args | 26 +++- .../aarch64-virt-headless.aarch64-latest.args | 26 +++- .../controller-virtio-scsi.x86_64-latest.args | 35 +++-- .../disk-aio.x86_64-latest.args | 19 ++- ...-backing-chains-noindex.x86_64-latest.args | 145 +++++++++++++++--- .../disk-cache.x86_64-latest.args | 50 ++++-- ...m-empty-network-invalid.x86_64-latest.args | 3 +- .../disk-cdrom-network.x86_64-latest.args | 32 ++-- .../disk-cdrom-tray.x86_64-latest.args | 24 ++- .../disk-cdrom.x86_64-latest.args | 21 +-- .../disk-copy_on_read.x86_64-latest.args | 19 ++- .../disk-detect-zeroes.x86_64-latest.args | 17 +- .../disk-error-policy.x86_64-latest.args | 30 ++-- .../disk-floppy-q35-2_11.x86_64-latest.args | 14 +- .../disk-floppy-q35-2_9.x86_64-latest.args | 14 +- .../disk-floppy.x86_64-latest.args | 21 ++- .../disk-network-gluster.x86_64-latest.args | 32 ++-- .../disk-network-iscsi.x86_64-latest.args | 58 ++++--- .../disk-network-nbd.x86_64-latest.args | 41 +++-- .../disk-network-rbd.x86_64-latest.args | 67 +++++--- .../disk-network-sheepdog.x86_64-latest.args | 16 +- ...isk-network-source-auth.x86_64-latest.args | 30 ++-- .../disk-network-tlsx509.x86_64-latest.args | 64 +++++--- .../disk-readonly-disk.x86_64-latest.args | 14 +- .../disk-scsi-device-auto.x86_64-latest.args | 14 +- .../disk-scsi.x86_64-latest.args | 35 +++-- .../disk-shared.x86_64-latest.args | 36 +++-- ...irtio-scsi-reservations.x86_64-latest.args | 20 ++- .../floppy-drive-fat.x86_64-latest.args | 7 +- ...egl-headless-rendernode.x86_64-latest.args | 7 +- .../graphics-egl-headless.x86_64-latest.args | 7 +- ...threads-virtio-scsi-pci.x86_64-latest.args | 25 ++- ...y-hotplug-nvdimm-access.x86_64-latest.args | 7 +- ...ry-hotplug-nvdimm-align.x86_64-latest.args | 7 +- ...ry-hotplug-nvdimm-label.x86_64-latest.args | 7 +- ...ory-hotplug-nvdimm-pmem.x86_64-latest.args | 7 +- ...hotplug-nvdimm-readonly.x86_64-latest.args | 7 +- .../memory-hotplug-nvdimm.x86_64-latest.args | 7 +- ...os-firmware-efi-secboot.x86_64-latest.args | 18 ++- .../os-firmware-efi.x86_64-latest.args | 18 ++- ...host-user-gpu-secondary.x86_64-latest.args | 7 +- .../vhost-user-vga.x86_64-latest.args | 7 +- ...eo-bochs-display-device.x86_64-latest.args | 10 +- ...eo-ramfb-display-device.x86_64-latest.args | 10 +- ...virtio-non-transitional.x86_64-latest.args | 7 +- .../virtio-transitional.x86_64-latest.args | 7 +- .../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 +- 59 files changed, 813 insertions(+), 356 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 6f23400f95..b5fa0fba7e 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -4476,13 +4476,15 @@ virQEMUCapsInitProcessCaps(virQEMUCapsPtr qemuCaps) virQEMUCapsClear(qemuCaps, QEMU_CAPS_DEVICE_VFIO_CCW); } - /* To avoid guest ABI regression, blockdev shall be enabled only when - * we are able to pass the custom 'device_id' for SCSI disks and cdroms. */ - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_SCSI_DISK_DEVICE_ID)) - virQEMUCapsClear(qemuCaps, QEMU_CAPS_BLOCKDEV); - if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_CPU_UNAVAILABLE_FEATURES)) virQEMUCapsSet(qemuCaps, QEMU_CAPS_CANONICAL_CPU_FEATURES); + + /* To avoid guest ABI regression, blockdev shall be enabled only when + * we are able to pass the custom 'device_id' for SCSI disks and cdroms. */ + if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_BLOCK_FILE_AUTO_READONLY_DYNAMIC) && + virQEMUCapsGet(qemuCaps, QEMU_CAPS_SCSI_DISK_DEVICE_ID) && + virQEMUCapsGet(qemuCaps, QEMU_CAPS_SAVEVM_MONITOR_NODES)) + virQEMUCapsSet(qemuCaps, QEMU_CAPS_BLOCKDEV); } diff --git a/tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml index 50b846c9f4..db0bf87e20 100644 --- a/tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml @@ -173,7 +173,7 @@ <gic supported='no'/> <vmcoreinfo supported='yes'/> <genid supported='yes'/> - <backingStoreInput supported='no'/> + <backingStoreInput supported='yes'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_4.2.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_4.2.0-tcg.x86_64.xml index c9480f3530..ddea9c52ea 100644 --- a/tests/domaincapsdata/qemu_4.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_4.2.0-tcg.x86_64.xml @@ -184,7 +184,7 @@ <gic supported='no'/> <vmcoreinfo supported='yes'/> <genid supported='yes'/> - <backingStoreInput supported='no'/> + <backingStoreInput supported='yes'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_4.2.0-virt.aarch64.xml b/tests/domaincapsdata/qemu_4.2.0-virt.aarch64.xml index 837dcff0d9..d101914b06 100644 --- a/tests/domaincapsdata/qemu_4.2.0-virt.aarch64.xml +++ b/tests/domaincapsdata/qemu_4.2.0-virt.aarch64.xml @@ -147,7 +147,7 @@ </gic> <vmcoreinfo supported='yes'/> <genid supported='no'/> - <backingStoreInput supported='no'/> + <backingStoreInput supported='yes'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_4.2.0.aarch64.xml b/tests/domaincapsdata/qemu_4.2.0.aarch64.xml index 218b9d7c0e..65a842c1b1 100644 --- a/tests/domaincapsdata/qemu_4.2.0.aarch64.xml +++ b/tests/domaincapsdata/qemu_4.2.0.aarch64.xml @@ -141,7 +141,7 @@ <gic supported='no'/> <vmcoreinfo supported='yes'/> <genid supported='no'/> - <backingStoreInput supported='no'/> + <backingStoreInput supported='yes'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/domaincapsdata/qemu_4.2.0.x86_64.xml b/tests/domaincapsdata/qemu_4.2.0.x86_64.xml index 4df4667464..c6b528c5f5 100644 --- a/tests/domaincapsdata/qemu_4.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_4.2.0.x86_64.xml @@ -173,7 +173,7 @@ <gic supported='no'/> <vmcoreinfo supported='yes'/> <genid supported='yes'/> - <backingStoreInput supported='no'/> + <backingStoreInput supported='yes'/> <sev supported='no'/> </features> </domainCapabilities> diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml index f333193552..6e7d7524ca 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml @@ -152,6 +152,7 @@ <flag name='usb-storage.werror'/> <flag name='egl-headless'/> <flag name='vfio-pci.display'/> + <flag name='blockdev'/> <flag name='memory-backend-memfd'/> <flag name='memory-backend-memfd.hugetlb'/> <flag name='iothread.poll-max-ns'/> diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml index 3479d4ada3..3bc60bc211 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml @@ -192,6 +192,7 @@ <flag name='usb-storage.werror'/> <flag name='egl-headless'/> <flag name='vfio-pci.display'/> + <flag name='blockdev'/> <flag name='memory-backend-memfd'/> <flag name='memory-backend-memfd.hugetlb'/> <flag name='iothread.poll-max-ns'/> diff --git a/tests/qemuxml2argvdata/aarch64-os-firmware-efi.aarch64-latest.args b/tests/qemuxml2argvdata/aarch64-os-firmware-efi.aarch64-latest.args index 3914b6bf6e..ed6e513f3c 100644 --- a/tests/qemuxml2argvdata/aarch64-os-firmware-efi.aarch64-latest.args +++ b/tests/qemuxml2argvdata/aarch64-os-firmware-efi.aarch64-latest.args @@ -12,12 +12,20 @@ QEMU_AUDIO_DRV=none \ -S \ -object secret,id=masterKey0,format=raw,\ file=/tmp/lib/domain--1-aarch64test/master-key.aes \ --machine virt-4.0,accel=tcg,usb=off,dump-guest-core=off,gic-version=2 \ +-blockdev '{"driver":"file","filename":"/usr/share/AAVMF/AAVMF_CODE.fd",\ +"node-name":"libvirt-pflash0-storage","auto-read-only":true,\ +"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-pflash0-format","read-only":true,\ +"driver":"raw","file":"libvirt-pflash0-storage"}' \ +-blockdev '{"driver":"file",\ +"filename":"/var/lib/libvirt/qemu/nvram/aarch64test_VARS.fd",\ +"node-name":"libvirt-pflash1-storage","auto-read-only":true,\ +"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,\ +"driver":"raw","file":"libvirt-pflash1-storage"}' \ +-machine virt-4.0,accel=tcg,usb=off,dump-guest-core=off,gic-version=2,\ +pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format \ -cpu cortex-a53 \ --drive file=/usr/share/AAVMF/AAVMF_CODE.fd,if=pflash,format=raw,unit=0,\ -readonly=on \ --drive file=/var/lib/libvirt/qemu/nvram/aarch64test_VARS.fd,if=pflash,\ -format=raw,unit=1 \ -m 1024 \ -overcommit mem-lock=off \ -smp 1,sockets=1,cores=1,threads=1 \ diff --git a/tests/qemuxml2argvdata/aarch64-virt-graphics.aarch64-latest.args b/tests/qemuxml2argvdata/aarch64-virt-graphics.aarch64-latest.args index 129fac5838..c7095a24a5 100644 --- a/tests/qemuxml2argvdata/aarch64-virt-graphics.aarch64-latest.args +++ b/tests/qemuxml2argvdata/aarch64-virt-graphics.aarch64-latest.args @@ -12,11 +12,19 @@ QEMU_AUDIO_DRV=none \ -S \ -object secret,id=masterKey0,format=raw,\ file=/tmp/lib/domain--1-guest/master-key.aes \ --machine virt,accel=tcg,usb=off,dump-guest-core=off,gic-version=2 \ --drive file=/usr/share/AAVMF/AAVMF_CODE.fd,if=pflash,format=raw,unit=0,\ -readonly=on \ --drive file=/var/lib/libvirt/qemu/nvram/guest_VARS.fd,if=pflash,format=raw,\ -unit=1 \ +-blockdev '{"driver":"file","filename":"/usr/share/AAVMF/AAVMF_CODE.fd",\ +"node-name":"libvirt-pflash0-storage","auto-read-only":true,\ +"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-pflash0-format","read-only":true,\ +"driver":"raw","file":"libvirt-pflash0-storage"}' \ +-blockdev '{"driver":"file",\ +"filename":"/var/lib/libvirt/qemu/nvram/guest_VARS.fd",\ +"node-name":"libvirt-pflash1-storage","auto-read-only":true,\ +"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,\ +"driver":"raw","file":"libvirt-pflash1-storage"}' \ +-machine virt,accel=tcg,usb=off,dump-guest-core=off,gic-version=2,\ +pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format \ -m 4096 \ -overcommit mem-lock=off \ -smp 4,sockets=4,cores=1,threads=1 \ @@ -39,9 +47,11 @@ addr=0x1 \ -device pcie-root-port,port=0xf,chassis=8,id=pci.8,bus=pcie.0,addr=0x1.0x7 \ -device qemu-xhci,p2=15,p3=15,id=usb,bus=pci.2,addr=0x0 \ -device virtio-serial-pci,id=virtio-serial0,bus=pci.3,addr=0x0 \ --drive file=/var/lib/libvirt/images/guest.qcow2,format=qcow2,if=none,\ -id=drive-virtio-disk0 \ --device virtio-blk-pci,scsi=off,bus=pci.4,addr=0x0,drive=drive-virtio-disk0,\ +-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/guest.qcow2",\ +"node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"qcow2",\ +"file":"libvirt-1-storage"}' \ +-device virtio-blk-pci,scsi=off,bus=pci.4,addr=0x0,drive=libvirt-1-format,\ id=virtio-disk0,bootindex=1 \ -netdev user,id=hostnet0 \ -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:53:45:a5,bus=pci.1,\ diff --git a/tests/qemuxml2argvdata/aarch64-virt-headless.aarch64-latest.args b/tests/qemuxml2argvdata/aarch64-virt-headless.aarch64-latest.args index b4947f9b0f..d9b8db5caf 100644 --- a/tests/qemuxml2argvdata/aarch64-virt-headless.aarch64-latest.args +++ b/tests/qemuxml2argvdata/aarch64-virt-headless.aarch64-latest.args @@ -12,11 +12,19 @@ QEMU_AUDIO_DRV=none \ -S \ -object secret,id=masterKey0,format=raw,\ file=/tmp/lib/domain--1-guest/master-key.aes \ --machine virt,accel=tcg,usb=off,dump-guest-core=off,gic-version=2 \ --drive file=/usr/share/AAVMF/AAVMF_CODE.fd,if=pflash,format=raw,unit=0,\ -readonly=on \ --drive file=/var/lib/libvirt/qemu/nvram/guest_VARS.fd,if=pflash,format=raw,\ -unit=1 \ +-blockdev '{"driver":"file","filename":"/usr/share/AAVMF/AAVMF_CODE.fd",\ +"node-name":"libvirt-pflash0-storage","auto-read-only":true,\ +"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-pflash0-format","read-only":true,\ +"driver":"raw","file":"libvirt-pflash0-storage"}' \ +-blockdev '{"driver":"file",\ +"filename":"/var/lib/libvirt/qemu/nvram/guest_VARS.fd",\ +"node-name":"libvirt-pflash1-storage","auto-read-only":true,\ +"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,\ +"driver":"raw","file":"libvirt-pflash1-storage"}' \ +-machine virt,accel=tcg,usb=off,dump-guest-core=off,gic-version=2,\ +pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format \ -m 4096 \ -overcommit mem-lock=off \ -smp 4,sockets=4,cores=1,threads=1 \ @@ -39,9 +47,11 @@ addr=0x1 \ -device pcie-root-port,port=0xe,chassis=7,id=pci.7,bus=pcie.0,addr=0x1.0x6 \ -device qemu-xhci,p2=15,p3=15,id=usb,bus=pci.2,addr=0x0 \ -device virtio-serial-pci,id=virtio-serial0,bus=pci.3,addr=0x0 \ --drive file=/var/lib/libvirt/images/guest.qcow2,format=qcow2,if=none,\ -id=drive-virtio-disk0 \ --device virtio-blk-pci,scsi=off,bus=pci.4,addr=0x0,drive=drive-virtio-disk0,\ +-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/guest.qcow2",\ +"node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"qcow2",\ +"file":"libvirt-1-storage"}' \ +-device virtio-blk-pci,scsi=off,bus=pci.4,addr=0x0,drive=libvirt-1-format,\ id=virtio-disk0,bootindex=1 \ -netdev user,id=hostnet0 \ -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:09:a4:37,bus=pci.1,\ diff --git a/tests/qemuxml2argvdata/controller-virtio-scsi.x86_64-latest.args b/tests/qemuxml2argvdata/controller-virtio-scsi.x86_64-latest.args index 32b781ced9..1647cfdd97 100644 --- a/tests/qemuxml2argvdata/controller-virtio-scsi.x86_64-latest.args +++ b/tests/qemuxml2argvdata/controller-virtio-scsi.x86_64-latest.args @@ -32,21 +32,36 @@ file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ -device virtio-scsi-pci,id=scsi2,cmd_per_lun=50,bus=pci.0,addr=0x4 \ -device virtio-scsi-pci,id=scsi3,max_sectors=512,bus=pci.0,addr=0x5 \ -device virtio-scsi-pci,id=scsi4,ioeventfd=on,bus=pci.0,addr=0x6 \ --drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-scsi0-0-0-0 \ +-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1",\ +"node-name":"libvirt-5-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-5-format","read-only":false,"driver":"raw",\ +"file":"libvirt-5-storage"}' \ -device scsi-hd,bus=scsi0.0,channel=0,scsi-id=0,lun=0,\ -device_id=drive-scsi0-0-0-0,drive=drive-scsi0-0-0-0,id=scsi0-0-0-0,bootindex=1 \ --drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,id=drive-scsi1-0-0-0 \ +device_id=drive-scsi0-0-0-0,drive=libvirt-5-format,id=scsi0-0-0-0,bootindex=1 \ +-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest2",\ +"node-name":"libvirt-4-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-4-format","read-only":false,"driver":"raw",\ +"file":"libvirt-4-storage"}' \ -device scsi-hd,bus=scsi1.0,channel=0,scsi-id=0,lun=0,\ -device_id=drive-scsi1-0-0-0,drive=drive-scsi1-0-0-0,id=scsi1-0-0-0 \ --drive file=/dev/HostVG/QEMUGuest3,format=raw,if=none,id=drive-scsi2-0-0-0 \ +device_id=drive-scsi1-0-0-0,drive=libvirt-4-format,id=scsi1-0-0-0 \ +-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest3",\ +"node-name":"libvirt-3-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-3-format","read-only":false,"driver":"raw",\ +"file":"libvirt-3-storage"}' \ -device scsi-hd,bus=scsi2.0,channel=0,scsi-id=0,lun=0,\ -device_id=drive-scsi2-0-0-0,drive=drive-scsi2-0-0-0,id=scsi2-0-0-0 \ --drive file=/dev/HostVG/QEMUGuest4,format=raw,if=none,id=drive-scsi3-0-0-0 \ +device_id=drive-scsi2-0-0-0,drive=libvirt-3-format,id=scsi2-0-0-0 \ +-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest4",\ +"node-name":"libvirt-2-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-2-format","read-only":false,"driver":"raw",\ +"file":"libvirt-2-storage"}' \ -device scsi-hd,bus=scsi3.0,channel=0,scsi-id=0,lun=0,\ -device_id=drive-scsi3-0-0-0,drive=drive-scsi3-0-0-0,id=scsi3-0-0-0 \ --drive file=/dev/HostVG/QEMUGuest5,format=raw,if=none,id=drive-scsi4-0-0-0 \ +device_id=drive-scsi3-0-0-0,drive=libvirt-2-format,id=scsi3-0-0-0 \ +-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest5",\ +"node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw",\ +"file":"libvirt-1-storage"}' \ -device scsi-hd,bus=scsi4.0,channel=0,scsi-id=0,lun=0,\ -device_id=drive-scsi4-0-0-0,drive=drive-scsi4-0-0-0,id=scsi4-0-0-0 \ +device_id=drive-scsi4-0-0-0,drive=libvirt-1-format,id=scsi4-0-0-0 \ -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x7 \ -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\ resourcecontrol=deny \ diff --git a/tests/qemuxml2argvdata/disk-aio.x86_64-latest.args b/tests/qemuxml2argvdata/disk-aio.x86_64-latest.args index 623ea39a2e..a424e58a48 100644 --- a/tests/qemuxml2argvdata/disk-aio.x86_64-latest.args +++ b/tests/qemuxml2argvdata/disk-aio.x86_64-latest.args @@ -27,13 +27,20 @@ file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ -no-acpi \ -boot strict=on \ -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ --drive file=/dev/HostVG/QEMUGuest1,format=qcow2,if=none,id=drive-ide0-0-0,\ -cache=none,aio=native \ --device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1,\ +-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1",\ +"aio":"native","node-name":"libvirt-2-storage","cache":{"direct":true,\ +"no-flush":false},"auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-2-format","read-only":false,\ +"cache":{"direct":true,"no-flush":false},"driver":"qcow2",\ +"file":"libvirt-2-storage"}' \ +-device ide-hd,bus=ide.0,unit=0,drive=libvirt-2-format,id=ide0-0-0,bootindex=1,\ write-cache=on \ --drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,id=drive-ide0-1-0,\ -readonly=on,aio=threads \ --device ide-cd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \ +-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest2",\ +"aio":"threads","node-name":"libvirt-1-storage","auto-read-only":true,\ +"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-1-format","read-only":true,"driver":"raw",\ +"file":"libvirt-1-storage"}' \ +-device ide-cd,bus=ide.1,unit=0,drive=libvirt-1-format,id=ide0-1-0 \ -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \ -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\ resourcecontrol=deny \ diff --git a/tests/qemuxml2argvdata/disk-backing-chains-noindex.x86_64-latest.args b/tests/qemuxml2argvdata/disk-backing-chains-noindex.x86_64-latest.args index bba58be46c..a2f030f165 100644 --- a/tests/qemuxml2argvdata/disk-backing-chains-noindex.x86_64-latest.args +++ b/tests/qemuxml2argvdata/disk-backing-chains-noindex.x86_64-latest.args @@ -27,33 +27,138 @@ file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ -no-acpi \ -boot strict=on \ -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ --drive 'file=gluster+unix:///Volume2/Image?socket=/path/to/sock,file.debug=4,\ -format=qcow2,if=none,id=drive-virtio-disk0' \ --device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x2,drive=drive-virtio-disk0,\ +-blockdev '{"driver":"file","filename":"/tmp/missing-backing-store.qcow",\ +"node-name":"libvirt-25-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-25-format","read-only":true,"driver":"qcow2",\ +"file":"libvirt-25-storage"}' \ +-blockdev '{"driver":"gluster","volume":"Volume2","path":"Image",\ +"server":[{"type":"unix","path":"/path/to/sock"}],"debug":4,\ +"node-name":"libvirt-24-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-24-format","read-only":false,"driver":"qcow2",\ +"file":"libvirt-24-storage","backing":"libvirt-25-format"}' \ +-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x2,drive=libvirt-24-format,\ id=virtio-disk0,bootindex=1 \ --drive file=nbd:unix:/var/run/nbdsock:exportname=bar,format=qcow2,if=none,\ -id=drive-virtio-disk1 \ --device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x3,drive=drive-virtio-disk1,\ +-blockdev '{"driver":"file","filename":"/tmp/Fedora-17-x86_64-Live-KDE.iso",\ +"node-name":"libvirt-23-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-23-format","read-only":true,"driver":"raw",\ +"file":"libvirt-23-storage"}' \ +-blockdev '{"driver":"file","filename":"/tmp/image5.qcow",\ +"node-name":"libvirt-22-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-22-format","read-only":true,"driver":"qcow2",\ +"file":"libvirt-22-storage","backing":"libvirt-23-format"}' \ +-blockdev '{"driver":"file","filename":"/tmp/image4.qcow",\ +"node-name":"libvirt-21-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-21-format","read-only":true,"driver":"qcow2",\ +"file":"libvirt-21-storage","backing":"libvirt-22-format"}' \ +-blockdev '{"driver":"file","filename":"/tmp/image3.qcow",\ +"node-name":"libvirt-20-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-20-format","read-only":true,"driver":"qcow2",\ +"file":"libvirt-20-storage","backing":"libvirt-21-format"}' \ +-blockdev '{"driver":"file","filename":"/tmp/image2",\ +"node-name":"libvirt-19-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-19-format","read-only":true,"driver":"vmdk",\ +"file":"libvirt-19-storage","backing":"libvirt-20-format"}' \ +-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1",\ +"node-name":"libvirt-18-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-18-format","read-only":true,"driver":"qcow2",\ +"file":"libvirt-18-storage","backing":"libvirt-19-format"}' \ +-blockdev '{"driver":"nbd","server":{"type":"unix","path":"/var/run/nbdsock"},\ +"export":"bar","node-name":"libvirt-17-storage","auto-read-only":true,\ +"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-17-format","read-only":false,"driver":"qcow2",\ +"file":"libvirt-17-storage","backing":"libvirt-18-format"}' \ +-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x3,drive=libvirt-17-format,\ id=virtio-disk1 \ --drive file=gluster://example.org:6000/Volume1/Image,file.debug=4,format=raw,\ -if=none,id=drive-virtio-disk2 \ --device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=drive-virtio-disk2,\ +-blockdev '{"driver":"gluster","volume":"Volume1","path":"Image",\ +"server":[{"type":"inet","host":"example.org","port":"6000"}],"debug":4,\ +"node-name":"libvirt-16-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-16-format","read-only":false,"driver":"raw",\ +"file":"libvirt-16-storage"}' \ +-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=libvirt-16-format,\ id=virtio-disk2 \ --object secret,id=virtio-disk3-secret0,\ +-blockdev '{"driver":"file","filename":"/tmp/image.qcow",\ +"node-name":"libvirt-15-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-15-format","read-only":true,"driver":"qcow2",\ +"file":"libvirt-15-storage","backing":null}' \ +-object secret,id=libvirt-14-storage-secret0,\ data=9eao5F8qtkGt+seB1HYivWIxbtwUu6MQtg1zpj/oDtUsPr1q8wBYM91uEHCn6j/1,\ keyid=masterKey0,iv=AAECAwQFBgcICQoLDA0ODw==,format=base64 \ --drive 'file=rbd:pool/image:id=myname:auth_supported=cephx\;none:\ -mon_host=mon1.example.org\:6321\;mon2.example.org\:6322\;mon3.example.org\:\ -6322,file.password-secret=virtio-disk3-secret0,format=qcow2,if=none,\ -id=drive-virtio-disk3' \ --device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x5,drive=drive-virtio-disk3,\ +-blockdev '{"driver":"rbd","pool":"pool","image":"image",\ +"server":[{"host":"mon1.example.org","port":"6321"},{"host":"mon2.example.org",\ +"port":"6322"},{"host":"mon3.example.org","port":"6322"}],"user":"myname",\ +"auth-client-required":["cephx","none"],\ +"key-secret":"libvirt-14-storage-secret0","node-name":"libvirt-14-storage",\ +"auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-14-format","read-only":false,"driver":"qcow2",\ +"file":"libvirt-14-storage","backing":"libvirt-15-format"}' \ +-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x5,drive=libvirt-14-format,\ id=virtio-disk3 \ --drive file=/dev/HostVG/QEMUGuest11,format=qcow2,if=none,id=drive-virtio-disk4 \ --device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x6,drive=drive-virtio-disk4,\ +-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest11",\ +"node-name":"libvirt-13-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-13-format","read-only":false,"driver":"qcow2",\ +"file":"libvirt-13-storage"}' \ +-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x6,drive=libvirt-13-format,\ id=virtio-disk4 \ --drive file=/var/lib/libvirt/images/rhel7.1484071880,format=qcow2,if=none,\ -id=drive-virtio-disk5 \ --device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x7,drive=drive-virtio-disk5,\ +-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/rhel7.qcow2",\ +"node-name":"libvirt-12-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-12-format","read-only":true,"driver":"qcow2",\ +"file":"libvirt-12-storage","backing":null}' \ +-blockdev '{"driver":"file",\ +"filename":"/var/lib/libvirt/images/rhel7.1483536402",\ +"node-name":"libvirt-11-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-11-format","read-only":true,"driver":"qcow2",\ +"file":"libvirt-11-storage","backing":"libvirt-12-format"}' \ +-blockdev '{"driver":"file",\ +"filename":"/var/lib/libvirt/images/rhel7.1483545313",\ +"node-name":"libvirt-10-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-10-format","read-only":true,"driver":"qcow2",\ +"file":"libvirt-10-storage","backing":"libvirt-11-format"}' \ +-blockdev '{"driver":"file",\ +"filename":"/var/lib/libvirt/images/rhel7.1483545901",\ +"node-name":"libvirt-9-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-9-format","read-only":true,"driver":"qcow2",\ +"file":"libvirt-9-storage","backing":"libvirt-10-format"}' \ +-blockdev '{"driver":"file",\ +"filename":"/var/lib/libvirt/images/rhel7.1483546244",\ +"node-name":"libvirt-8-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-8-format","read-only":true,"driver":"qcow2",\ +"file":"libvirt-8-storage","backing":"libvirt-9-format"}' \ +-blockdev '{"driver":"file",\ +"filename":"/var/lib/libvirt/images/rhel7.1483605920",\ +"node-name":"libvirt-7-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-7-format","read-only":true,"driver":"qcow2",\ +"file":"libvirt-7-storage","backing":"libvirt-8-format"}' \ +-blockdev '{"driver":"file",\ +"filename":"/var/lib/libvirt/images/rhel7.1483605924",\ +"node-name":"libvirt-6-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-6-format","read-only":true,"driver":"qcow2",\ +"file":"libvirt-6-storage","backing":"libvirt-7-format"}' \ +-blockdev '{"driver":"file",\ +"filename":"/var/lib/libvirt/images/rhel7.1483615252",\ +"node-name":"libvirt-5-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-5-format","read-only":true,"driver":"qcow2",\ +"file":"libvirt-5-storage","backing":"libvirt-6-format"}' \ +-blockdev '{"driver":"file",\ +"filename":"/var/lib/libvirt/images/rhel7.1484071872",\ +"node-name":"libvirt-4-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-4-format","read-only":true,"driver":"qcow2",\ +"file":"libvirt-4-storage","backing":"libvirt-5-format"}' \ +-blockdev '{"driver":"file",\ +"filename":"/var/lib/libvirt/images/rhel7.1484071876",\ +"node-name":"libvirt-3-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-3-format","read-only":true,"driver":"qcow2",\ +"file":"libvirt-3-storage","backing":"libvirt-4-format"}' \ +-blockdev '{"driver":"file",\ +"filename":"/var/lib/libvirt/images/rhel7.1484071877",\ +"node-name":"libvirt-2-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-2-format","read-only":true,"driver":"qcow2",\ +"file":"libvirt-2-storage","backing":"libvirt-3-format"}' \ +-blockdev '{"driver":"file",\ +"filename":"/var/lib/libvirt/images/rhel7.1484071880",\ +"node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"qcow2",\ +"file":"libvirt-1-storage","backing":"libvirt-2-format"}' \ +-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x7,drive=libvirt-1-format,\ id=virtio-disk5 \ -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x8 \ -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\ diff --git a/tests/qemuxml2argvdata/disk-cache.x86_64-latest.args b/tests/qemuxml2argvdata/disk-cache.x86_64-latest.args index 7ea6d5b4d5..cf2bfe83b7 100644 --- a/tests/qemuxml2argvdata/disk-cache.x86_64-latest.args +++ b/tests/qemuxml2argvdata/disk-cache.x86_64-latest.args @@ -28,25 +28,45 @@ file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ -boot strict=on \ -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ -device lsi,id=scsi0,bus=pci.0,addr=0x2 \ --drive file=/dev/HostVG/QEMUGuest1,format=qcow2,if=none,id=drive-ide0-0-0,\ -cache=writeback \ --device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1,\ +-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1",\ +"node-name":"libvirt-5-storage","cache":{"direct":false,"no-flush":false},\ +"auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-5-format","read-only":false,\ +"cache":{"direct":false,"no-flush":false},"driver":"qcow2",\ +"file":"libvirt-5-storage"}' \ +-device ide-hd,bus=ide.0,unit=0,drive=libvirt-5-format,id=ide0-0-0,bootindex=1,\ write-cache=on \ --drive file=/dev/HostVG/QEMUGuest1,format=qcow2,if=none,id=drive-ide0-0-1,\ -cache=unsafe \ --device ide-hd,bus=ide.0,unit=1,drive=drive-ide0-0-1,id=ide0-0-1,\ +-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1",\ +"node-name":"libvirt-4-storage","cache":{"direct":false,"no-flush":true},\ +"auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-4-format","read-only":false,\ +"cache":{"direct":false,"no-flush":true},"driver":"qcow2",\ +"file":"libvirt-4-storage"}' \ +-device ide-hd,bus=ide.0,unit=1,drive=libvirt-4-format,id=ide0-0-1,\ write-cache=on \ --drive file=/dev/HostVG/QEMUGuest1,format=qcow2,if=none,id=drive-scsi0-0-0,\ -cache=none \ +-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1",\ +"node-name":"libvirt-3-storage","cache":{"direct":true,"no-flush":false},\ +"auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-3-format","read-only":false,\ +"cache":{"direct":true,"no-flush":false},"driver":"qcow2",\ +"file":"libvirt-3-storage"}' \ -device scsi-hd,bus=scsi0.0,scsi-id=0,device_id=drive-scsi0-0-0,\ -drive=drive-scsi0-0-0,id=scsi0-0-0,write-cache=on \ --drive file=/dev/HostVG/QEMUGuest1,format=qcow2,if=none,id=drive-virtio-disk0,\ -cache=writethrough \ --device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x3,drive=drive-virtio-disk0,\ +drive=libvirt-3-format,id=scsi0-0-0,write-cache=on \ +-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1",\ +"node-name":"libvirt-2-storage","cache":{"direct":false,"no-flush":false},\ +"auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-2-format","read-only":false,\ +"cache":{"direct":false,"no-flush":false},"driver":"qcow2",\ +"file":"libvirt-2-storage"}' \ +-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x3,drive=libvirt-2-format,\ id=virtio-disk0,write-cache=off \ --drive file=/dev/HostVG/QEMUGuest1,format=qcow2,if=none,id=drive-usb-disk1,\ -cache=directsync \ --device usb-storage,bus=usb.0,port=1,drive=drive-usb-disk1,id=usb-disk1,\ +-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1",\ +"node-name":"libvirt-1-storage","cache":{"direct":true,"no-flush":false},\ +"auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-1-format","read-only":false,\ +"cache":{"direct":true,"no-flush":false},"driver":"qcow2",\ +"file":"libvirt-1-storage"}' \ +-device usb-storage,bus=usb.0,port=1,drive=libvirt-1-format,id=usb-disk1,\ removable=off,write-cache=off \ -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\ resourcecontrol=deny \ diff --git a/tests/qemuxml2argvdata/disk-cdrom-empty-network-invalid.x86_64-latest.args b/tests/qemuxml2argvdata/disk-cdrom-empty-network-invalid.x86_64-latest.args index 1e43047459..bdd89d7506 100644 --- a/tests/qemuxml2argvdata/disk-cdrom-empty-network-invalid.x86_64-latest.args +++ b/tests/qemuxml2argvdata/disk-cdrom-empty-network-invalid.x86_64-latest.args @@ -27,8 +27,7 @@ file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ -no-acpi \ -boot strict=on \ -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ --drive if=none,id=drive-ide0-1-1,readonly=on \ --device ide-cd,bus=ide.1,unit=1,drive=drive-ide0-1-1,id=ide0-1-1 \ +-device ide-cd,bus=ide.1,unit=1,id=ide0-1-1 \ -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\ resourcecontrol=deny \ -msg timestamp=on diff --git a/tests/qemuxml2argvdata/disk-cdrom-network.x86_64-latest.args b/tests/qemuxml2argvdata/disk-cdrom-network.x86_64-latest.args index cf711c0a3f..056a73c4aa 100644 --- a/tests/qemuxml2argvdata/disk-cdrom-network.x86_64-latest.args +++ b/tests/qemuxml2argvdata/disk-cdrom-network.x86_64-latest.args @@ -26,18 +26,26 @@ file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ -no-shutdown \ -boot strict=on \ -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ --drive file=ftp://host.name:21/url/path/file.iso,format=raw,if=none,\ -id=drive-ide0-0-0,readonly=on \ --device ide-cd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \ --drive file=ftps://host.name:990/url/path/file.iso,format=raw,if=none,\ -id=drive-ide0-0-1,readonly=on \ --device ide-cd,bus=ide.0,unit=1,drive=drive-ide0-0-1,id=ide0-0-1 \ --drive file=https://host.name:443/url/path/file.iso,format=raw,if=none,\ -id=drive-ide0-1-0,readonly=on \ --device ide-cd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \ --drive file=tftp://host.name:69/url/path/file.iso,format=raw,if=none,\ -id=drive-ide0-1-1,readonly=on \ --device ide-cd,bus=ide.1,unit=1,drive=drive-ide0-1-1,id=ide0-1-1 \ +-blockdev '{"driver":"ftp","url":"ftp://host.name:21/url/path/file.iso",\ +"node-name":"libvirt-4-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-4-format","read-only":true,"driver":"raw",\ +"file":"libvirt-4-storage"}' \ +-device ide-cd,bus=ide.0,unit=0,drive=libvirt-4-format,id=ide0-0-0,bootindex=1 \ +-blockdev '{"driver":"ftps","url":"ftps://host.name:990/url/path/file.iso",\ +"node-name":"libvirt-3-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-3-format","read-only":true,"driver":"raw",\ +"file":"libvirt-3-storage"}' \ +-device ide-cd,bus=ide.0,unit=1,drive=libvirt-3-format,id=ide0-0-1 \ +-blockdev '{"driver":"https","url":"https://host.name:443/url/path/file.iso",\ +"node-name":"libvirt-2-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-2-format","read-only":true,"driver":"raw",\ +"file":"libvirt-2-storage"}' \ +-device ide-cd,bus=ide.1,unit=0,drive=libvirt-2-format,id=ide0-1-0 \ +-blockdev '{"driver":"tftp","url":"tftp://host.name:69/url/path/file.iso",\ +"node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-1-format","read-only":true,"driver":"raw",\ +"file":"libvirt-1-storage"}' \ +-device ide-cd,bus=ide.1,unit=1,drive=libvirt-1-format,id=ide0-1-1 \ -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \ -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\ resourcecontrol=deny \ diff --git a/tests/qemuxml2argvdata/disk-cdrom-tray.x86_64-latest.args b/tests/qemuxml2argvdata/disk-cdrom-tray.x86_64-latest.args index ad17416851..65974ca759 100644 --- a/tests/qemuxml2argvdata/disk-cdrom-tray.x86_64-latest.args +++ b/tests/qemuxml2argvdata/disk-cdrom-tray.x86_64-latest.args @@ -27,15 +27,23 @@ file=/tmp/lib/domain--1-test/master-key.aes \ -no-acpi \ -boot menu=on,strict=on \ -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ --drive file=/var/lib/libvirt/images/f14.img,format=qcow2,if=none,\ -id=drive-virtio-disk0 \ --device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,\ +-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/f14.img",\ +"node-name":"libvirt-3-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-3-format","read-only":false,"driver":"qcow2",\ +"file":"libvirt-3-storage"}' \ +-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=libvirt-3-format,\ id=virtio-disk0,bootindex=2 \ --drive file=/var/lib/libvirt/Fedora-14-x86_64-Live-KDE.iso,format=raw,if=none,\ -id=drive-ide0-1-0,readonly=on \ --device ide-cd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0,bootindex=1 \ --drive if=none,id=drive-ide0-1-1,readonly=on \ --device ide-cd,bus=ide.1,unit=1,drive=drive-ide0-1-1,id=ide0-1-1 \ +-blockdev '{"driver":"file",\ +"filename":"/var/lib/libvirt/Fedora-14-x86_64-Live-KDE.iso",\ +"node-name":"libvirt-2-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-2-format","read-only":true,"driver":"raw",\ +"file":"libvirt-2-storage"}' \ +-device ide-cd,bus=ide.1,unit=0,drive=libvirt-2-format,id=ide0-1-0,bootindex=1 \ +-blockdev '{"driver":"file","filename":"/tmp/cdrom.img",\ +"node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-1-format","read-only":true,"driver":"raw",\ +"file":"libvirt-1-storage"}' \ +-device ide-cd,bus=ide.1,unit=1,drive=libvirt-1-format,id=ide0-1-1 \ -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \ -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\ resourcecontrol=deny \ diff --git a/tests/qemuxml2argvdata/disk-cdrom.x86_64-latest.args b/tests/qemuxml2argvdata/disk-cdrom.x86_64-latest.args index bacef71aad..a32daba5e7 100644 --- a/tests/qemuxml2argvdata/disk-cdrom.x86_64-latest.args +++ b/tests/qemuxml2argvdata/disk-cdrom.x86_64-latest.args @@ -27,15 +27,18 @@ file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ -no-acpi \ -boot strict=on \ -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ --drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \ --device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \ --drive file=/root/boot.iso,format=raw,if=none,id=drive-ide0-0-1,readonly=on \ --device ide-cd,bus=ide.0,unit=1,drive=drive-ide0-0-1,id=ide0-0-1 \ --drive if=none,id=drive-ide0-1-0,readonly=on \ --device ide-cd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0,\ -write-cache=on \ --drive if=none,id=drive-ide0-1-1,readonly=on \ --device ide-cd,bus=ide.1,unit=1,drive=drive-ide0-1-1,id=ide0-1-1 \ +-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1",\ +"node-name":"libvirt-4-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-4-format","read-only":false,"driver":"raw",\ +"file":"libvirt-4-storage"}' \ +-device ide-hd,bus=ide.0,unit=0,drive=libvirt-4-format,id=ide0-0-0,bootindex=1 \ +-blockdev '{"driver":"file","filename":"/root/boot.iso",\ +"node-name":"libvirt-3-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-3-format","read-only":true,"driver":"raw",\ +"file":"libvirt-3-storage"}' \ +-device ide-cd,bus=ide.0,unit=1,drive=libvirt-3-format,id=ide0-0-1 \ +-device ide-cd,bus=ide.1,unit=0,id=ide0-1-0,write-cache=on \ +-device ide-cd,bus=ide.1,unit=1,id=ide0-1-1 \ -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\ resourcecontrol=deny \ -msg timestamp=on diff --git a/tests/qemuxml2argvdata/disk-copy_on_read.x86_64-latest.args b/tests/qemuxml2argvdata/disk-copy_on_read.x86_64-latest.args index 1f1d37c957..58bab55572 100644 --- a/tests/qemuxml2argvdata/disk-copy_on_read.x86_64-latest.args +++ b/tests/qemuxml2argvdata/disk-copy_on_read.x86_64-latest.args @@ -28,13 +28,20 @@ file=/tmp/lib/domain--1-test/master-key.aes \ -boot menu=on,strict=on \ -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x6 \ --drive file=/var/lib/libvirt/images/f14.img,format=qcow2,if=none,\ -id=drive-virtio-disk0,copy-on-read=on \ --device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,\ +-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/f14.img",\ +"node-name":"libvirt-2-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-2-format","read-only":false,"driver":"qcow2",\ +"file":"libvirt-2-storage"}' \ +-blockdev '{"driver":"copy-on-read","node-name":"libvirt-CoR-vda",\ +"file":"libvirt-2-format"}' \ +-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=libvirt-CoR-vda,\ id=virtio-disk0,bootindex=2 \ --drive file=/var/lib/libvirt/Fedora-14-x86_64-Live-KDE.iso,format=raw,if=none,\ -id=drive-ide0-1-0,readonly=on \ --device ide-cd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0,bootindex=1 \ +-blockdev '{"driver":"file",\ +"filename":"/var/lib/libvirt/Fedora-14-x86_64-Live-KDE.iso",\ +"node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-1-format","read-only":true,"driver":"raw",\ +"file":"libvirt-1-storage"}' \ +-device ide-cd,bus=ide.1,unit=0,drive=libvirt-1-format,id=ide0-1-0,bootindex=1 \ -netdev user,id=hostnet0 \ -device virtio-net-pci,tx=bh,netdev=hostnet0,id=net0,mac=52:54:00:e5:48:58,\ bus=pci.0,addr=0x2 \ diff --git a/tests/qemuxml2argvdata/disk-detect-zeroes.x86_64-latest.args b/tests/qemuxml2argvdata/disk-detect-zeroes.x86_64-latest.args index b48c0f8d43..381956291c 100644 --- a/tests/qemuxml2argvdata/disk-detect-zeroes.x86_64-latest.args +++ b/tests/qemuxml2argvdata/disk-detect-zeroes.x86_64-latest.args @@ -27,13 +27,18 @@ file=/tmp/lib/domain--1-test/master-key.aes \ -no-acpi \ -boot menu=on,strict=on \ -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ --drive file=/var/lib/libvirt/images/f14.img,format=qcow2,if=none,\ -id=drive-virtio-disk0,discard=unmap,detect-zeroes=unmap \ --device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,\ +-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/f14.img",\ +"node-name":"libvirt-2-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-2-format","read-only":false,"discard":"unmap",\ +"detect-zeroes":"unmap","driver":"qcow2","file":"libvirt-2-storage"}' \ +-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=libvirt-2-format,\ id=virtio-disk0,bootindex=2 \ --drive file=/var/lib/libvirt/Fedora-14-x86_64-Live-KDE.iso,format=raw,if=none,\ -id=drive-ide0-1-0,readonly=on,discard=ignore,detect-zeroes=on \ --device ide-cd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0,bootindex=1 \ +-blockdev '{"driver":"file",\ +"filename":"/var/lib/libvirt/Fedora-14-x86_64-Live-KDE.iso",\ +"node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-1-format","read-only":true,"discard":"ignore",\ +"detect-zeroes":"on","driver":"raw","file":"libvirt-1-storage"}' \ +-device ide-cd,bus=ide.1,unit=0,drive=libvirt-1-format,id=ide0-1-0,bootindex=1 \ -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 \ -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\ resourcecontrol=deny \ diff --git a/tests/qemuxml2argvdata/disk-error-policy.x86_64-latest.args b/tests/qemuxml2argvdata/disk-error-policy.x86_64-latest.args index ea754cef0f..2ed63972bc 100644 --- a/tests/qemuxml2argvdata/disk-error-policy.x86_64-latest.args +++ b/tests/qemuxml2argvdata/disk-error-policy.x86_64-latest.args @@ -27,17 +27,29 @@ file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ -no-acpi \ -boot strict=on \ -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ --drive file=/dev/HostVG/QEMUGuest1,format=qcow2,if=none,id=drive-ide0-0-0,\ -cache=none \ --device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1,\ +-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1",\ +"node-name":"libvirt-3-storage","cache":{"direct":true,"no-flush":false},\ +"auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-3-format","read-only":false,\ +"cache":{"direct":true,"no-flush":false},"driver":"qcow2",\ +"file":"libvirt-3-storage"}' \ +-device ide-hd,bus=ide.0,unit=0,drive=libvirt-3-format,id=ide0-0-0,bootindex=1,\ write-cache=on,werror=stop,rerror=stop \ --drive file=/dev/HostVG/QEMUGuest2,format=qcow2,if=none,id=drive-ide0-0-1,\ -cache=none \ --device ide-hd,bus=ide.0,unit=1,drive=drive-ide0-0-1,id=ide0-0-1,\ +-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest2",\ +"node-name":"libvirt-2-storage","cache":{"direct":true,"no-flush":false},\ +"auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-2-format","read-only":false,\ +"cache":{"direct":true,"no-flush":false},"driver":"qcow2",\ +"file":"libvirt-2-storage"}' \ +-device ide-hd,bus=ide.0,unit=1,drive=libvirt-2-format,id=ide0-0-1,\ write-cache=on,werror=enospc \ --drive file=/dev/HostVG/QEMUGuest3,format=qcow2,if=none,id=drive-ide0-1-0,\ -cache=none \ --device ide-hd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0,\ +-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest3",\ +"node-name":"libvirt-1-storage","cache":{"direct":true,"no-flush":false},\ +"auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-1-format","read-only":false,\ +"cache":{"direct":true,"no-flush":false},"driver":"qcow2",\ +"file":"libvirt-1-storage"}' \ +-device ide-hd,bus=ide.1,unit=0,drive=libvirt-1-format,id=ide0-1-0,\ write-cache=on,werror=report,rerror=ignore \ -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\ resourcecontrol=deny \ diff --git a/tests/qemuxml2argvdata/disk-floppy-q35-2_11.x86_64-latest.args b/tests/qemuxml2argvdata/disk-floppy-q35-2_11.x86_64-latest.args index 02e2b1e76c..81521c2425 100644 --- a/tests/qemuxml2argvdata/disk-floppy-q35-2_11.x86_64-latest.args +++ b/tests/qemuxml2argvdata/disk-floppy-q35-2_11.x86_64-latest.args @@ -30,9 +30,17 @@ file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ addr=0x1 \ -device pcie-root-port,port=0x9,chassis=2,id=pci.2,bus=pcie.0,addr=0x1.0x1 \ -device qemu-xhci,id=usb,bus=pci.1,addr=0x0 \ --drive file=/tmp/firmware.img,format=raw,if=none,id=drive-fdc0-0-0 \ --drive file=/tmp/data.img,format=qcow2,if=none,id=drive-fdc0-0-1 \ --device isa-fdc,driveA=drive-fdc0-0-0,bootindexA=1,driveB=drive-fdc0-0-1 \ +-device isa-fdc,bootindexA=1 \ +-blockdev '{"driver":"file","filename":"/tmp/firmware.img",\ +"node-name":"libvirt-2-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-2-format","read-only":false,"driver":"raw",\ +"file":"libvirt-2-storage"}' \ +-device floppy,unit=0,drive=libvirt-2-format,id=fdc0-0-0 \ +-blockdev '{"driver":"file","filename":"/tmp/data.img",\ +"node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"qcow2",\ +"file":"libvirt-1-storage"}' \ +-device floppy,unit=1,drive=libvirt-1-format,id=fdc0-0-1 \ -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\ resourcecontrol=deny \ -msg timestamp=on diff --git a/tests/qemuxml2argvdata/disk-floppy-q35-2_9.x86_64-latest.args b/tests/qemuxml2argvdata/disk-floppy-q35-2_9.x86_64-latest.args index a158e8e3d3..43aad24a03 100644 --- a/tests/qemuxml2argvdata/disk-floppy-q35-2_9.x86_64-latest.args +++ b/tests/qemuxml2argvdata/disk-floppy-q35-2_9.x86_64-latest.args @@ -30,9 +30,17 @@ file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ addr=0x1 \ -device pcie-root-port,port=0x9,chassis=2,id=pci.2,bus=pcie.0,addr=0x1.0x1 \ -device qemu-xhci,id=usb,bus=pci.1,addr=0x0 \ --drive file=/tmp/firmware.img,format=raw,if=none,id=drive-fdc0-0-0 \ --drive file=/tmp/data.img,format=qcow2,if=none,id=drive-fdc0-0-1 \ --device isa-fdc,driveA=drive-fdc0-0-0,bootindexA=1,driveB=drive-fdc0-0-1 \ +-device isa-fdc,bootindexA=1 \ +-blockdev '{"driver":"file","filename":"/tmp/firmware.img",\ +"node-name":"libvirt-2-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-2-format","read-only":false,"driver":"raw",\ +"file":"libvirt-2-storage"}' \ +-device floppy,unit=0,drive=libvirt-2-format,id=fdc0-0-0 \ +-blockdev '{"driver":"file","filename":"/tmp/data.img",\ +"node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"qcow2",\ +"file":"libvirt-1-storage"}' \ +-device floppy,unit=1,drive=libvirt-1-format,id=fdc0-0-1 \ -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\ resourcecontrol=deny \ -msg timestamp=on diff --git a/tests/qemuxml2argvdata/disk-floppy.x86_64-latest.args b/tests/qemuxml2argvdata/disk-floppy.x86_64-latest.args index f2ce94a330..1376eaeed6 100644 --- a/tests/qemuxml2argvdata/disk-floppy.x86_64-latest.args +++ b/tests/qemuxml2argvdata/disk-floppy.x86_64-latest.args @@ -27,12 +27,21 @@ file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ -no-acpi \ -boot strict=on \ -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ --drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \ --device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \ --drive file=/dev/fd0,format=raw,if=none,id=drive-fdc0-0-0 \ --drive file=/tmp/firmware.img,format=raw,if=none,id=drive-fdc0-0-1 \ --global isa-fdc.driveA=drive-fdc0-0-0 \ --global isa-fdc.driveB=drive-fdc0-0-1 \ +-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1",\ +"node-name":"libvirt-3-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-3-format","read-only":false,"driver":"raw",\ +"file":"libvirt-3-storage"}' \ +-device ide-hd,bus=ide.0,unit=0,drive=libvirt-3-format,id=ide0-0-0,bootindex=1 \ +-blockdev '{"driver":"host_device","filename":"/dev/fd0",\ +"node-name":"libvirt-2-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-2-format","read-only":false,"driver":"raw",\ +"file":"libvirt-2-storage"}' \ +-device floppy,unit=0,drive=libvirt-2-format,id=fdc0-0-0 \ +-blockdev '{"driver":"file","filename":"/tmp/firmware.img",\ +"node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw",\ +"file":"libvirt-1-storage"}' \ +-device floppy,unit=1,drive=libvirt-1-format,id=fdc0-0-1 \ -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\ resourcecontrol=deny \ -msg timestamp=on diff --git a/tests/qemuxml2argvdata/disk-network-gluster.x86_64-latest.args b/tests/qemuxml2argvdata/disk-network-gluster.x86_64-latest.args index c34abe89b4..76aeccf6d8 100644 --- a/tests/qemuxml2argvdata/disk-network-gluster.x86_64-latest.args +++ b/tests/qemuxml2argvdata/disk-network-gluster.x86_64-latest.args @@ -27,20 +27,28 @@ file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ -no-acpi \ -boot strict=on \ -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ --drive file=gluster://example.org:6000/Volume1/Image,file.debug=4,format=raw,\ -if=none,id=drive-virtio-disk0 \ --device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x2,drive=drive-virtio-disk0,\ +-blockdev '{"driver":"gluster","volume":"Volume1","path":"Image",\ +"server":[{"type":"inet","host":"example.org","port":"6000"}],"debug":4,\ +"node-name":"libvirt-3-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-3-format","read-only":false,"driver":"raw",\ +"file":"libvirt-3-storage"}' \ +-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x2,drive=libvirt-3-format,\ id=virtio-disk0,bootindex=1 \ --drive 'file=gluster+unix:///Volume2/Image?socket=/path/to/sock,file.debug=4,\ -format=raw,if=none,id=drive-virtio-disk1' \ --device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x3,drive=drive-virtio-disk1,\ +-blockdev '{"driver":"gluster","volume":"Volume2","path":"Image",\ +"server":[{"type":"unix","path":"/path/to/sock"}],"debug":4,\ +"node-name":"libvirt-2-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-2-format","read-only":false,"driver":"raw",\ +"file":"libvirt-2-storage"}' \ +-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x3,drive=libvirt-2-format,\ id=virtio-disk1 \ --drive file.driver=gluster,file.volume=Volume3,file.path=Image.qcow2,\ -file.server.0.type=tcp,file.server.0.host=example.org,file.server.0.port=6000,\ -file.server.1.type=tcp,file.server.1.host=example.org,file.server.1.port=24007,\ -file.server.2.type=unix,file.server.2.socket=/path/to/sock,file.debug=4,\ -format=qcow2,if=none,id=drive-virtio-disk2 \ --device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=drive-virtio-disk2,\ +-blockdev '{"driver":"gluster","volume":"Volume3","path":"Image.qcow2",\ +"server":[{"type":"inet","host":"example.org","port":"6000"},{"type":"inet",\ +"host":"example.org","port":"24007"},{"type":"unix","path":"/path/to/sock"}],\ +"debug":4,"node-name":"libvirt-1-storage","auto-read-only":true,\ +"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"qcow2",\ +"file":"libvirt-1-storage"}' \ +-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=libvirt-1-format,\ id=virtio-disk2 \ -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\ resourcecontrol=deny \ diff --git a/tests/qemuxml2argvdata/disk-network-iscsi.x86_64-latest.args b/tests/qemuxml2argvdata/disk-network-iscsi.x86_64-latest.args index 19fcd97c80..5bf3e350df 100644 --- a/tests/qemuxml2argvdata/disk-network-iscsi.x86_64-latest.args +++ b/tests/qemuxml2argvdata/disk-network-iscsi.x86_64-latest.args @@ -28,39 +28,49 @@ file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ -boot strict=on \ -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ -device virtio-scsi-pci,id=scsi0,bus=pci.0,addr=0x2 \ --drive file.driver=iscsi,file.portal=example.org:6000,\ -file.target=iqn.1992-01.com.example,file.lun=0,file.transport=tcp,format=raw,\ -if=none,id=drive-virtio-disk0 \ --device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x3,drive=drive-virtio-disk0,\ +-blockdev '{"driver":"iscsi","portal":"example.org:6000",\ +"target":"iqn.1992-01.com.example","lun":0,"transport":"tcp",\ +"node-name":"libvirt-5-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-5-format","read-only":false,"driver":"raw",\ +"file":"libvirt-5-storage"}' \ +-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x3,drive=libvirt-5-format,\ id=virtio-disk0,bootindex=1 \ --drive file.driver=iscsi,file.portal=example.org:6000,\ -file.target=iqn.1992-01.com.example,file.lun=1,file.transport=tcp,format=raw,\ -if=none,id=drive-virtio-disk1 \ --device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=drive-virtio-disk1,\ +-blockdev '{"driver":"iscsi","portal":"example.org:6000",\ +"target":"iqn.1992-01.com.example","lun":1,"transport":"tcp",\ +"node-name":"libvirt-4-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-4-format","read-only":false,"driver":"raw",\ +"file":"libvirt-4-storage"}' \ +-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=libvirt-4-format,\ id=virtio-disk1 \ --object secret,id=virtio-disk2-secret0,\ +-object secret,id=libvirt-3-storage-secret0,\ data=9eao5F8qtkGt+seB1HYivWIxbtwUu6MQtg1zpj/oDtUsPr1q8wBYM91uEHCn6j/1,\ keyid=masterKey0,iv=AAECAwQFBgcICQoLDA0ODw==,format=base64 \ --drive file.driver=iscsi,file.portal=example.org:6000,\ -file.target=iqn.1992-01.com.example:storage,file.lun=1,file.transport=tcp,\ -file.user=myname,file.password-secret=virtio-disk2-secret0,format=raw,if=none,\ -id=drive-virtio-disk2 \ --device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x5,drive=drive-virtio-disk2,\ +-blockdev '{"driver":"iscsi","portal":"example.org:6000",\ +"target":"iqn.1992-01.com.example:storage","lun":1,"transport":"tcp",\ +"user":"myname","password-secret":"libvirt-3-storage-secret0",\ +"node-name":"libvirt-3-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-3-format","read-only":false,"driver":"raw",\ +"file":"libvirt-3-storage"}' \ +-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x5,drive=libvirt-3-format,\ id=virtio-disk2 \ --object secret,id=virtio-disk3-secret0,\ +-object secret,id=libvirt-2-storage-secret0,\ data=9eao5F8qtkGt+seB1HYivWIxbtwUu6MQtg1zpj/oDtUsPr1q8wBYM91uEHCn6j/1,\ keyid=masterKey0,iv=AAECAwQFBgcICQoLDA0ODw==,format=base64 \ --drive file.driver=iscsi,file.portal=example.org:6000,\ -file.target=iqn.1992-01.com.example:storage,file.lun=2,file.transport=tcp,\ -file.user=myname,file.password-secret=virtio-disk3-secret0,format=raw,if=none,\ -id=drive-virtio-disk3 \ --device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x6,drive=drive-virtio-disk3,\ +-blockdev '{"driver":"iscsi","portal":"example.org:6000",\ +"target":"iqn.1992-01.com.example:storage","lun":2,"transport":"tcp",\ +"user":"myname","password-secret":"libvirt-2-storage-secret0",\ +"node-name":"libvirt-2-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-2-format","read-only":false,"driver":"raw",\ +"file":"libvirt-2-storage"}' \ +-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x6,drive=libvirt-2-format,\ id=virtio-disk3 \ --drive file.driver=iscsi,file.portal=example.org:3260,\ -file.target=iqn.1992-01.com.example,file.lun=0,file.transport=tcp,format=raw,\ -if=none,id=drive-scsi0-0-0-0 \ +-blockdev '{"driver":"iscsi","portal":"example.org:3260",\ +"target":"iqn.1992-01.com.example","lun":0,"transport":"tcp",\ +"node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw",\ +"file":"libvirt-1-storage"}' \ -device scsi-block,bus=scsi0.0,channel=0,scsi-id=0,lun=0,\ -drive=drive-scsi0-0-0-0,id=scsi0-0-0-0 \ +drive=libvirt-1-format,id=scsi0-0-0-0 \ -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\ resourcecontrol=deny \ -msg timestamp=on diff --git a/tests/qemuxml2argvdata/disk-network-nbd.x86_64-latest.args b/tests/qemuxml2argvdata/disk-network-nbd.x86_64-latest.args index 554387358a..95ef39093c 100644 --- a/tests/qemuxml2argvdata/disk-network-nbd.x86_64-latest.args +++ b/tests/qemuxml2argvdata/disk-network-nbd.x86_64-latest.args @@ -27,22 +27,39 @@ file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ -no-acpi \ -boot strict=on \ -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ --drive file=nbd:example.org:6000,format=raw,if=none,id=drive-virtio-disk0 \ --device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x2,drive=drive-virtio-disk0,\ +-blockdev '{"driver":"nbd","server":{"type":"inet","host":"example.org",\ +"port":"6000"},"node-name":"libvirt-5-storage","auto-read-only":true,\ +"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-5-format","read-only":false,"driver":"raw",\ +"file":"libvirt-5-storage"}' \ +-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x2,drive=libvirt-5-format,\ id=virtio-disk0,bootindex=1 \ --drive file=nbd:example.org:6000:exportname=bar,format=raw,if=none,\ -id=drive-virtio-disk1 \ --device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x3,drive=drive-virtio-disk1,\ +-blockdev '{"driver":"nbd","server":{"type":"inet","host":"example.org",\ +"port":"6000"},"export":"bar","node-name":"libvirt-4-storage",\ +"auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-4-format","read-only":false,"driver":"raw",\ +"file":"libvirt-4-storage"}' \ +-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x3,drive=libvirt-4-format,\ id=virtio-disk1 \ --drive 'file=nbd://[::1]:6000,format=raw,if=none,id=drive-virtio-disk2' \ --device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=drive-virtio-disk2,\ +-blockdev '{"driver":"nbd","server":{"type":"inet","host":"::1","port":"6000"},\ +"node-name":"libvirt-3-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-3-format","read-only":false,"driver":"raw",\ +"file":"libvirt-3-storage"}' \ +-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=libvirt-3-format,\ id=virtio-disk2 \ --drive 'file=nbd://[::1]:6000/bar,format=raw,if=none,id=drive-virtio-disk3' \ --device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x5,drive=drive-virtio-disk3,\ +-blockdev '{"driver":"nbd","server":{"type":"inet","host":"::1","port":"6000"},\ +"export":"bar","node-name":"libvirt-2-storage","auto-read-only":true,\ +"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-2-format","read-only":false,"driver":"raw",\ +"file":"libvirt-2-storage"}' \ +-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x5,drive=libvirt-2-format,\ id=virtio-disk3 \ --drive file=nbd:unix:/var/run/nbdsock:exportname=bar,format=raw,if=none,\ -id=drive-virtio-disk4 \ --device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x6,drive=drive-virtio-disk4,\ +-blockdev '{"driver":"nbd","server":{"type":"unix","path":"/var/run/nbdsock"},\ +"export":"bar","node-name":"libvirt-1-storage","auto-read-only":true,\ +"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw",\ +"file":"libvirt-1-storage"}' \ +-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x6,drive=libvirt-1-format,\ id=virtio-disk4 \ -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\ resourcecontrol=deny \ diff --git a/tests/qemuxml2argvdata/disk-network-rbd.x86_64-latest.args b/tests/qemuxml2argvdata/disk-network-rbd.x86_64-latest.args index 98297d8872..28cea02729 100644 --- a/tests/qemuxml2argvdata/disk-network-rbd.x86_64-latest.args +++ b/tests/qemuxml2argvdata/disk-network-rbd.x86_64-latest.args @@ -27,37 +27,56 @@ file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ -no-acpi \ -boot strict=on \ -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ --drive 'file=rbd:pool/image:auth_supported=none:mon_host=mon1.example.org\:\ -6321\;mon2.example.org\:6322\;mon3.example.org\:6322,format=raw,if=none,\ -id=drive-virtio-disk0' \ --device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x2,drive=drive-virtio-disk0,\ +-blockdev '{"driver":"rbd","pool":"pool","image":"image",\ +"server":[{"host":"mon1.example.org","port":"6321"},{"host":"mon2.example.org",\ +"port":"6322"},{"host":"mon3.example.org","port":"6322"}],\ +"node-name":"libvirt-6-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-6-format","read-only":false,"driver":"raw",\ +"file":"libvirt-6-storage"}' \ +-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x2,drive=libvirt-6-format,\ id=virtio-disk0,bootindex=1 \ --drive file=rbd:pool/image@asdf:auth_supported=none,format=raw,if=none,\ -id=drive-virtio-disk1 \ --device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x3,drive=drive-virtio-disk1,\ +-blockdev '{"driver":"rbd","pool":"pool","image":"image","snapshot":"asdf",\ +"node-name":"libvirt-5-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-5-format","read-only":false,"driver":"raw",\ +"file":"libvirt-5-storage"}' \ +-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x3,drive=libvirt-5-format,\ id=virtio-disk1 \ --drive 'file=rbd:pool/image@foo:auth_supported=none:mon_host=mon1.example.org\:\ -6321\;mon2.example.org\:6322\;mon3.example.org\:6322,format=raw,if=none,\ -id=drive-virtio-disk2' \ --device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=drive-virtio-disk2,\ +-blockdev '{"driver":"rbd","pool":"pool","image":"image","snapshot":"foo",\ +"server":[{"host":"mon1.example.org","port":"6321"},{"host":"mon2.example.org",\ +"port":"6322"},{"host":"mon3.example.org","port":"6322"}],\ +"node-name":"libvirt-4-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-4-format","read-only":false,"driver":"raw",\ +"file":"libvirt-4-storage"}' \ +-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=libvirt-4-format,\ id=virtio-disk2 \ --drive file=rbd:pool/image@foo:auth_supported=none:conf=/blah/test.conf,\ -format=raw,if=none,id=drive-virtio-disk3 \ --device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x5,drive=drive-virtio-disk3,\ +-blockdev '{"driver":"rbd","pool":"pool","image":"image","snapshot":"foo",\ +"conf":"/blah/test.conf","node-name":"libvirt-3-storage","auto-read-only":true,\ +"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-3-format","read-only":false,"driver":"raw",\ +"file":"libvirt-3-storage"}' \ +-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x5,drive=libvirt-3-format,\ id=virtio-disk3 \ --object secret,id=virtio-disk4-secret0,\ +-object secret,id=libvirt-2-storage-secret0,\ data=9eao5F8qtkGt+seB1HYivWIxbtwUu6MQtg1zpj/oDtUsPr1q8wBYM91uEHCn6j/1,\ keyid=masterKey0,iv=AAECAwQFBgcICQoLDA0ODw==,format=base64 \ --drive 'file=rbd:pool/image:id=myname:auth_supported=cephx\;none:\ -mon_host=mon1.example.org\:6321\;mon2.example.org\:6322\;mon3.example.org\:\ -6322,file.password-secret=virtio-disk4-secret0,format=raw,if=none,\ -id=drive-virtio-disk4' \ --device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x6,drive=drive-virtio-disk4,\ +-blockdev '{"driver":"rbd","pool":"pool","image":"image",\ +"server":[{"host":"mon1.example.org","port":"6321"},{"host":"mon2.example.org",\ +"port":"6322"},{"host":"mon3.example.org","port":"6322"}],"user":"myname",\ +"auth-client-required":["cephx","none"],\ +"key-secret":"libvirt-2-storage-secret0","node-name":"libvirt-2-storage",\ +"auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-2-format","read-only":false,"driver":"raw",\ +"file":"libvirt-2-storage"}' \ +-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x6,drive=libvirt-2-format,\ id=virtio-disk4 \ --drive 'file=rbd:pool/image:auth_supported=none:mon_host=[\:\:1]\:\ -6321\;example.org\:6789\;[ffff\:1234\:567\:abc\:\:0f]\:6322\;[2001\:db8\:\:\ -ff00\:42\:8329]\:6322,format=raw,if=none,id=drive-virtio-disk5' \ --device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x7,drive=drive-virtio-disk5,\ +-blockdev '{"driver":"rbd","pool":"pool","image":"image",\ +"server":[{"host":"::1","port":"6321"},{"host":"example.org","port":"6789"},\ +{"host":"ffff:1234:567:abc::0f","port":"6322"},\ +{"host":"2001:db8::ff00:42:8329","port":"6322"}],\ +"node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw",\ +"file":"libvirt-1-storage"}' \ +-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x7,drive=libvirt-1-format,\ id=virtio-disk5 \ -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\ resourcecontrol=deny \ diff --git a/tests/qemuxml2argvdata/disk-network-sheepdog.x86_64-latest.args b/tests/qemuxml2argvdata/disk-network-sheepdog.x86_64-latest.args index 011c02ba88..c2b1156f0c 100644 --- a/tests/qemuxml2argvdata/disk-network-sheepdog.x86_64-latest.args +++ b/tests/qemuxml2argvdata/disk-network-sheepdog.x86_64-latest.args @@ -27,11 +27,17 @@ file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ -no-acpi \ -boot strict=on \ -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ --drive file=/dev/HostVG/QEMU,,Guest,,,,1,format=raw,if=none,id=drive-ide0-0-0 \ --device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \ --drive file=sheepdog:example.org:6000:image,,with,,commas,format=raw,if=none,\ -id=drive-virtio-disk0 \ --device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x2,drive=drive-virtio-disk0,\ +-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMU,Guest,,1",\ +"node-name":"libvirt-2-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-2-format","read-only":false,"driver":"raw",\ +"file":"libvirt-2-storage"}' \ +-device ide-hd,bus=ide.0,unit=0,drive=libvirt-2-format,id=ide0-0-0,bootindex=1 \ +-blockdev '{"driver":"sheepdog","server":{"type":"inet","host":"example.org",\ +"port":"6000"},"vdi":"image,with,commas","node-name":"libvirt-1-storage",\ +"auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw",\ +"file":"libvirt-1-storage"}' \ +-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x2,drive=libvirt-1-format,\ id=virtio-disk0 \ -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\ resourcecontrol=deny \ diff --git a/tests/qemuxml2argvdata/disk-network-source-auth.x86_64-latest.args b/tests/qemuxml2argvdata/disk-network-source-auth.x86_64-latest.args index 9bc67a1c40..357a277c46 100644 --- a/tests/qemuxml2argvdata/disk-network-source-auth.x86_64-latest.args +++ b/tests/qemuxml2argvdata/disk-network-source-auth.x86_64-latest.args @@ -27,23 +27,29 @@ file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ -no-acpi \ -boot strict=on \ -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ --object secret,id=virtio-disk0-secret0,\ +-object secret,id=libvirt-2-storage-secret0,\ data=9eao5F8qtkGt+seB1HYivWIxbtwUu6MQtg1zpj/oDtUsPr1q8wBYM91uEHCn6j/1,\ keyid=masterKey0,iv=AAECAwQFBgcICQoLDA0ODw==,format=base64 \ --drive file.driver=iscsi,file.portal=example.org:6000,\ -file.target=iqn.1992-01.com.example:storage,file.lun=1,file.transport=tcp,\ -file.user=myname,file.password-secret=virtio-disk0-secret0,format=raw,if=none,\ -id=drive-virtio-disk0 \ --device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x2,drive=drive-virtio-disk0,\ +-blockdev '{"driver":"iscsi","portal":"example.org:6000",\ +"target":"iqn.1992-01.com.example:storage","lun":1,"transport":"tcp",\ +"user":"myname","password-secret":"libvirt-2-storage-secret0",\ +"node-name":"libvirt-2-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-2-format","read-only":false,"driver":"raw",\ +"file":"libvirt-2-storage"}' \ +-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x2,drive=libvirt-2-format,\ id=virtio-disk0,bootindex=1 \ --object secret,id=virtio-disk1-secret0,\ +-object secret,id=libvirt-1-storage-secret0,\ data=9eao5F8qtkGt+seB1HYivWIxbtwUu6MQtg1zpj/oDtUsPr1q8wBYM91uEHCn6j/1,\ keyid=masterKey0,iv=AAECAwQFBgcICQoLDA0ODw==,format=base64 \ --drive 'file=rbd:pool/image:id=myname:auth_supported=cephx\;none:\ -mon_host=mon1.example.org\:6321\;mon2.example.org\:6322\;mon3.example.org\:\ -6322,file.password-secret=virtio-disk1-secret0,format=raw,if=none,\ -id=drive-virtio-disk1' \ --device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x3,drive=drive-virtio-disk1,\ +-blockdev '{"driver":"rbd","pool":"pool","image":"image",\ +"server":[{"host":"mon1.example.org","port":"6321"},{"host":"mon2.example.org",\ +"port":"6322"},{"host":"mon3.example.org","port":"6322"}],"user":"myname",\ +"auth-client-required":["cephx","none"],\ +"key-secret":"libvirt-1-storage-secret0","node-name":"libvirt-1-storage",\ +"auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw",\ +"file":"libvirt-1-storage"}' \ +-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x3,drive=libvirt-1-format,\ id=virtio-disk1 \ -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\ resourcecontrol=deny \ diff --git a/tests/qemuxml2argvdata/disk-network-tlsx509.x86_64-latest.args b/tests/qemuxml2argvdata/disk-network-tlsx509.x86_64-latest.args index c043de80d8..fa729cb6e8 100644 --- a/tests/qemuxml2argvdata/disk-network-tlsx509.x86_64-latest.args +++ b/tests/qemuxml2argvdata/disk-network-tlsx509.x86_64-latest.args @@ -28,34 +28,50 @@ file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ -no-acpi \ -boot strict=on \ -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ --object tls-creds-x509,id=objvirtio-disk0_tls0,dir=/etc/pki/libvirt-vxhs/dummy,\ -,path,endpoint=client,verify-peer=yes \ --drive file.driver=vxhs,file.tls-creds=objvirtio-disk0_tls0,\ -file.vdisk-id=eb90327c-8302-4725-9e1b-4e85ed4dc251,\ -file.server.host=192.168.0.1,file.server.port=9999,format=raw,if=none,\ -id=drive-virtio-disk0,cache=none \ --device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,\ +-object tls-creds-x509,id=objlibvirt-4-storage_tls0,\ +dir=/etc/pki/libvirt-vxhs/dummy,,path,endpoint=client,verify-peer=yes \ +-blockdev '{"driver":"vxhs","tls-creds":"objlibvirt-4-storage_tls0",\ +"vdisk-id":"eb90327c-8302-4725-9e1b-4e85ed4dc251",\ +"server":{"host":"192.168.0.1","port":"9999"},"node-name":"libvirt-4-storage",\ +"cache":{"direct":true,"no-flush":false},"auto-read-only":true,\ +"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-4-format","read-only":false,\ +"cache":{"direct":true,"no-flush":false},"driver":"raw",\ +"file":"libvirt-4-storage"}' \ +-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=libvirt-4-format,\ id=virtio-disk0,bootindex=1,write-cache=on,\ serial=eb90327c-8302-4725-9e1b-4e85ed4dc251 \ --object tls-creds-x509,id=objvirtio-disk1_tls0,dir=/etc/pki/libvirt-vxhs/dummy,\ -,path,endpoint=client,verify-peer=yes \ --drive file.driver=vxhs,file.tls-creds=objvirtio-disk1_tls0,\ -file.vdisk-id=eb90327c-8302-4725-9e1b-4e85ed4dc252,\ -file.server.host=192.168.0.2,file.server.port=9999,format=raw,if=none,\ -id=drive-virtio-disk1,cache=none \ --device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x5,drive=drive-virtio-disk1,\ +-object tls-creds-x509,id=objlibvirt-3-storage_tls0,\ +dir=/etc/pki/libvirt-vxhs/dummy,,path,endpoint=client,verify-peer=yes \ +-blockdev '{"driver":"vxhs","tls-creds":"objlibvirt-3-storage_tls0",\ +"vdisk-id":"eb90327c-8302-4725-9e1b-4e85ed4dc252",\ +"server":{"host":"192.168.0.2","port":"9999"},"node-name":"libvirt-3-storage",\ +"cache":{"direct":true,"no-flush":false},"auto-read-only":true,\ +"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-3-format","read-only":false,\ +"cache":{"direct":true,"no-flush":false},"driver":"raw",\ +"file":"libvirt-3-storage"}' \ +-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x5,drive=libvirt-3-format,\ id=virtio-disk1,write-cache=on,serial=eb90327c-8302-4725-9e1b-4e85ed4dc252 \ --drive file.driver=vxhs,file.vdisk-id=eb90327c-8302-4725-9e1b-4e85ed4dc253,\ -file.server.host=192.168.0.3,file.server.port=9999,format=raw,if=none,\ -id=drive-virtio-disk2,cache=none \ --device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x6,drive=drive-virtio-disk2,\ +-blockdev '{"driver":"vxhs","vdisk-id":"eb90327c-8302-4725-9e1b-4e85ed4dc253",\ +"server":{"host":"192.168.0.3","port":"9999"},"node-name":"libvirt-2-storage",\ +"cache":{"direct":true,"no-flush":false},"auto-read-only":true,\ +"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-2-format","read-only":false,\ +"cache":{"direct":true,"no-flush":false},"driver":"raw",\ +"file":"libvirt-2-storage"}' \ +-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x6,drive=libvirt-2-format,\ id=virtio-disk2,write-cache=on,serial=eb90327c-8302-4725-9e1b-4e85ed4dc252 \ --object tls-creds-x509,id=objvirtio-disk3_tls0,dir=/etc/pki/libvirt-nbd/dummy,,\ -path,endpoint=client,verify-peer=yes \ --drive file.driver=nbd,file.server.type=inet,file.server.host=example.com,\ -file.server.port=1234,file.tls-creds=objvirtio-disk3_tls0,format=raw,if=none,\ -id=drive-virtio-disk3,cache=none \ --device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x7,drive=drive-virtio-disk3,\ +-object tls-creds-x509,id=objlibvirt-1-storage_tls0,\ +dir=/etc/pki/libvirt-nbd/dummy,,path,endpoint=client,verify-peer=yes \ +-blockdev '{"driver":"nbd","server":{"type":"inet","host":"example.com",\ +"port":"1234"},"tls-creds":"objlibvirt-1-storage_tls0",\ +"node-name":"libvirt-1-storage","cache":{"direct":true,"no-flush":false},\ +"auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-1-format","read-only":false,\ +"cache":{"direct":true,"no-flush":false},"driver":"raw",\ +"file":"libvirt-1-storage"}' \ +-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x7,drive=libvirt-1-format,\ id=virtio-disk3,write-cache=on \ -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\ resourcecontrol=deny \ diff --git a/tests/qemuxml2argvdata/disk-readonly-disk.x86_64-latest.args b/tests/qemuxml2argvdata/disk-readonly-disk.x86_64-latest.args index c325c6fe76..5ca36c0871 100644 --- a/tests/qemuxml2argvdata/disk-readonly-disk.x86_64-latest.args +++ b/tests/qemuxml2argvdata/disk-readonly-disk.x86_64-latest.args @@ -27,10 +27,16 @@ file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ -no-acpi \ -boot strict=on \ -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ --drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \ --device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \ --drive file=/dev/sr0,format=raw,if=none,id=drive-ide0-1-0,readonly=on \ --device ide-cd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \ +-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1",\ +"node-name":"libvirt-2-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-2-format","read-only":false,"driver":"raw",\ +"file":"libvirt-2-storage"}' \ +-device ide-hd,bus=ide.0,unit=0,drive=libvirt-2-format,id=ide0-0-0,bootindex=1 \ +-blockdev '{"driver":"host_device","filename":"/dev/sr0",\ +"node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-1-format","read-only":true,"driver":"raw",\ +"file":"libvirt-1-storage"}' \ +-device ide-cd,bus=ide.1,unit=0,drive=libvirt-1-format,id=ide0-1-0 \ -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \ -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\ resourcecontrol=deny \ diff --git a/tests/qemuxml2argvdata/disk-scsi-device-auto.x86_64-latest.args b/tests/qemuxml2argvdata/disk-scsi-device-auto.x86_64-latest.args index 9661115009..7cff9c94b6 100644 --- a/tests/qemuxml2argvdata/disk-scsi-device-auto.x86_64-latest.args +++ b/tests/qemuxml2argvdata/disk-scsi-device-auto.x86_64-latest.args @@ -28,11 +28,17 @@ file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ -boot strict=on \ -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ -device lsi,id=scsi0,bus=pci.0,addr=0x2 \ --drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \ --device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \ --drive file=/tmp/scsidisk.img,format=raw,if=none,id=drive-scsi0-0-0 \ +-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1",\ +"node-name":"libvirt-2-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-2-format","read-only":false,"driver":"raw",\ +"file":"libvirt-2-storage"}' \ +-device ide-hd,bus=ide.0,unit=0,drive=libvirt-2-format,id=ide0-0-0,bootindex=1 \ +-blockdev '{"driver":"file","filename":"/tmp/scsidisk.img",\ +"node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw",\ +"file":"libvirt-1-storage"}' \ -device scsi-hd,bus=scsi0.0,scsi-id=0,device_id=drive-scsi0-0-0,\ -drive=drive-scsi0-0-0,id=scsi0-0-0 \ +drive=libvirt-1-format,id=scsi0-0-0 \ -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 \ -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\ resourcecontrol=deny \ diff --git a/tests/qemuxml2argvdata/disk-scsi.x86_64-latest.args b/tests/qemuxml2argvdata/disk-scsi.x86_64-latest.args index 7bf011fd5f..ad07d206d6 100644 --- a/tests/qemuxml2argvdata/disk-scsi.x86_64-latest.args +++ b/tests/qemuxml2argvdata/disk-scsi.x86_64-latest.args @@ -31,21 +31,36 @@ file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ -device megasas,id=scsi1,bus=pci.0,addr=0x3 \ -device mptsas1068,id=scsi2,bus=pci.0,addr=0x4 \ -device spapr-vscsi,id=scsi3,reg=0x00002000 \ --drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \ --device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \ --drive file=/tmp/scsidisk.img,format=raw,if=none,id=drive-scsi0-0-0 \ +-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1",\ +"node-name":"libvirt-5-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-5-format","read-only":false,"driver":"raw",\ +"file":"libvirt-5-storage"}' \ +-device ide-hd,bus=ide.0,unit=0,drive=libvirt-5-format,id=ide0-0-0,bootindex=1 \ +-blockdev '{"driver":"file","filename":"/tmp/scsidisk.img",\ +"node-name":"libvirt-4-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-4-format","read-only":false,"driver":"raw",\ +"file":"libvirt-4-storage"}' \ -device scsi-hd,bus=scsi0.0,scsi-id=0,device_id=drive-scsi0-0-0,\ -drive=drive-scsi0-0-0,id=scsi0-0-0 \ --drive file=/tmp/scsidisk2.img,format=raw,if=none,id=drive-scsi1-0-0-0 \ +drive=libvirt-4-format,id=scsi0-0-0 \ +-blockdev '{"driver":"file","filename":"/tmp/scsidisk2.img",\ +"node-name":"libvirt-3-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-3-format","read-only":false,"driver":"raw",\ +"file":"libvirt-3-storage"}' \ -device scsi-hd,bus=scsi1.0,channel=0,scsi-id=0,lun=0,device_id=abcdefghijklmn,\ -drive=drive-scsi1-0-0-0,id=scsi1-0-0-0,serial=abcdefghijklmn \ --drive file=/tmp/scsidisk3.img,format=raw,if=none,id=drive-scsi2-0-0-0 \ +drive=libvirt-3-format,id=scsi1-0-0-0,serial=abcdefghijklmn \ +-blockdev '{"driver":"file","filename":"/tmp/scsidisk3.img",\ +"node-name":"libvirt-2-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-2-format","read-only":false,"driver":"raw",\ +"file":"libvirt-2-storage"}' \ -device scsi-hd,bus=scsi2.0,channel=0,scsi-id=0,lun=0,\ -device_id=drive-scsi2-0-0-0,drive=drive-scsi2-0-0-0,id=scsi2-0-0-0,\ +device_id=drive-scsi2-0-0-0,drive=libvirt-2-format,id=scsi2-0-0-0,\ wwn=0x5000c50015ea71ac \ --drive file=/tmp/scsidisk4.img,format=raw,if=none,id=drive-scsi3-0-0-0 \ +-blockdev '{"driver":"file","filename":"/tmp/scsidisk4.img",\ +"node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw",\ +"file":"libvirt-1-storage"}' \ -device scsi-hd,bus=scsi3.0,channel=0,scsi-id=0,lun=0,\ -device_id=drive-scsi3-0-0-0,drive=drive-scsi3-0-0-0,id=scsi3-0-0-0 \ +device_id=drive-scsi3-0-0-0,drive=libvirt-1-format,id=scsi3-0-0-0 \ -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5 \ -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\ resourcecontrol=deny \ diff --git a/tests/qemuxml2argvdata/disk-shared.x86_64-latest.args b/tests/qemuxml2argvdata/disk-shared.x86_64-latest.args index afc2549442..375e2de560 100644 --- a/tests/qemuxml2argvdata/disk-shared.x86_64-latest.args +++ b/tests/qemuxml2argvdata/disk-shared.x86_64-latest.args @@ -28,20 +28,36 @@ file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ -boot strict=on \ -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ -device virtio-scsi-pci,id=scsi0,bus=pci.0,addr=0x2 \ --drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0,\ -cache=none \ --device ide-hd,bus=ide.0,unit=0,share-rw=on,drive=drive-ide0-0-0,id=ide0-0-0,\ +-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1",\ +"node-name":"libvirt-4-storage","cache":{"direct":true,"no-flush":false},\ +"auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-4-format","read-only":false,\ +"cache":{"direct":true,"no-flush":false},"driver":"raw",\ +"file":"libvirt-4-storage"}' \ +-device ide-hd,bus=ide.0,unit=0,share-rw=on,drive=libvirt-4-format,id=ide0-0-0,\ bootindex=1,write-cache=on,serial=XYZXYZXYZYXXYZYZYXYZY \ --drive file=/dev/HostVG/QEMUGuest2,format=raw,if=none,id=drive-ide0-1-0,\ -readonly=on \ --device ide-cd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 \ --drive file=/dev/scsi,format=raw,if=none,id=drive-scsi0-0-0-0,cache=none \ +-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest2",\ +"node-name":"libvirt-3-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-3-format","read-only":true,"driver":"raw",\ +"file":"libvirt-3-storage"}' \ +-device ide-cd,bus=ide.1,unit=0,drive=libvirt-3-format,id=ide0-1-0 \ +-blockdev '{"driver":"host_device","filename":"/dev/scsi",\ +"node-name":"libvirt-2-storage","cache":{"direct":true,"no-flush":false},\ +"auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-2-format","read-only":false,\ +"cache":{"direct":true,"no-flush":false},"driver":"raw",\ +"file":"libvirt-2-storage"}' \ -device scsi-hd,bus=scsi0.0,channel=0,scsi-id=0,lun=0,\ -device_id=drive-scsi0-0-0-0,share-rw=on,drive=drive-scsi0-0-0-0,id=scsi0-0-0-0,\ +device_id=drive-scsi0-0-0-0,share-rw=on,drive=libvirt-2-format,id=scsi0-0-0-0,\ write-cache=on \ --drive file=/dev/virtio,format=raw,if=none,id=drive-virtio-disk0,cache=none \ +-blockdev '{"driver":"host_device","filename":"/dev/virtio",\ +"node-name":"libvirt-1-storage","cache":{"direct":true,"no-flush":false},\ +"auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-1-format","read-only":false,\ +"cache":{"direct":true,"no-flush":false},"driver":"raw",\ +"file":"libvirt-1-storage"}' \ -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x3,share-rw=on,\ -drive=drive-virtio-disk0,id=virtio-disk0,write-cache=on \ +drive=libvirt-1-format,id=virtio-disk0,write-cache=on \ -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4 \ -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\ resourcecontrol=deny \ diff --git a/tests/qemuxml2argvdata/disk-virtio-scsi-reservations.x86_64-latest.args b/tests/qemuxml2argvdata/disk-virtio-scsi-reservations.x86_64-latest.args index 746dbdedfe..bd07929eec 100644 --- a/tests/qemuxml2argvdata/disk-virtio-scsi-reservations.x86_64-latest.args +++ b/tests/qemuxml2argvdata/disk-virtio-scsi-reservations.x86_64-latest.args @@ -30,16 +30,22 @@ path=/tmp/lib/domain--1-QEMUGuest1/pr-helper0.sock \ -boot strict=on \ -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ -device virtio-scsi-pci,id=scsi0,num_queues=8,bus=pci.0,addr=0x3 \ --drive file=/dev/HostVG/QEMUGuest1,file.pr-manager=pr-helper0,format=raw,\ -if=none,id=drive-scsi0-0-0-0 \ +-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1",\ +"pr-manager":"pr-helper0","node-name":"libvirt-2-storage",\ +"auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-2-format","read-only":false,"driver":"raw",\ +"file":"libvirt-2-storage"}' \ -device scsi-block,bus=scsi0.0,channel=0,scsi-id=0,lun=0,\ -drive=drive-scsi0-0-0-0,id=scsi0-0-0-0,bootindex=1 \ --object pr-manager-helper,id=pr-helper-scsi0-0-0-1,\ +drive=libvirt-2-format,id=scsi0-0-0-0,bootindex=1 \ +-object pr-manager-helper,id=pr-helper-libvirt-1-storage,\ path=/path/to/qemu-pr-helper.sock \ --drive file=/dev/HostVG/QEMUGuest2,file.pr-manager=pr-helper-scsi0-0-0-1,\ -format=raw,if=none,id=drive-scsi0-0-0-1 \ +-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest2",\ +"pr-manager":"pr-helper-libvirt-1-storage","node-name":"libvirt-1-storage",\ +"auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw",\ +"file":"libvirt-1-storage"}' \ -device scsi-block,bus=scsi0.0,channel=0,scsi-id=0,lun=1,\ -drive=drive-scsi0-0-0-1,id=scsi0-0-0-1 \ +drive=libvirt-1-format,id=scsi0-0-0-1 \ -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4 \ -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\ resourcecontrol=deny \ diff --git a/tests/qemuxml2argvdata/floppy-drive-fat.x86_64-latest.args b/tests/qemuxml2argvdata/floppy-drive-fat.x86_64-latest.args index 2e6f893fad..1bf202659e 100644 --- a/tests/qemuxml2argvdata/floppy-drive-fat.x86_64-latest.args +++ b/tests/qemuxml2argvdata/floppy-drive-fat.x86_64-latest.args @@ -27,9 +27,12 @@ file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ -no-acpi \ -boot strict=on \ -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ --drive file=fat:floppy:/var/somefiles,if=none,id=drive-fdc0-0-0,readonly=on \ --global isa-fdc.driveA=drive-fdc0-0-0 \ -global isa-fdc.bootindexA=1 \ +-blockdev '{"driver":"vvfat","dir":"/var/somefiles","floppy":true,"rw":false,\ +"node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-1-format","read-only":true,"driver":"raw",\ +"file":"libvirt-1-storage"}' \ +-device floppy,unit=0,drive=libvirt-1-format,id=fdc0-0-0 \ -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \ -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\ resourcecontrol=deny \ diff --git a/tests/qemuxml2argvdata/graphics-egl-headless-rendernode.x86_64-latest.args b/tests/qemuxml2argvdata/graphics-egl-headless-rendernode.x86_64-latest.args index c78272eadc..d7b86e6270 100644 --- a/tests/qemuxml2argvdata/graphics-egl-headless-rendernode.x86_64-latest.args +++ b/tests/qemuxml2argvdata/graphics-egl-headless-rendernode.x86_64-latest.args @@ -25,8 +25,11 @@ file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ -no-acpi \ -boot strict=on \ -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ --drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \ --device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \ +-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1",\ +"node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw",\ +"file":"libvirt-1-storage"}' \ +-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \ -display egl-headless,rendernode=/dev/dri/foo \ -device cirrus-vga,id=video0,bus=pci.0,addr=0x2 \ -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\ diff --git a/tests/qemuxml2argvdata/graphics-egl-headless.x86_64-latest.args b/tests/qemuxml2argvdata/graphics-egl-headless.x86_64-latest.args index c78272eadc..d7b86e6270 100644 --- a/tests/qemuxml2argvdata/graphics-egl-headless.x86_64-latest.args +++ b/tests/qemuxml2argvdata/graphics-egl-headless.x86_64-latest.args @@ -25,8 +25,11 @@ file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ -no-acpi \ -boot strict=on \ -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ --drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \ --device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \ +-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1",\ +"node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw",\ +"file":"libvirt-1-storage"}' \ +-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \ -display egl-headless,rendernode=/dev/dri/foo \ -device cirrus-vga,id=video0,bus=pci.0,addr=0x2 \ -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\ diff --git a/tests/qemuxml2argvdata/iothreads-virtio-scsi-pci.x86_64-latest.args b/tests/qemuxml2argvdata/iothreads-virtio-scsi-pci.x86_64-latest.args index bc66de1f76..df4c565a17 100644 --- a/tests/qemuxml2argvdata/iothreads-virtio-scsi-pci.x86_64-latest.args +++ b/tests/qemuxml2argvdata/iothreads-virtio-scsi-pci.x86_64-latest.args @@ -30,16 +30,25 @@ file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ -boot strict=on \ -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ -device virtio-scsi-pci,iothread=iothread2,id=scsi0,bus=pci.0,addr=0xb \ --drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \ --device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \ --drive file=/var/lib/libvirt/images/iothrtest1.img,format=raw,if=none,\ -id=drive-virtio-disk1 \ +-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1",\ +"node-name":"libvirt-3-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-3-format","read-only":false,"driver":"raw",\ +"file":"libvirt-3-storage"}' \ +-device ide-hd,bus=ide.0,unit=0,drive=libvirt-3-format,id=ide0-0-0,bootindex=1 \ +-blockdev '{"driver":"file",\ +"filename":"/var/lib/libvirt/images/iothrtest1.img",\ +"node-name":"libvirt-2-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-2-format","read-only":false,"driver":"raw",\ +"file":"libvirt-2-storage"}' \ -device virtio-blk-pci,iothread=iothread1,scsi=off,bus=pci.0,addr=0x4,\ -drive=drive-virtio-disk1,id=virtio-disk1 \ --drive file=/var/lib/libvirt/images/iothrtest2.img,format=raw,if=none,\ -id=drive-scsi0-0-0-3 \ +drive=libvirt-2-format,id=virtio-disk1 \ +-blockdev '{"driver":"file",\ +"filename":"/var/lib/libvirt/images/iothrtest2.img",\ +"node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw",\ +"file":"libvirt-1-storage"}' \ -device scsi-hd,bus=scsi0.0,channel=0,scsi-id=0,lun=3,\ -device_id=drive-scsi0-0-0-3,drive=drive-scsi0-0-0-3,id=scsi0-0-0-3 \ +device_id=drive-scsi0-0-0-3,drive=libvirt-1-format,id=scsi0-0-0-3 \ -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\ resourcecontrol=deny \ -msg timestamp=on diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-access.x86_64-latest.args b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-access.x86_64-latest.args index e694496b84..ee860097e8 100644 --- a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-access.x86_64-latest.args +++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-access.x86_64-latest.args @@ -31,8 +31,11 @@ share=no,size=536870912 \ -no-acpi \ -boot strict=on \ -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ --drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \ --device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \ +-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1",\ +"node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw",\ +"file":"libvirt-1-storage"}' \ +-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \ -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 \ -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\ resourcecontrol=deny \ diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-align.x86_64-latest.args b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-align.x86_64-latest.args index 3eef32b324..9705dcd137 100644 --- a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-align.x86_64-latest.args +++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-align.x86_64-latest.args @@ -31,8 +31,11 @@ share=no,size=536870912,align=2097152 \ -no-acpi \ -boot strict=on \ -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ --drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \ --device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \ +-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1",\ +"node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw",\ +"file":"libvirt-1-storage"}' \ +-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \ -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 \ -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\ resourcecontrol=deny \ diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-label.x86_64-latest.args b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-label.x86_64-latest.args index 6217a27ad1..b3f750456c 100644 --- a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-label.x86_64-latest.args +++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-label.x86_64-latest.args @@ -31,8 +31,11 @@ share=no,size=536870912 \ -no-acpi \ -boot strict=on \ -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ --drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \ --device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \ +-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1",\ +"node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw",\ +"file":"libvirt-1-storage"}' \ +-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \ -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 \ -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\ resourcecontrol=deny \ diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-pmem.x86_64-latest.args b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-pmem.x86_64-latest.args index b2987205f3..07ec6b68fa 100644 --- a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-pmem.x86_64-latest.args +++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-pmem.x86_64-latest.args @@ -31,8 +31,11 @@ share=no,size=536870912,pmem=on \ -no-acpi \ -boot strict=on \ -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ --drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \ --device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \ +-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1",\ +"node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw",\ +"file":"libvirt-1-storage"}' \ +-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \ -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 \ -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\ resourcecontrol=deny \ diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-readonly.x86_64-latest.args b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-readonly.x86_64-latest.args index 498c13c50f..0b7a379914 100644 --- a/tests/qemuxml2argvdata/memory-hotplug-nvdimm-readonly.x86_64-latest.args +++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm-readonly.x86_64-latest.args @@ -31,8 +31,11 @@ share=no,size=536870912 \ -no-acpi \ -boot strict=on \ -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ --drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \ --device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \ +-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1",\ +"node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw",\ +"file":"libvirt-1-storage"}' \ +-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \ -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 \ -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\ resourcecontrol=deny \ diff --git a/tests/qemuxml2argvdata/memory-hotplug-nvdimm.x86_64-latest.args b/tests/qemuxml2argvdata/memory-hotplug-nvdimm.x86_64-latest.args index 87c928a540..2d7cdedcf4 100644 --- a/tests/qemuxml2argvdata/memory-hotplug-nvdimm.x86_64-latest.args +++ b/tests/qemuxml2argvdata/memory-hotplug-nvdimm.x86_64-latest.args @@ -31,8 +31,11 @@ size=536870912 \ -no-acpi \ -boot strict=on \ -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ --drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \ --device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \ +-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1",\ +"node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw",\ +"file":"libvirt-1-storage"}' \ +-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \ -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 \ -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\ resourcecontrol=deny \ diff --git a/tests/qemuxml2argvdata/os-firmware-efi-secboot.x86_64-latest.args b/tests/qemuxml2argvdata/os-firmware-efi-secboot.x86_64-latest.args index d8f356ea07..95bc8b3e44 100644 --- a/tests/qemuxml2argvdata/os-firmware-efi-secboot.x86_64-latest.args +++ b/tests/qemuxml2argvdata/os-firmware-efi-secboot.x86_64-latest.args @@ -12,12 +12,20 @@ QEMU_AUDIO_DRV=none \ -S \ -object secret,id=masterKey0,format=raw,\ file=/tmp/lib/domain--1-fedora/master-key.aes \ --machine pc-q35-4.0,accel=kvm,usb=off,smm=on,dump-guest-core=off \ +-blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.secboot.fd",\ +"node-name":"libvirt-pflash0-storage","auto-read-only":true,\ +"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-pflash0-format","read-only":true,\ +"driver":"raw","file":"libvirt-pflash0-storage"}' \ +-blockdev '{"driver":"file",\ +"filename":"/var/lib/libvirt/qemu/nvram/fedora_VARS.fd",\ +"node-name":"libvirt-pflash1-storage","auto-read-only":true,\ +"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,\ +"driver":"raw","file":"libvirt-pflash1-storage"}' \ +-machine pc-q35-4.0,accel=kvm,usb=off,smm=on,dump-guest-core=off,\ +pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format \ -global driver=cfi.pflash01,property=secure,value=on \ --drive file=/usr/share/OVMF/OVMF_CODE.secboot.fd,if=pflash,format=raw,unit=0,\ -readonly=on \ --drive file=/var/lib/libvirt/qemu/nvram/fedora_VARS.fd,if=pflash,format=raw,\ -unit=1 \ -m 8 \ -overcommit mem-lock=off \ -smp 1,sockets=1,cores=1,threads=1 \ diff --git a/tests/qemuxml2argvdata/os-firmware-efi.x86_64-latest.args b/tests/qemuxml2argvdata/os-firmware-efi.x86_64-latest.args index e4dda734b0..3aa937738e 100644 --- a/tests/qemuxml2argvdata/os-firmware-efi.x86_64-latest.args +++ b/tests/qemuxml2argvdata/os-firmware-efi.x86_64-latest.args @@ -12,11 +12,19 @@ QEMU_AUDIO_DRV=none \ -S \ -object secret,id=masterKey0,format=raw,\ file=/tmp/lib/domain--1-fedora/master-key.aes \ --machine pc-q35-4.0,accel=kvm,usb=off,smm=on,dump-guest-core=off \ --drive file=/usr/share/OVMF/OVMF_CODE.secboot.fd,if=pflash,format=raw,unit=0,\ -readonly=on \ --drive file=/var/lib/libvirt/qemu/nvram/fedora_VARS.fd,if=pflash,format=raw,\ -unit=1 \ +-blockdev '{"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE.secboot.fd",\ +"node-name":"libvirt-pflash0-storage","auto-read-only":true,\ +"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-pflash0-format","read-only":true,\ +"driver":"raw","file":"libvirt-pflash0-storage"}' \ +-blockdev '{"driver":"file",\ +"filename":"/var/lib/libvirt/qemu/nvram/fedora_VARS.fd",\ +"node-name":"libvirt-pflash1-storage","auto-read-only":true,\ +"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,\ +"driver":"raw","file":"libvirt-pflash1-storage"}' \ +-machine pc-q35-4.0,accel=kvm,usb=off,smm=on,dump-guest-core=off,\ +pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format \ -m 8 \ -overcommit mem-lock=off \ -smp 1,sockets=1,cores=1,threads=1 \ diff --git a/tests/qemuxml2argvdata/vhost-user-gpu-secondary.x86_64-latest.args b/tests/qemuxml2argvdata/vhost-user-gpu-secondary.x86_64-latest.args index 77643d31c0..46c53c45fa 100644 --- a/tests/qemuxml2argvdata/vhost-user-gpu-secondary.x86_64-latest.args +++ b/tests/qemuxml2argvdata/vhost-user-gpu-secondary.x86_64-latest.args @@ -29,8 +29,11 @@ file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ -no-acpi \ -boot strict=on \ -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ --drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \ --device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \ +-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1",\ +"node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw",\ +"file":"libvirt-1-storage"}' \ +-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \ -chardev socket,id=chr-vu-video0,fd=1729 \ -chardev socket,id=chr-vu-video1,fd=1729 \ -device vhost-user-vga,id=video0,max_outputs=1,chardev=chr-vu-video0,bus=pci.0,\ diff --git a/tests/qemuxml2argvdata/vhost-user-vga.x86_64-latest.args b/tests/qemuxml2argvdata/vhost-user-vga.x86_64-latest.args index dd5f9800d9..0b67b34797 100644 --- a/tests/qemuxml2argvdata/vhost-user-vga.x86_64-latest.args +++ b/tests/qemuxml2argvdata/vhost-user-vga.x86_64-latest.args @@ -29,8 +29,11 @@ file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ -no-acpi \ -boot strict=on \ -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ --drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-ide0-0-0 \ --device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \ +-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1",\ +"node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw",\ +"file":"libvirt-1-storage"}' \ +-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1 \ -chardev socket,id=chr-vu-video0,fd=1729 \ -device vhost-user-vga,id=video0,max_outputs=1,chardev=chr-vu-video0,bus=pci.0,\ addr=0x2 \ diff --git a/tests/qemuxml2argvdata/video-bochs-display-device.x86_64-latest.args b/tests/qemuxml2argvdata/video-bochs-display-device.x86_64-latest.args index d1a25d5c62..2112c10576 100644 --- a/tests/qemuxml2argvdata/video-bochs-display-device.x86_64-latest.args +++ b/tests/qemuxml2argvdata/video-bochs-display-device.x86_64-latest.args @@ -27,9 +27,13 @@ file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ -no-acpi \ -boot strict=on \ -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ --drive file=/var/lib/libvirt/images/QEMUGuest1,format=qcow2,if=none,\ -id=drive-ide0-0-0,cache=none \ --device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1,\ +-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/QEMUGuest1",\ +"node-name":"libvirt-1-storage","cache":{"direct":true,"no-flush":false},\ +"auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-1-format","read-only":false,\ +"cache":{"direct":true,"no-flush":false},"driver":"qcow2",\ +"file":"libvirt-1-storage"}' \ +-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1,\ write-cache=on \ -device bochs-display,id=video0,vgamem=16384k,bus=pci.0,addr=0x2 \ -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 \ diff --git a/tests/qemuxml2argvdata/video-ramfb-display-device.x86_64-latest.args b/tests/qemuxml2argvdata/video-ramfb-display-device.x86_64-latest.args index b26db5d546..98983a1e26 100644 --- a/tests/qemuxml2argvdata/video-ramfb-display-device.x86_64-latest.args +++ b/tests/qemuxml2argvdata/video-ramfb-display-device.x86_64-latest.args @@ -27,9 +27,13 @@ file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \ -no-acpi \ -boot strict=on \ -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \ --drive file=/var/lib/libvirt/images/QEMUGuest1,format=qcow2,if=none,\ -id=drive-ide0-0-0,cache=none \ --device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1,\ +-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/QEMUGuest1",\ +"node-name":"libvirt-1-storage","cache":{"direct":true,"no-flush":false},\ +"auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-1-format","read-only":false,\ +"cache":{"direct":true,"no-flush":false},"driver":"qcow2",\ +"file":"libvirt-1-storage"}' \ +-device ide-hd,bus=ide.0,unit=0,drive=libvirt-1-format,id=ide0-0-0,bootindex=1,\ write-cache=on \ -device ramfb,id=video0 \ -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \ diff --git a/tests/qemuxml2argvdata/virtio-non-transitional.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-non-transitional.x86_64-latest.args index 3688709092..7fa2c6ed5f 100644 --- a/tests/qemuxml2argvdata/virtio-non-transitional.x86_64-latest.args +++ b/tests/qemuxml2argvdata/virtio-non-transitional.x86_64-latest.args @@ -42,9 +42,12 @@ multifunction=on,addr=0x2 \ -device virtio-scsi-pci-non-transitional,id=scsi0,bus=pci.4,addr=0x0 \ -device virtio-serial-pci-non-transitional,id=virtio-serial0,bus=pci.3,\ addr=0x0 \ --drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-virtio-disk0 \ +-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1",\ +"node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw",\ +"file":"libvirt-1-storage"}' \ -device virtio-blk-pci-non-transitional,scsi=off,bus=pci.5,addr=0x0,\ -drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 \ +drive=libvirt-1-format,id=virtio-disk0,bootindex=1 \ -fsdev local,security_model=passthrough,id=fsdev-fs0,path=/export/fs1 \ -device virtio-9p-pci-non-transitional,id=fs0,fsdev=fsdev-fs0,mount_tag=fs1,\ bus=pci.1,addr=0x0 \ diff --git a/tests/qemuxml2argvdata/virtio-transitional.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-transitional.x86_64-latest.args index 9d4ec5f922..dea7e0d3f3 100644 --- a/tests/qemuxml2argvdata/virtio-transitional.x86_64-latest.args +++ b/tests/qemuxml2argvdata/virtio-transitional.x86_64-latest.args @@ -32,9 +32,12 @@ addr=0x1 \ -device pcie-root-port,port=0x9,chassis=3,id=pci.3,bus=pcie.0,addr=0x1.0x1 \ -device virtio-scsi-pci-transitional,id=scsi0,bus=pci.2,addr=0x4 \ -device virtio-serial-pci-transitional,id=virtio-serial0,bus=pci.2,addr=0x3 \ --drive file=/dev/HostVG/QEMUGuest1,format=raw,if=none,id=drive-virtio-disk0 \ +-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1",\ +"node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw",\ +"file":"libvirt-1-storage"}' \ -device virtio-blk-pci-transitional,scsi=off,bus=pci.2,addr=0x5,\ -drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 \ +drive=libvirt-1-format,id=virtio-disk0,bootindex=1 \ -fsdev local,security_model=passthrough,id=fsdev-fs0,path=/export/fs1 \ -device virtio-9p-pci-transitional,id=fs0,fsdev=fsdev-fs0,mount_tag=fs1,\ bus=pci.2,addr=0x1 \ diff --git a/tests/qemuxml2argvdata/x86_64-pc-graphics.x86_64-latest.args b/tests/qemuxml2argvdata/x86_64-pc-graphics.x86_64-latest.args index 4875a8799e..7c9c5a0bc6 100644 --- a/tests/qemuxml2argvdata/x86_64-pc-graphics.x86_64-latest.args +++ b/tests/qemuxml2argvdata/x86_64-pc-graphics.x86_64-latest.args @@ -30,9 +30,11 @@ file=/tmp/lib/domain--1-guest/master-key.aes \ -boot strict=on \ -device qemu-xhci,p2=15,p3=15,id=usb,bus=pci.0,addr=0x4 \ -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x5 \ --drive file=/var/lib/libvirt/images/guest.qcow2,format=qcow2,if=none,\ -id=drive-virtio-disk0 \ --device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x6,drive=drive-virtio-disk0,\ +-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/guest.qcow2",\ +"node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"qcow2",\ +"file":"libvirt-1-storage"}' \ +-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x6,drive=libvirt-1-format,\ id=virtio-disk0,bootindex=1 \ -netdev user,id=hostnet0 \ -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:4c:e3:86,bus=pci.0,\ diff --git a/tests/qemuxml2argvdata/x86_64-pc-headless.x86_64-latest.args b/tests/qemuxml2argvdata/x86_64-pc-headless.x86_64-latest.args index cc33248272..7f825462aa 100644 --- a/tests/qemuxml2argvdata/x86_64-pc-headless.x86_64-latest.args +++ b/tests/qemuxml2argvdata/x86_64-pc-headless.x86_64-latest.args @@ -31,9 +31,11 @@ file=/tmp/lib/domain--1-guest/master-key.aes \ -boot strict=on \ -device qemu-xhci,p2=15,p3=15,id=usb,bus=pci.0,addr=0x3 \ -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x4 \ --drive file=/var/lib/libvirt/images/guest.qcow2,format=qcow2,if=none,\ -id=drive-virtio-disk0 \ --device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x5,drive=drive-virtio-disk0,\ +-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/guest.qcow2",\ +"node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"qcow2",\ +"file":"libvirt-1-storage"}' \ +-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x5,drive=libvirt-1-format,\ id=virtio-disk0,bootindex=1 \ -netdev user,id=hostnet0 \ -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:09:a4:37,bus=pci.0,\ diff --git a/tests/qemuxml2argvdata/x86_64-q35-graphics.x86_64-latest.args b/tests/qemuxml2argvdata/x86_64-q35-graphics.x86_64-latest.args index 8e1f1cc865..52fa25898d 100644 --- a/tests/qemuxml2argvdata/x86_64-q35-graphics.x86_64-latest.args +++ b/tests/qemuxml2argvdata/x86_64-q35-graphics.x86_64-latest.args @@ -38,9 +38,11 @@ multifunction=on,addr=0x2 \ -device pcie-root-port,port=0x16,chassis=7,id=pci.7,bus=pcie.0,addr=0x2.0x6 \ -device qemu-xhci,p2=15,p3=15,id=usb,bus=pci.2,addr=0x0 \ -device virtio-serial-pci,id=virtio-serial0,bus=pci.3,addr=0x0 \ --drive file=/var/lib/libvirt/images/guest.qcow2,format=qcow2,if=none,\ -id=drive-virtio-disk0 \ --device virtio-blk-pci,scsi=off,bus=pci.4,addr=0x0,drive=drive-virtio-disk0,\ +-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/guest.qcow2",\ +"node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"qcow2",\ +"file":"libvirt-1-storage"}' \ +-device virtio-blk-pci,scsi=off,bus=pci.4,addr=0x0,drive=libvirt-1-format,\ id=virtio-disk0,bootindex=1 \ -netdev user,id=hostnet0 \ -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:d2:70:0b,bus=pci.1,\ diff --git a/tests/qemuxml2argvdata/x86_64-q35-headless.x86_64-latest.args b/tests/qemuxml2argvdata/x86_64-q35-headless.x86_64-latest.args index b3fb8d8340..0cda5c3227 100644 --- a/tests/qemuxml2argvdata/x86_64-q35-headless.x86_64-latest.args +++ b/tests/qemuxml2argvdata/x86_64-q35-headless.x86_64-latest.args @@ -39,9 +39,11 @@ addr=0x1 \ -device pcie-root-port,port=0xe,chassis=7,id=pci.7,bus=pcie.0,addr=0x1.0x6 \ -device qemu-xhci,p2=15,p3=15,id=usb,bus=pci.2,addr=0x0 \ -device virtio-serial-pci,id=virtio-serial0,bus=pci.3,addr=0x0 \ --drive file=/var/lib/libvirt/images/guest.qcow2,format=qcow2,if=none,\ -id=drive-virtio-disk0 \ --device virtio-blk-pci,scsi=off,bus=pci.4,addr=0x0,drive=drive-virtio-disk0,\ +-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/guest.qcow2",\ +"node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"qcow2",\ +"file":"libvirt-1-storage"}' \ +-device virtio-blk-pci,scsi=off,bus=pci.4,addr=0x0,drive=libvirt-1-format,\ id=virtio-disk0,bootindex=1 \ -netdev user,id=hostnet0 \ -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:09:a4:37,bus=pci.1,\ -- 2.23.0

On Mon, Nov 18, 2019 at 06:02:08PM +0100, Peter Krempa wrote:
Now that all pieces are in place (hopefully) let's enable -blockdev.
We base the capability on presence of the fix for 'auto-read-only' on files so that blockdev works properly, mandate that qemu supports explicit SCSI id strings to avoid ABI regression and that the fix for 'savevm' is present so that internal snapshots work.
IIUC, once we enable this, we are fully committed to blockdev hereafter....
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 6f23400f95..b5fa0fba7e 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -4476,13 +4476,15 @@ virQEMUCapsInitProcessCaps(virQEMUCapsPtr qemuCaps) virQEMUCapsClear(qemuCaps, QEMU_CAPS_DEVICE_VFIO_CCW); }
- /* To avoid guest ABI regression, blockdev shall be enabled only when - * we are able to pass the custom 'device_id' for SCSI disks and cdroms. */ - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_SCSI_DISK_DEVICE_ID)) - virQEMUCapsClear(qemuCaps, QEMU_CAPS_BLOCKDEV); - if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_CPU_UNAVAILABLE_FEATURES)) virQEMUCapsSet(qemuCaps, QEMU_CAPS_CANONICAL_CPU_FEATURES); + + /* To avoid guest ABI regression, blockdev shall be enabled only when + * we are able to pass the custom 'device_id' for SCSI disks and cdroms. */ + if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_BLOCK_FILE_AUTO_READONLY_DYNAMIC) && + virQEMUCapsGet(qemuCaps, QEMU_CAPS_SCSI_DISK_DEVICE_ID) && + virQEMUCapsGet(qemuCaps, QEMU_CAPS_SAVEVM_MONITOR_NODES))
.... we must *not* add more capabilities in future to this list of three that we're checking, as that would cause us to regress in use of blockdev
+ virQEMUCapsSet(qemuCaps, QEMU_CAPS_BLOCKDEV);
I don't think that's a problem really - we'll just treat anything else we find as a normal bug & make an effort to fix it as possible. We dont want to continually turn off blockdev over & over every time we find a new bug.
diff --git a/tests/qemuxml2argvdata/aarch64-os-firmware-efi.aarch64-latest.args b/tests/qemuxml2argvdata/aarch64-os-firmware-efi.aarch64-latest.args index 3914b6bf6e..ed6e513f3c 100644 --- a/tests/qemuxml2argvdata/aarch64-os-firmware-efi.aarch64-latest.args +++ b/tests/qemuxml2argvdata/aarch64-os-firmware-efi.aarch64-latest.args @@ -12,12 +12,20 @@ QEMU_AUDIO_DRV=none \ -S \ -object secret,id=masterKey0,format=raw,\ file=/tmp/lib/domain--1-aarch64test/master-key.aes \ --machine virt-4.0,accel=tcg,usb=off,dump-guest-core=off,gic-version=2 \ +-blockdev '{"driver":"file","filename":"/usr/share/AAVMF/AAVMF_CODE.fd",\ +"node-name":"libvirt-pflash0-storage","auto-read-only":true,\ +"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-pflash0-format","read-only":true,\ +"driver":"raw","file":"libvirt-pflash0-storage"}' \ +-blockdev '{"driver":"file",\ +"filename":"/var/lib/libvirt/qemu/nvram/aarch64test_VARS.fd",\ +"node-name":"libvirt-pflash1-storage","auto-read-only":true,\ +"discard":"unmap"}' \ +-blockdev '{"node-name":"libvirt-pflash1-format","read-only":false,\ +"driver":"raw","file":"libvirt-pflash1-storage"}' \ +-machine virt-4.0,accel=tcg,usb=off,dump-guest-core=off,gic-version=2,\ +pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format \
Ah ha, this is where testing for the pflash syntax arrives that I commented was missing in the previous patch series. Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|

On Thu, Nov 21, 2019 at 18:32:11 +0000, Daniel Berrange wrote:
On Mon, Nov 18, 2019 at 06:02:08PM +0100, Peter Krempa wrote:
Now that all pieces are in place (hopefully) let's enable -blockdev.
We base the capability on presence of the fix for 'auto-read-only' on files so that blockdev works properly, mandate that qemu supports explicit SCSI id strings to avoid ABI regression and that the fix for 'savevm' is present so that internal snapshots work.
IIUC, once we enable this, we are fully committed to blockdev hereafter....
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 6f23400f95..b5fa0fba7e 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -4476,13 +4476,15 @@ virQEMUCapsInitProcessCaps(virQEMUCapsPtr qemuCaps) virQEMUCapsClear(qemuCaps, QEMU_CAPS_DEVICE_VFIO_CCW); }
- /* To avoid guest ABI regression, blockdev shall be enabled only when - * we are able to pass the custom 'device_id' for SCSI disks and cdroms. */ - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_SCSI_DISK_DEVICE_ID)) - virQEMUCapsClear(qemuCaps, QEMU_CAPS_BLOCKDEV); - if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_CPU_UNAVAILABLE_FEATURES)) virQEMUCapsSet(qemuCaps, QEMU_CAPS_CANONICAL_CPU_FEATURES); + + /* To avoid guest ABI regression, blockdev shall be enabled only when + * we are able to pass the custom 'device_id' for SCSI disks and cdroms. */ + if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_BLOCK_FILE_AUTO_READONLY_DYNAMIC) && + virQEMUCapsGet(qemuCaps, QEMU_CAPS_SCSI_DISK_DEVICE_ID) && + virQEMUCapsGet(qemuCaps, QEMU_CAPS_SAVEVM_MONITOR_NODES))
.... we must *not* add more capabilities in future to this list of three that we're checking, as that would cause us to regress in use of blockdev
I think we have plenty qemucapabilitiestests and 'latest' xml2argv tests which would catch us turning it off. I can possibly add as follow up a bunch of the test files based on 4.2 capabilities so that we have historical reference if the requirements would change. Luckily blockdev would not cause an ABI regression and theoretically we could enable it e.g. during migration as well. But I chose to go the trditional way.
+ virQEMUCapsSet(qemuCaps, QEMU_CAPS_BLOCKDEV);
I don't think that's a problem really - we'll just treat anything else we find as a normal bug & make an effort to fix it as possible. We dont want to continually turn off blockdev over & over every time we find a new bug.
Definitely. This is a known set of qemu bugs which need to be fixed so that libvirt can use it. As of libvirt's implementation, all features which we supported with pre-blockdev should [*] work on blockdev as well. There is only one caveat and that is if a VM has a SD card as disk, blockdev is disabled for such a VM (sd-cards can't be hotplugged). This is because some non-x86 boards in qemu have sd-card which can't be instantiated via -device. Also qemu's documentation is terrible in this regard so I didn't pursue fixing this yet. [*] I tried my best to test as much as possible and I also got some help from Red Hat's QE and a few colleagues using it prior to being enabled in doing so. I'm very thankful for this as I identified a handful of corner cases which weren't treated properly.

On Thu, Nov 21, 2019 at 06:32:11PM +0000, Daniel P. Berrangé wrote:
On Mon, Nov 18, 2019 at 06:02:08PM +0100, Peter Krempa wrote:
Now that all pieces are in place (hopefully) let's enable -blockdev.
We base the capability on presence of the fix for 'auto-read-only' on files so that blockdev works properly, mandate that qemu supports explicit SCSI id strings to avoid ABI regression and that the fix for 'savevm' is present so that internal snapshots work.
IIUC, once we enable this, we are fully committed to blockdev hereafter....
I forgot to say Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
participants (3)
-
Cole Robinson
-
Daniel P. Berrangé
-
Peter Krempa