Devel
Threads by month
- ----- 2026 -----
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
March 2025
- 46 participants
- 121 discussions
The recent bump of minimum qemu version resulted into some capabilities
always being present. I've noticed one while doing a review and from
there I removed a few others, mostly storage related ones as well.
Peter Krempa (17):
qemuBuildCompatDeprecatedCommandLine: Assume that
QEMU_CAPS_COMPAT_DEPRECATED is supported
qemu: capabilities: Retire QEMU_CAPS_COMPAT_DEPRECATED
qemuBuildObjectCommandlineFromJSON: Assume all qemus support
QEMU_CAPS_OBJECT_JSON
qemu: monitor: Drop support for extra wrapper for 'object_add'
util: Drop 'virQEMUBuildCommandLineJSONArrayBitmap'
qemu: capabilities: Retire QEMU_CAPS_OBJECT_JSON
qemu: monitor: Always assume support for
QEMU_CAPS_QMP_QUERY_NAMED_BLOCK_NODES_FLAT
qemu: capabilities: Retire QEMU_CAPS_QMP_QUERY_NAMED_BLOCK_NODES_FLAT
qemu: Always assume supprot for QEMU_CAPS_BLOCKDEV_REOPEN
qemu: capabilities: Retire QEMU_CAPS_BLOCKDEV_REOPEN
qemu: Always assume support for
QEMU_CAPS_BLOCKDEV_SNAPSHOT_ALLOW_WRITE_ONLY
qemu: capabilities: Retire
QEMU_CAPS_BLOCKDEV_SNAPSHOT_ALLOW_WRITE_ONLY
qemu: Always assume support for QEMU_CAPS_INCREMENTAL_BACKUP
qemu: capabilites: Retire QEMU_CAPS_INCREMENTAL_BACKUP
qemu: domain: Remove qemuDomainSupportsCheckpointsBlockjobs
qemu: migration: Always assume support for
QEMU_CAPS_MIGRATION_PARAM_BLOCK_BITMAP_MAPPING
qemu: capabilites: Retire
QEMU_CAPS_MIGRATION_PARAM_BLOCK_BITMAP_MAPPING
src/libvirt_private.syms | 1 -
src/qemu/qemu_backup.c | 18 ---------
src/qemu/qemu_block.c | 4 --
src/qemu/qemu_blockjob.c | 20 ++--------
src/qemu/qemu_capabilities.c | 33 +++++------------
src/qemu/qemu_capabilities.h | 14 +++----
src/qemu/qemu_checkpoint.c | 18 +--------
src/qemu/qemu_command.c | 31 +++-------------
src/qemu/qemu_domain.c | 23 ------------
src/qemu/qemu_domain.h | 4 --
src/qemu/qemu_driver.c | 37 +++++--------------
src/qemu/qemu_migration.c | 10 +----
src/qemu/qemu_monitor.c | 28 +-------------
src/qemu/qemu_monitor_json.c | 2 +-
src/qemu/qemu_monitor_priv.h | 4 --
src/qemu/qemu_snapshot.c | 4 --
src/util/virqemu.c | 36 ------------------
src/util/virqemu.h | 3 --
.../caps_10.0.0_s390x.xml | 7 ----
.../caps_10.0.0_x86_64+amdsev.xml | 7 ----
.../caps_10.0.0_x86_64.xml | 7 ----
.../qemucapabilitiesdata/caps_6.2.0_ppc64.xml | 7 ----
.../caps_6.2.0_x86_64.xml | 7 ----
.../qemucapabilitiesdata/caps_7.0.0_ppc64.xml | 7 ----
.../caps_7.0.0_x86_64.xml | 7 ----
.../qemucapabilitiesdata/caps_7.1.0_ppc64.xml | 7 ----
.../caps_7.1.0_x86_64.xml | 7 ----
tests/qemucapabilitiesdata/caps_7.2.0_ppc.xml | 7 ----
.../caps_7.2.0_x86_64+hvf.xml | 7 ----
.../caps_7.2.0_x86_64.xml | 7 ----
.../caps_8.0.0_x86_64.xml | 7 ----
.../qemucapabilitiesdata/caps_8.1.0_s390x.xml | 7 ----
.../caps_8.1.0_x86_64.xml | 7 ----
.../caps_8.2.0_aarch64.xml | 7 ----
.../caps_8.2.0_armv7l.xml | 7 ----
.../caps_8.2.0_loongarch64.xml | 7 ----
.../qemucapabilitiesdata/caps_8.2.0_s390x.xml | 7 ----
.../caps_8.2.0_x86_64.xml | 7 ----
.../qemucapabilitiesdata/caps_9.0.0_sparc.xml | 7 ----
.../caps_9.0.0_x86_64.xml | 7 ----
.../caps_9.1.0_riscv64.xml | 7 ----
.../qemucapabilitiesdata/caps_9.1.0_s390x.xml | 7 ----
.../caps_9.1.0_x86_64.xml | 7 ----
.../caps_9.2.0_aarch64+hvf.xml | 7 ----
.../qemucapabilitiesdata/caps_9.2.0_s390x.xml | 7 ----
.../caps_9.2.0_x86_64+amdsev.xml | 7 ----
.../caps_9.2.0_x86_64.xml | 7 ----
tests/qemucommandutiltest.c | 30 ---------------
48 files changed, 40 insertions(+), 483 deletions(-)
--
2.48.1
3
21
Hi,
The enhancement in this new version based on last feedback are:
* add more documentation on limitation of the feature
* no more double check of the vmsr socket, once is enough
* virQEMUBuildBufferEscapeComma() is used for user input Path
Because there is no garantie at the moment that the helper will be one
day managed by libvirt, I decided not adding any preparation about this
to avoid any confusion but add more documentation.
If the helper is managed in libvirt, the patch introducing it will also
add the necessary API like mention on the previous review (i.e
mode='unmanaged').
Thanks
Anthony
Anthony Harivel (1):
qemu: Add support for RAPL MSRs feature
docs/formatdomain.rst | 15 +++++++++++++++
src/conf/domain_conf.c | 18 ++++++++++++++++++
src/conf/domain_conf.h | 2 ++
src/conf/schemas/domaincommon.rng | 10 ++++++++++
src/qemu/qemu_command.c | 9 +++++++++
tests/qemuxmlconfdata/kvm-features-off.xml | 1 +
.../kvm-features.x86_64-latest.args | 2 +-
tests/qemuxmlconfdata/kvm-features.xml | 1 +
8 files changed, 57 insertions(+), 1 deletion(-)
--
2.48.1
2
2
[PATCH] domainbackupxml2xml: Add test case with unix socket server for pull mode backup
by Peter Krempa 12 Mar '25
by Peter Krempa 12 Mar '25
12 Mar '25
While we show the example in the docs we don't have an example XML for
exrecrcising the parser/formatter and schema.
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
.../backup-pull-unix.xml | 22 ++++++++++++++++++
.../backup-pull-unix.xml | 23 +++++++++++++++++++
tests/genericxml2xmltest.c | 1 +
3 files changed, 46 insertions(+)
create mode 100644 tests/domainbackupxml2xmlin/backup-pull-unix.xml
create mode 100644 tests/domainbackupxml2xmlout/backup-pull-unix.xml
diff --git a/tests/domainbackupxml2xmlin/backup-pull-unix.xml b/tests/domainbackupxml2xmlin/backup-pull-unix.xml
new file mode 100644
index 0000000000..cde9ceafc9
--- /dev/null
+++ b/tests/domainbackupxml2xmlin/backup-pull-unix.xml
@@ -0,0 +1,22 @@
+<domainbackup mode='pull'>
+ <incremental>1525889631</incremental>
+ <server transport='unix' socket='/path/to/server'/>
+ <disks>
+ <disk name='vda' type='file'>
+ <scratch file='/path/to/file'/>
+ </disk>
+ <disk name='hda' backup='no'/>
+ <disk name='vdc' type='file' backupmode='full'>
+ <scratch file='/path/to/file'/>
+ </disk>
+ <disk name='vdd' type='file' backupmode='incremental'>
+ <scratch file='/path/to/file'/>
+ </disk>
+ <disk name='vde' type='file' backupmode='incremental' incremental='blah'>
+ <scratch file='/path/to/file'/>
+ </disk>
+ <disk name='vdf' type='file' incremental='bleh'>
+ <scratch file='/path/to/file'/>
+ </disk>
+ </disks>
+</domainbackup>
diff --git a/tests/domainbackupxml2xmlout/backup-pull-unix.xml b/tests/domainbackupxml2xmlout/backup-pull-unix.xml
new file mode 100644
index 0000000000..811edfdf39
--- /dev/null
+++ b/tests/domainbackupxml2xmlout/backup-pull-unix.xml
@@ -0,0 +1,23 @@
+<domainbackup mode='pull'>
+ <incremental>1525889631</incremental>
+ <server transport='unix' socket='/path/to/server'/>
+ <disks>
+ <disk name='vda' backup='yes' type='file' backupmode='incremental' incremental='1525889631'>
+ <scratch file='/path/to/file'/>
+ </disk>
+ <disk name='hda' backup='no'/>
+ <disk name='vdc' backup='yes' type='file' backupmode='full'>
+ <scratch file='/path/to/file'/>
+ </disk>
+ <disk name='vdd' backup='yes' type='file' backupmode='incremental' incremental='1525889631'>
+ <scratch file='/path/to/file'/>
+ </disk>
+ <disk name='vde' backup='yes' type='file' backupmode='incremental' incremental='blah'>
+ <scratch file='/path/to/file'/>
+ </disk>
+ <disk name='vdf' backup='yes' type='file' backupmode='incremental' incremental='bleh'>
+ <scratch file='/path/to/file'/>
+ </disk>
+ <disk name='vdextradisk' backup='no'/>
+ </disks>
+</domainbackup>
diff --git a/tests/genericxml2xmltest.c b/tests/genericxml2xmltest.c
index 61613d21f9..b46b9515c3 100644
--- a/tests/genericxml2xmltest.c
+++ b/tests/genericxml2xmltest.c
@@ -244,6 +244,7 @@ mymain(void)
DO_TEST_BACKUP("empty");
DO_TEST_BACKUP("backup-pull");
+ DO_TEST_BACKUP("backup-pull-unix");
DO_TEST_BACKUP("backup-pull-seclabel");
DO_TEST_BACKUP("backup-pull-encrypted");
DO_TEST_BACKUP("backup-push");
--
2.48.1
2
1
Supersedes: <20250308-require-v1-1-fe6850bf3f30(a)daynix.com>
("[PATCH] util: Require libnl for Linux")
Based on previous discussions, this implements yet another approach to
fix builds without libnl for Linux.
Signed-off-by: Akihiko Odaki <akihiko.odaki(a)daynix.com>
---
Akihiko Odaki (2):
Remove libnl checks specific to Linux
virnetlink: Remove stub functions
src/libvirt_libnl.syms | 23 ++++++
src/libvirt_private.syms | 19 -----
src/meson.build | 6 ++
src/remote/remote_daemon.c | 10 ++-
src/util/meson.build | 5 +-
src/util/virarptable.c | 2 +-
src/util/virnetdev.c | 44 +---------
src/util/virnetdevbridge.c | 33 ++------
src/util/virnetlink.c | 196 +++------------------------------------------
src/util/virnetlink.h | 11 +--
tests/virnetdevtest.c | 10 +--
11 files changed, 65 insertions(+), 294 deletions(-)
---
base-commit: e5299ddf86121d3c792ca271ffcb54900eb19dc3
change-id: 20250312-linux-30e6e1af51a5
Best regards,
--
Akihiko Odaki <akihiko.odaki(a)daynix.com>
1
2
12 Mar '25
From: hongleiwang <honglei.wang(a)smartx.com>
QEMU has supported nvme disk emulation for a long time,
see: https://qemu-project.gitlab.io/qemu/system/devices/nvme.html.
The following patches introduce nvme and nvme-ns disk bus type:
A disk with nvme as bus is represented as nvme disk that contains
only one nvme namespace. In XML, it can be used like this:
<devices>
...
<disk type='file' device='disk'>
<driver name='qemu' type='raw'/>
<source file='/tmp/data.img'/>
<target dev='nvmea' bus='nvme'/>
<serial>nvme-serial-value</serial>
</disk>
...
</devices>
A disk with nvme-ns as bus is represented as an nvme namespace
and needs to be attached to an nvme controller. In XML, it can be
used like this:
<devices>
...
<disk type='file' device='disk'>
<driver name='qemu' type='raw'/>
<source file='/tmp/data.img'/>
<target dev='nvmensa' bus='nvme-ns'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
<controller type='nvme' index='0'>
<serial>nvme-controller-serial-value</serial>
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
</controller>
...
</devices>
ray (5):
qemu: Add support for NVMe disk bus type
qemu: Add support for NVMe namespace disk bus type
qemu_capabilities: Add support for NVMe disk capabilities
docs: Add NVMe and NVMe namespace disk bus types to documentation
tests: Add test case for NVMe device configuration
docs/formatdomain.rst | 5 ++-
src/conf/domain_conf.c | 42 +++++++++++++++++++
src/conf/domain_conf.h | 8 ++++
src/conf/domain_postparse.c | 4 ++
src/conf/domain_validate.c | 5 ++-
src/conf/schemas/domaincommon.rng | 12 +++++-
src/conf/virconftypes.h | 2 +
src/hyperv/hyperv_driver.c | 4 ++
src/qemu/qemu_alias.c | 2 +
src/qemu/qemu_capabilities.c | 10 +++++
src/qemu/qemu_capabilities.h | 2 +
src/qemu/qemu_command.c | 31 ++++++++++++++
src/qemu/qemu_domain_address.c | 30 +++++++++++--
src/qemu/qemu_domain_address.h | 4 ++
src/qemu/qemu_hotplug.c | 14 +++++++
src/qemu/qemu_postparse.c | 1 +
src/qemu/qemu_validate.c | 40 ++++++++++++++++++
src/test/test_driver.c | 4 ++
src/util/virutil.c | 2 +-
src/vbox/vbox_common.c | 3 ++
src/vmx/vmx.c | 2 +
tests/domaincapsdata/qemu_10.0.0-q35.x86_64.xml | 2 +
tests/domaincapsdata/qemu_10.0.0-tcg.x86_64.xml | 2 +
tests/domaincapsdata/qemu_10.0.0.s390x.xml | 2 +
tests/domaincapsdata/qemu_10.0.0.x86_64.xml | 2 +
tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml | 2 +
.../domaincapsdata/qemu_5.2.0-tcg-virt.riscv64.xml | 2 +
tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml | 2 +
tests/domaincapsdata/qemu_5.2.0-virt.aarch64.xml | 2 +
tests/domaincapsdata/qemu_5.2.0-virt.riscv64.xml | 2 +
tests/domaincapsdata/qemu_5.2.0.aarch64.xml | 2 +
tests/domaincapsdata/qemu_5.2.0.ppc64.xml | 2 +
tests/domaincapsdata/qemu_5.2.0.x86_64.xml | 2 +
tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml | 2 +
tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml | 2 +
tests/domaincapsdata/qemu_6.0.0-virt.aarch64.xml | 2 +
tests/domaincapsdata/qemu_6.0.0.aarch64.xml | 2 +
tests/domaincapsdata/qemu_6.0.0.x86_64.xml | 2 +
tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml | 2 +
tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml | 2 +
tests/domaincapsdata/qemu_6.1.0.x86_64.xml | 2 +
tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml | 2 +
tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml | 2 +
tests/domaincapsdata/qemu_6.2.0-virt.aarch64.xml | 2 +
tests/domaincapsdata/qemu_6.2.0.aarch64.xml | 2 +
tests/domaincapsdata/qemu_6.2.0.ppc64.xml | 2 +
tests/domaincapsdata/qemu_6.2.0.x86_64.xml | 2 +
.../domaincapsdata/qemu_7.0.0-hvf.aarch64+hvf.xml | 2 +
tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml | 2 +
tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml | 2 +
tests/domaincapsdata/qemu_7.0.0-virt.aarch64.xml | 2 +
tests/domaincapsdata/qemu_7.0.0.aarch64.xml | 2 +
tests/domaincapsdata/qemu_7.0.0.ppc64.xml | 2 +
tests/domaincapsdata/qemu_7.0.0.x86_64.xml | 2 +
tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml | 2 +
tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml | 2 +
tests/domaincapsdata/qemu_7.1.0.ppc64.xml | 2 +
tests/domaincapsdata/qemu_7.1.0.x86_64.xml | 2 +
tests/domaincapsdata/qemu_7.2.0-hvf.x86_64+hvf.xml | 2 +
tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml | 2 +
tests/domaincapsdata/qemu_7.2.0-tcg.x86_64+hvf.xml | 2 +
tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml | 2 +
tests/domaincapsdata/qemu_7.2.0.ppc.xml | 2 +
tests/domaincapsdata/qemu_7.2.0.x86_64.xml | 2 +
tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml | 2 +
.../domaincapsdata/qemu_8.0.0-tcg-virt.riscv64.xml | 2 +
tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml | 2 +
tests/domaincapsdata/qemu_8.0.0-virt.riscv64.xml | 2 +
tests/domaincapsdata/qemu_8.0.0.x86_64.xml | 2 +
tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml | 2 +
tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml | 2 +
tests/domaincapsdata/qemu_8.1.0.x86_64.xml | 2 +
tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml | 2 +
.../qemu_8.2.0-tcg-virt.loongarch64.xml | 2 +
tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml | 2 +
tests/domaincapsdata/qemu_8.2.0-virt.aarch64.xml | 2 +
.../domaincapsdata/qemu_8.2.0-virt.loongarch64.xml | 2 +
tests/domaincapsdata/qemu_8.2.0.aarch64.xml | 2 +
tests/domaincapsdata/qemu_8.2.0.armv7l.xml | 2 +
tests/domaincapsdata/qemu_8.2.0.s390x.xml | 2 +
tests/domaincapsdata/qemu_8.2.0.x86_64.xml | 2 +
tests/domaincapsdata/qemu_9.0.0-q35.x86_64.xml | 2 +
tests/domaincapsdata/qemu_9.0.0-tcg.x86_64.xml | 2 +
tests/domaincapsdata/qemu_9.0.0.x86_64.xml | 2 +
tests/domaincapsdata/qemu_9.1.0-q35.x86_64.xml | 2 +
.../domaincapsdata/qemu_9.1.0-tcg-virt.riscv64.xml | 2 +
tests/domaincapsdata/qemu_9.1.0-tcg.x86_64.xml | 2 +
tests/domaincapsdata/qemu_9.1.0-virt.riscv64.xml | 2 +
tests/domaincapsdata/qemu_9.1.0.s390x.xml | 2 +
tests/domaincapsdata/qemu_9.1.0.x86_64.xml | 2 +
tests/domaincapsdata/qemu_9.2.0-q35.x86_64.xml | 2 +
tests/domaincapsdata/qemu_9.2.0-tcg.x86_64.xml | 2 +
tests/domaincapsdata/qemu_9.2.0.s390x.xml | 2 +
tests/domaincapsdata/qemu_9.2.0.x86_64.xml | 2 +
tests/qemucapabilitiesdata/caps_10.0.0_s390x.xml | 2 +
tests/qemucapabilitiesdata/caps_10.0.0_x86_64.xml | 2 +
tests/qemucapabilitiesdata/caps_5.2.0_aarch64.xml | 2 +
tests/qemucapabilitiesdata/caps_5.2.0_ppc64.xml | 2 +
tests/qemucapabilitiesdata/caps_5.2.0_riscv64.xml | 2 +
tests/qemucapabilitiesdata/caps_5.2.0_x86_64.xml | 2 +
tests/qemucapabilitiesdata/caps_6.0.0_aarch64.xml | 2 +
tests/qemucapabilitiesdata/caps_6.0.0_x86_64.xml | 2 +
tests/qemucapabilitiesdata/caps_6.1.0_x86_64.xml | 2 +
tests/qemucapabilitiesdata/caps_6.2.0_aarch64.xml | 2 +
tests/qemucapabilitiesdata/caps_6.2.0_ppc64.xml | 2 +
tests/qemucapabilitiesdata/caps_6.2.0_x86_64.xml | 2 +
.../caps_7.0.0_aarch64+hvf.xml | 2 +
tests/qemucapabilitiesdata/caps_7.0.0_aarch64.xml | 2 +
tests/qemucapabilitiesdata/caps_7.0.0_ppc64.xml | 2 +
tests/qemucapabilitiesdata/caps_7.0.0_x86_64.xml | 2 +
tests/qemucapabilitiesdata/caps_7.1.0_ppc64.xml | 2 +
tests/qemucapabilitiesdata/caps_7.1.0_x86_64.xml | 2 +
tests/qemucapabilitiesdata/caps_7.2.0_ppc.xml | 2 +
.../qemucapabilitiesdata/caps_7.2.0_x86_64+hvf.xml | 2 +
tests/qemucapabilitiesdata/caps_7.2.0_x86_64.xml | 2 +
tests/qemucapabilitiesdata/caps_8.0.0_riscv64.xml | 2 +
tests/qemucapabilitiesdata/caps_8.0.0_x86_64.xml | 2 +
tests/qemucapabilitiesdata/caps_8.1.0_x86_64.xml | 2 +
tests/qemucapabilitiesdata/caps_8.2.0_aarch64.xml | 2 +
tests/qemucapabilitiesdata/caps_8.2.0_armv7l.xml | 2 +
.../caps_8.2.0_loongarch64.xml | 2 +
tests/qemucapabilitiesdata/caps_8.2.0_s390x.xml | 2 +
tests/qemucapabilitiesdata/caps_8.2.0_x86_64.xml | 2 +
tests/qemucapabilitiesdata/caps_9.0.0_x86_64.xml | 2 +
tests/qemucapabilitiesdata/caps_9.1.0_riscv64.xml | 2 +
tests/qemucapabilitiesdata/caps_9.1.0_s390x.xml | 2 +
tests/qemucapabilitiesdata/caps_9.1.0_x86_64.xml | 2 +
tests/qemucapabilitiesdata/caps_9.2.0_s390x.xml | 2 +
tests/qemucapabilitiesdata/caps_9.2.0_x86_64.xml | 2 +
.../disk-nvme-device.x86_64-latest.args | 38 +++++++++++++++++
.../disk-nvme-device.x86_64-latest.xml | 49 ++++++++++++++++++++++
tests/qemuxmlconfdata/disk-nvme-device.xml | 46 ++++++++++++++++++++
tests/qemuxmlconftest.c | 1 +
133 files changed, 569 insertions(+), 8 deletions(-)
create mode 100644 tests/qemuxmlconfdata/disk-nvme-device.x86_64-latest.args
create mode 100644 tests/qemuxmlconfdata/disk-nvme-device.x86_64-latest.xml
create mode 100644 tests/qemuxmlconfdata/disk-nvme-device.xml
--
2.11.0
3
9
[PATCH v1] tests: update capabilities for QEMU 9.2.0 on s390x
by Shalini Chellathurai Saroja 12 Mar '25
by Shalini Chellathurai Saroja 12 Mar '25
12 Mar '25
Update the replies and xml files for QEMU 9.2.0 on s390x based on
the released QEMU tag v9.2.0 with commit Id
ae35f033b874c627d81d51070187fbf55f0bf1a7.
Signed-off-by: Shalini Chellathurai Saroja <shalini(a)linux.ibm.com>
Reviewed-by: Boris Fiuczynski <fiuczy(a)linux.ibm.com>
---
.../caps_9.2.0_s390x.replies | 3496 +++++++++--------
.../qemucapabilitiesdata/caps_9.2.0_s390x.xml | 8 +-
2 files changed, 1824 insertions(+), 1680 deletions(-)
diff --git a/tests/qemucapabilitiesdata/caps_9.2.0_s390x.replies b/tests/qemucapabilitiesdata/caps_9.2.0_s390x.replies
index 9a58acaf08..d328e83a61 100644
--- a/tests/qemucapabilitiesdata/caps_9.2.0_s390x.replies
+++ b/tests/qemucapabilitiesdata/caps_9.2.0_s390x.replies
@@ -16,11 +16,11 @@
{
"return": {
"qemu": {
- "micro": 50,
- "minor": 1,
+ "micro": 0,
+ "minor": 2,
"major": 9
},
- "package": "v9.1.0-1348-g11b8920ed2"
+ "package": "v9.2.0"
},
"id": "libvirt-2"
}
@@ -1193,39 +1193,48 @@
"meta-type": "event",
"arg-type": "193"
},
+ {
+ "name": "device-sync-config",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "194",
+ "features": [
+ "unstable"
+ ]
+ },
{
"name": "query-cpus-fast",
- "ret-type": "[194]",
+ "ret-type": "[195]",
"meta-type": "command",
"arg-type": "0"
},
{
"name": "query-machines",
- "ret-type": "[196]",
+ "ret-type": "[197]",
"meta-type": "command",
- "arg-type": "195"
+ "arg-type": "196"
},
{
"name": "query-current-machine",
- "ret-type": "197",
+ "ret-type": "198",
"meta-type": "command",
"arg-type": "0"
},
{
"name": "query-target",
- "ret-type": "198",
+ "ret-type": "199",
"meta-type": "command",
"arg-type": "0"
},
{
"name": "query-uuid",
- "ret-type": "199",
+ "ret-type": "200",
"meta-type": "command",
"arg-type": "0"
},
{
"name": "query-vm-generation-id",
- "ret-type": "200",
+ "ret-type": "201",
"meta-type": "command",
"arg-type": "0"
},
@@ -1255,7 +1264,7 @@
},
{
"name": "query-kvm",
- "ret-type": "201",
+ "ret-type": "202",
"meta-type": "command",
"arg-type": "0"
},
@@ -1263,23 +1272,23 @@
"name": "memsave",
"ret-type": "0",
"meta-type": "command",
- "arg-type": "202"
+ "arg-type": "203"
},
{
"name": "pmemsave",
"ret-type": "0",
"meta-type": "command",
- "arg-type": "203"
+ "arg-type": "204"
},
{
"name": "query-memdev",
- "ret-type": "[204]",
+ "ret-type": "[205]",
"meta-type": "command",
"arg-type": "0"
},
{
"name": "query-hotpluggable-cpus",
- "ret-type": "[205]",
+ "ret-type": "[206]",
"meta-type": "command",
"arg-type": "0"
},
@@ -1287,56 +1296,56 @@
"name": "set-numa-node",
"ret-type": "0",
"meta-type": "command",
- "arg-type": "206"
+ "arg-type": "207"
},
{
"name": "balloon",
"ret-type": "0",
"meta-type": "command",
- "arg-type": "207"
+ "arg-type": "208"
},
{
"name": "query-balloon",
- "ret-type": "208",
+ "ret-type": "209",
"meta-type": "command",
"arg-type": "0"
},
{
"name": "BALLOON_CHANGE",
"meta-type": "event",
- "arg-type": "209"
+ "arg-type": "210"
},
{
"name": "query-hv-balloon-status-report",
- "ret-type": "210",
+ "ret-type": "211",
"meta-type": "command",
"arg-type": "0"
},
{
"name": "HV_BALLOON_STATUS_REPORT",
"meta-type": "event",
- "arg-type": "210"
+ "arg-type": "211"
},
{
"name": "query-memory-size-summary",
- "ret-type": "211",
+ "ret-type": "212",
"meta-type": "command",
"arg-type": "0"
},
{
"name": "query-memory-devices",
- "ret-type": "[212]",
+ "ret-type": "[213]",
"meta-type": "command",
"arg-type": "0"
},
{
"name": "MEMORY_DEVICE_SIZE_CHANGE",
"meta-type": "event",
- "arg-type": "213"
+ "arg-type": "214"
},
{
"name": "x-query-irq",
- "ret-type": "214",
+ "ret-type": "215",
"meta-type": "command",
"arg-type": "0",
"features": [
@@ -1345,7 +1354,7 @@
},
{
"name": "x-query-jit",
- "ret-type": "214",
+ "ret-type": "215",
"meta-type": "command",
"arg-type": "0",
"features": [
@@ -1354,7 +1363,7 @@
},
{
"name": "x-query-numa",
- "ret-type": "214",
+ "ret-type": "215",
"meta-type": "command",
"arg-type": "0",
"features": [
@@ -1363,7 +1372,7 @@
},
{
"name": "x-query-opcount",
- "ret-type": "214",
+ "ret-type": "215",
"meta-type": "command",
"arg-type": "0",
"features": [
@@ -1372,7 +1381,7 @@
},
{
"name": "x-query-ramblock",
- "ret-type": "214",
+ "ret-type": "215",
"meta-type": "command",
"arg-type": "0",
"features": [
@@ -1381,7 +1390,7 @@
},
{
"name": "x-query-roms",
- "ret-type": "214",
+ "ret-type": "215",
"meta-type": "command",
"arg-type": "0",
"features": [
@@ -1390,7 +1399,7 @@
},
{
"name": "x-query-usb",
- "ret-type": "214",
+ "ret-type": "215",
"meta-type": "command",
"arg-type": "0",
"features": [
@@ -1401,11 +1410,11 @@
"name": "dumpdtb",
"ret-type": "0",
"meta-type": "command",
- "arg-type": "215"
+ "arg-type": "216"
},
{
"name": "x-query-interrupt-controllers",
- "ret-type": "214",
+ "ret-type": "215",
"meta-type": "command",
"arg-type": "0",
"features": [
@@ -1414,25 +1423,25 @@
},
{
"name": "query-cpu-model-comparison",
- "ret-type": "217",
+ "ret-type": "218",
"meta-type": "command",
- "arg-type": "216"
+ "arg-type": "217"
},
{
"name": "query-cpu-model-baseline",
- "ret-type": "219",
+ "ret-type": "220",
"meta-type": "command",
- "arg-type": "218"
+ "arg-type": "219"
},
{
"name": "query-cpu-model-expansion",
- "ret-type": "221",
+ "ret-type": "222",
"meta-type": "command",
- "arg-type": "220"
+ "arg-type": "221"
},
{
"name": "query-cpu-definitions",
- "ret-type": "[222]",
+ "ret-type": "[223]",
"meta-type": "command",
"arg-type": "0"
},
@@ -1440,7 +1449,7 @@
"name": "set-cpu-topology",
"ret-type": "0",
"meta-type": "command",
- "arg-type": "223",
+ "arg-type": "224",
"features": [
"unstable"
]
@@ -1448,14 +1457,14 @@
{
"name": "CPU_POLARIZATION_CHANGE",
"meta-type": "event",
- "arg-type": "224",
+ "arg-type": "225",
"features": [
"unstable"
]
},
{
"name": "query-s390x-cpu-polarization",
- "ret-type": "225",
+ "ret-type": "226",
"meta-type": "command",
"arg-type": "0",
"features": [
@@ -1464,7 +1473,7 @@
},
{
"name": "query-replay",
- "ret-type": "226",
+ "ret-type": "227",
"meta-type": "command",
"arg-type": "0"
},
@@ -1472,7 +1481,7 @@
"name": "replay-break",
"ret-type": "0",
"meta-type": "command",
- "arg-type": "227"
+ "arg-type": "228"
},
{
"name": "replay-delete-break",
@@ -1484,18 +1493,18 @@
"name": "replay-seek",
"ret-type": "0",
"meta-type": "command",
- "arg-type": "228"
+ "arg-type": "229"
},
{
"name": "yank",
"ret-type": "0",
"allow-oob": true,
"meta-type": "command",
- "arg-type": "229"
+ "arg-type": "230"
},
{
"name": "query-yank",
- "ret-type": "[230]",
+ "ret-type": "[231]",
"allow-oob": true,
"meta-type": "command",
"arg-type": "0"
@@ -1504,17 +1513,17 @@
"name": "add_client",
"ret-type": "0",
"meta-type": "command",
- "arg-type": "231"
+ "arg-type": "232"
},
{
"name": "query-name",
- "ret-type": "232",
+ "ret-type": "233",
"meta-type": "command",
"arg-type": "0"
},
{
"name": "query-iothreads",
- "ret-type": "[233]",
+ "ret-type": "[234]",
"meta-type": "command",
"arg-type": "0"
},
@@ -1543,7 +1552,7 @@
"name": "human-monitor-command",
"ret-type": "str",
"meta-type": "command",
- "arg-type": "234",
+ "arg-type": "235",
"features": [
"savevm-monitor-nodes"
]
@@ -1552,92 +1561,92 @@
"name": "getfd",
"ret-type": "0",
"meta-type": "command",
- "arg-type": "235"
+ "arg-type": "236"
},
{
"name": "closefd",
"ret-type": "0",
"meta-type": "command",
- "arg-type": "237"
+ "arg-type": "238"
},
{
"name": "add-fd",
- "ret-type": "239",
+ "ret-type": "240",
"meta-type": "command",
- "arg-type": "238"
+ "arg-type": "239"
},
{
"name": "remove-fd",
"ret-type": "0",
"meta-type": "command",
- "arg-type": "240"
+ "arg-type": "241"
},
{
"name": "query-fdsets",
- "ret-type": "[241]",
+ "ret-type": "[242]",
"meta-type": "command",
"arg-type": "0"
},
{
"name": "query-command-line-options",
- "ret-type": "[243]",
+ "ret-type": "[244]",
"meta-type": "command",
- "arg-type": "242"
+ "arg-type": "243"
},
{
"name": "RTC_CHANGE",
"meta-type": "event",
- "arg-type": "244"
+ "arg-type": "245"
},
{
"name": "VFU_CLIENT_HANGUP",
"meta-type": "event",
- "arg-type": "245"
+ "arg-type": "246"
},
{
"name": "dump-skeys",
"ret-type": "0",
"meta-type": "command",
- "arg-type": "252"
+ "arg-type": "253"
},
{
"name": "query-audiodevs",
- "ret-type": "[257]",
+ "ret-type": "[258]",
"meta-type": "command",
"arg-type": "0"
},
{
"name": "query-acpi-ospm-status",
- "ret-type": "[258]",
+ "ret-type": "[259]",
"meta-type": "command",
"arg-type": "0"
},
{
"name": "ACPI_DEVICE_OST",
"meta-type": "event",
- "arg-type": "259"
+ "arg-type": "260"
},
{
"name": "query-pci",
- "ret-type": "[260]",
+ "ret-type": "[261]",
"meta-type": "command",
"arg-type": "0"
},
{
"name": "query-stats",
- "ret-type": "[262]",
+ "ret-type": "[263]",
"meta-type": "command",
- "arg-type": "261"
+ "arg-type": "262"
},
{
"name": "query-stats-schemas",
- "ret-type": "[264]",
+ "ret-type": "[265]",
"meta-type": "command",
- "arg-type": "263"
+ "arg-type": "264"
},
{
"name": "x-query-virtio",
- "ret-type": "[265]",
+ "ret-type": "[266]",
"meta-type": "command",
"arg-type": "0",
"features": [
@@ -1646,36 +1655,36 @@
},
{
"name": "x-query-virtio-status",
- "ret-type": "267",
+ "ret-type": "268",
"meta-type": "command",
- "arg-type": "266",
+ "arg-type": "267",
"features": [
"unstable"
]
},
{
"name": "x-query-virtio-queue-status",
- "ret-type": "269",
+ "ret-type": "270",
"meta-type": "command",
- "arg-type": "268",
+ "arg-type": "269",
"features": [
"unstable"
]
},
{
"name": "x-query-virtio-vhost-queue-status",
- "ret-type": "271",
+ "ret-type": "272",
"meta-type": "command",
- "arg-type": "270",
+ "arg-type": "271",
"features": [
"unstable"
]
},
{
"name": "x-query-virtio-queue-element",
- "ret-type": "273",
+ "ret-type": "274",
"meta-type": "command",
- "arg-type": "272",
+ "arg-type": "273",
"features": [
"unstable"
]
@@ -1683,11 +1692,11 @@
{
"name": "VFIO_MIGRATION",
"meta-type": "event",
- "arg-type": "274"
+ "arg-type": "275"
},
{
"name": "query-cryptodev",
- "ret-type": "[275]",
+ "ret-type": "[276]",
"meta-type": "command",
"arg-type": "0"
},
@@ -1695,43 +1704,43 @@
"name": "cxl-inject-general-media-event",
"ret-type": "0",
"meta-type": "command",
- "arg-type": "276"
+ "arg-type": "277"
},
{
"name": "cxl-inject-dram-event",
"ret-type": "0",
"meta-type": "command",
- "arg-type": "277"
+ "arg-type": "278"
},
{
"name": "cxl-inject-memory-module-event",
"ret-type": "0",
"meta-type": "command",
- "arg-type": "278"
+ "arg-type": "279"
},
{
"name": "cxl-inject-poison",
"ret-type": "0",
"meta-type": "command",
- "arg-type": "279"
+ "arg-type": "280"
},
{
"name": "cxl-inject-uncorrectable-errors",
"ret-type": "0",
"meta-type": "command",
- "arg-type": "280"
+ "arg-type": "281"
},
{
"name": "cxl-inject-correctable-error",
"ret-type": "0",
"meta-type": "command",
- "arg-type": "281"
+ "arg-type": "282"
},
{
"name": "cxl-add-dynamic-capacity",
"ret-type": "0",
"meta-type": "command",
- "arg-type": "282",
+ "arg-type": "283",
"features": [
"unstable"
]
@@ -1740,7 +1749,7 @@
"name": "cxl-release-dynamic-capacity",
"ret-type": "0",
"meta-type": "command",
- "arg-type": "283",
+ "arg-type": "284",
"features": [
"unstable"
]
@@ -1759,7 +1768,7 @@
},
{
"name": "status",
- "type": "284"
+ "type": "285"
}
],
"meta-type": "object"
@@ -1773,7 +1782,7 @@
},
{
"name": "reason",
- "type": "285"
+ "type": "286"
}
],
"meta-type": "object"
@@ -1787,7 +1796,7 @@
},
{
"name": "reason",
- "type": "285"
+ "type": "286"
}
],
"meta-type": "object"
@@ -1797,7 +1806,7 @@
"members": [
{
"name": "action",
- "type": "286"
+ "type": "287"
}
],
"meta-type": "object"
@@ -1807,7 +1816,7 @@
"members": [
{
"name": "action",
- "type": "286"
+ "type": "287"
}
],
"meta-type": "object"
@@ -1818,22 +1827,22 @@
{
"name": "reboot",
"default": null,
- "type": "287"
+ "type": "288"
},
{
"name": "shutdown",
"default": null,
- "type": "288"
+ "type": "289"
},
{
"name": "panic",
"default": null,
- "type": "289"
+ "type": "290"
},
{
"name": "watchdog",
"default": null,
- "type": "286"
+ "type": "287"
}
],
"meta-type": "object"
@@ -1843,12 +1852,12 @@
"members": [
{
"name": "action",
- "type": "290"
+ "type": "291"
},
{
"name": "info",
"default": null,
- "type": "291"
+ "type": "292"
}
],
"meta-type": "object"
@@ -1858,12 +1867,12 @@
"members": [
{
"name": "action",
- "type": "290"
+ "type": "291"
},
{
"name": "info",
"default": null,
- "type": "291"
+ "type": "292"
}
],
"meta-type": "object"
@@ -1873,15 +1882,15 @@
"members": [
{
"name": "recipient",
- "type": "292"
+ "type": "293"
},
{
"name": "action",
- "type": "293"
+ "type": "294"
},
{
"name": "flags",
- "type": "294"
+ "type": "295"
}
],
"meta-type": "object"
@@ -1895,7 +1904,7 @@
},
{
"name": "status",
- "type": "295"
+ "type": "296"
}
],
"meta-type": "object"
@@ -1974,11 +1983,11 @@
},
{
"name": "type",
- "type": "296"
+ "type": "297"
},
{
"name": "status",
- "type": "295"
+ "type": "296"
},
{
"name": "current-progress",
@@ -2139,7 +2148,7 @@
{
"name": "read-only-mode",
"default": null,
- "type": "297"
+ "type": "298"
}
],
"meta-type": "object"
@@ -2366,7 +2375,7 @@
{
"name": "io-status",
"default": null,
- "type": "298"
+ "type": "299"
}
],
"meta-type": "object"
@@ -2407,12 +2416,12 @@
},
{
"name": "stats",
- "type": "299"
+ "type": "300"
},
{
"name": "driver-specific",
"default": null,
- "type": "300"
+ "type": "301"
},
{
"name": "parent",
@@ -2438,7 +2447,7 @@
"variants": [
{
"case": "mirror",
- "type": "301"
+ "type": "302"
},
{
"case": "commit",
@@ -2476,7 +2485,7 @@
"members": [
{
"name": "type",
- "type": "296"
+ "type": "297"
},
{
"name": "device",
@@ -2504,7 +2513,7 @@
},
{
"name": "io-status",
- "type": "298"
+ "type": "299"
},
{
"name": "ready",
@@ -2512,7 +2521,7 @@
},
{
"name": "status",
- "type": "295"
+ "type": "296"
},
{
"name": "auto-finalize",
@@ -2580,7 +2589,7 @@
{
"name": "mode",
"default": null,
- "type": "302"
+ "type": "303"
}
],
"meta-type": "object"
@@ -2673,7 +2682,7 @@
{
"name": "on-error",
"default": null,
- "type": "303"
+ "type": "304"
},
{
"name": "filter-node-name",
@@ -2707,7 +2716,7 @@
},
{
"name": "sync",
- "type": "304"
+ "type": "305"
},
{
"name": "speed",
@@ -2722,7 +2731,7 @@
{
"name": "bitmap-mode",
"default": null,
- "type": "305"
+ "type": "306"
},
{
"name": "compress",
@@ -2732,12 +2741,12 @@
{
"name": "on-source-error",
"default": null,
- "type": "303"
+ "type": "304"
},
{
"name": "on-target-error",
"default": null,
- "type": "303"
+ "type": "304"
},
{
"name": "auto-finalize",
@@ -2762,7 +2771,7 @@
{
"name": "x-perf",
"default": null,
- "type": "306",
+ "type": "307",
"features": [
"unstable"
]
@@ -2779,7 +2788,7 @@
{
"name": "mode",
"default": null,
- "type": "302"
+ "type": "303"
}
],
"meta-type": "object"
@@ -2798,7 +2807,7 @@
},
{
"name": "sync",
- "type": "304"
+ "type": "305"
},
{
"name": "speed",
@@ -2813,7 +2822,7 @@
{
"name": "bitmap-mode",
"default": null,
- "type": "305"
+ "type": "306"
},
{
"name": "compress",
@@ -2823,12 +2832,12 @@
{
"name": "on-source-error",
"default": null,
- "type": "303"
+ "type": "304"
},
{
"name": "on-target-error",
"default": null,
- "type": "303"
+ "type": "304"
},
{
"name": "auto-finalize",
@@ -2853,7 +2862,7 @@
{
"name": "x-perf",
"default": null,
- "type": "306",
+ "type": "307",
"features": [
"unstable"
]
@@ -2916,7 +2925,7 @@
},
{
"name": "detect_zeroes",
- "type": "307"
+ "type": "308"
},
{
"name": "bps",
@@ -2944,7 +2953,7 @@
},
{
"name": "image",
- "type": "308"
+ "type": "309"
},
{
"name": "bps_max",
@@ -3018,7 +3027,7 @@
},
{
"name": "cache",
- "type": "309"
+ "type": "310"
},
{
"name": "write_threshold",
@@ -3027,7 +3036,7 @@
{
"name": "dirty-bitmaps",
"default": null,
- "type": "[310]"
+ "type": "[311]"
}
],
"meta-type": "object"
@@ -3037,11 +3046,11 @@
"members": [
{
"name": "nodes",
- "type": "[311]"
+ "type": "[312]"
},
{
"name": "edges",
- "type": "[312]"
+ "type": "[313]"
}
],
"meta-type": "object"
@@ -3079,12 +3088,12 @@
},
{
"name": "sync",
- "type": "304"
+ "type": "305"
},
{
"name": "mode",
"default": null,
- "type": "302"
+ "type": "303"
},
{
"name": "speed",
@@ -3104,12 +3113,12 @@
{
"name": "on-source-error",
"default": null,
- "type": "303"
+ "type": "304"
},
{
"name": "on-target-error",
"default": null,
- "type": "303"
+ "type": "304"
},
{
"name": "unmap",
@@ -3119,7 +3128,7 @@
{
"name": "copy-mode",
"default": null,
- "type": "313"
+ "type": "314"
},
{
"name": "auto-finalize",
@@ -3190,7 +3199,7 @@
},
{
"name": "bitmaps",
- "type": "[314]"
+ "type": "[315]"
}
],
"meta-type": "object"
@@ -3228,7 +3237,7 @@
},
{
"name": "sync",
- "type": "304"
+ "type": "305"
},
{
"name": "speed",
@@ -3248,12 +3257,12 @@
{
"name": "on-source-error",
"default": null,
- "type": "303"
+ "type": "304"
},
{
"name": "on-target-error",
"default": null,
- "type": "303"
+ "type": "304"
},
{
"name": "filter-node-name",
@@ -3263,7 +3272,7 @@
{
"name": "copy-mode",
"default": null,
- "type": "313"
+ "type": "314"
},
{
"name": "auto-finalize",
@@ -3323,7 +3332,7 @@
{
"name": "on-error",
"default": null,
- "type": "303"
+ "type": "304"
},
{
"name": "filter-node-name",
@@ -3428,7 +3437,7 @@
"variants": [
{
"case": "mirror",
- "type": "315"
+ "type": "316"
},
{
"case": "commit",
@@ -3470,7 +3479,7 @@
},
{
"name": "type",
- "type": "296"
+ "type": "297"
}
],
"meta-type": "object"
@@ -3481,197 +3490,197 @@
"variants": [
{
"case": "blkdebug",
- "type": "319"
+ "type": "320"
},
{
"case": "blklogwrites",
- "type": "320"
+ "type": "321"
},
{
"case": "blkverify",
- "type": "321"
+ "type": "322"
},
{
"case": "blkreplay",
- "type": "322"
+ "type": "323"
},
{
"case": "bochs",
- "type": "323"
+ "type": "324"
},
{
"case": "cloop",
- "type": "323"
+ "type": "324"
},
{
"case": "compress",
- "type": "323"
+ "type": "324"
},
{
"case": "copy-before-write",
- "type": "324"
+ "type": "325"
},
{
"case": "copy-on-read",
- "type": "325"
+ "type": "326"
},
{
"case": "dmg",
- "type": "323"
+ "type": "324"
},
{
"case": "file",
- "type": "326"
+ "type": "327"
},
{
"case": "ftp",
- "type": "327"
+ "type": "328"
},
{
"case": "ftps",
- "type": "328"
+ "type": "329"
},
{
"case": "gluster",
- "type": "329"
+ "type": "330"
},
{
"case": "host_cdrom",
- "type": "326"
+ "type": "327"
},
{
"case": "host_device",
- "type": "326"
+ "type": "327"
},
{
"case": "http",
- "type": "330"
+ "type": "331"
},
{
"case": "https",
- "type": "331"
+ "type": "332"
},
{
"case": "io_uring",
- "type": "332"
+ "type": "333"
},
{
"case": "iscsi",
- "type": "333"
+ "type": "334"
},
{
"case": "luks",
- "type": "334"
+ "type": "335"
},
{
"case": "nbd",
- "type": "335"
+ "type": "336"
},
{
"case": "nfs",
- "type": "336"
+ "type": "337"
},
{
"case": "null-aio",
- "type": "337"
+ "type": "338"
},
{
"case": "null-co",
- "type": "337"
+ "type": "338"
},
{
"case": "nvme",
- "type": "338"
+ "type": "339"
},
{
"case": "nvme-io_uring",
- "type": "339"
+ "type": "340"
},
{
"case": "parallels",
- "type": "323"
+ "type": "324"
},
{
"case": "preallocate",
- "type": "340"
+ "type": "341"
},
{
"case": "qcow2",
- "type": "341"
+ "type": "342"
},
{
"case": "qcow",
- "type": "342"
+ "type": "343"
},
{
"case": "qed",
- "type": "343"
+ "type": "344"
},
{
"case": "quorum",
- "type": "344"
+ "type": "345"
},
{
"case": "raw",
- "type": "345"
+ "type": "346"
},
{
"case": "rbd",
- "type": "346"
+ "type": "347"
},
{
"case": "replication",
- "type": "347"
+ "type": "348"
},
{
"case": "snapshot-access",
- "type": "323"
+ "type": "324"
},
{
"case": "ssh",
- "type": "348"
+ "type": "349"
},
{
"case": "throttle",
- "type": "349"
+ "type": "350"
},
{
"case": "vdi",
- "type": "323"
+ "type": "324"
},
{
"case": "vhdx",
- "type": "323"
+ "type": "324"
},
{
"case": "virtio-blk-vfio-pci",
- "type": "350"
+ "type": "351"
},
{
"case": "virtio-blk-vhost-user",
- "type": "351"
+ "type": "352"
},
{
"case": "virtio-blk-vhost-vdpa",
- "type": "352"
+ "type": "353"
},
{
"case": "vmdk",
- "type": "343"
+ "type": "344"
},
{
"case": "vpc",
- "type": "323"
+ "type": "324"
},
{
"case": "vvfat",
- "type": "353"
+ "type": "354"
}
],
"members": [
{
"name": "driver",
- "type": "316"
+ "type": "317"
},
{
"name": "node-name",
@@ -3681,12 +3690,12 @@
{
"name": "discard",
"default": null,
- "type": "317"
+ "type": "318"
},
{
"name": "cache",
"default": null,
- "type": "318"
+ "type": "319"
},
{
"name": "read-only",
@@ -3706,7 +3715,7 @@
{
"name": "detect-zeroes",
"default": null,
- "type": "307"
+ "type": "308"
}
],
"meta-type": "object"
@@ -3740,7 +3749,7 @@
},
{
"name": "options",
- "type": "354"
+ "type": "355"
}
],
"meta-type": "object"
@@ -3758,7 +3767,7 @@
},
{
"name": "options",
- "type": "355"
+ "type": "356"
},
{
"name": "force",
@@ -3819,11 +3828,11 @@
},
{
"name": "operation",
- "type": "356"
+ "type": "357"
},
{
"name": "action",
- "type": "357"
+ "type": "358"
},
{
"name": "nospace",
@@ -3842,7 +3851,7 @@
"members": [
{
"name": "type",
- "type": "296"
+ "type": "297"
},
{
"name": "device",
@@ -3873,7 +3882,7 @@
"members": [
{
"name": "type",
- "type": "296"
+ "type": "297"
},
{
"name": "device",
@@ -3903,11 +3912,11 @@
},
{
"name": "operation",
- "type": "356"
+ "type": "357"
},
{
"name": "action",
- "type": "357"
+ "type": "358"
}
],
"meta-type": "object"
@@ -3917,7 +3926,7 @@
"members": [
{
"name": "type",
- "type": "296"
+ "type": "297"
},
{
"name": "device",
@@ -3943,7 +3952,7 @@
"members": [
{
"name": "type",
- "type": "296"
+ "type": "297"
},
{
"name": "id",
@@ -4013,7 +4022,7 @@
},
{
"name": "iothread",
- "type": "358"
+ "type": "359"
},
{
"name": "force",
@@ -4046,7 +4055,7 @@
"members": [
{
"name": "type",
- "type": "359"
+ "type": "360"
},
{
"name": "error",
@@ -4146,7 +4155,7 @@
"members": [
{
"name": "addr",
- "type": "360"
+ "type": "361"
},
{
"name": "tls-creds",
@@ -4206,7 +4215,7 @@
{
"name": "mode",
"default": null,
- "type": "361"
+ "type": "362"
}
],
"meta-type": "object"
@@ -4217,25 +4226,25 @@
"variants": [
{
"case": "nbd",
- "type": "363"
+ "type": "364"
},
{
"case": "vhost-user-blk",
- "type": "364"
+ "type": "365"
},
{
"case": "fuse",
- "type": "365"
+ "type": "366"
},
{
"case": "vduse-blk",
- "type": "366"
+ "type": "367"
}
],
"members": [
{
"name": "type",
- "type": "362"
+ "type": "363"
},
{
"name": "id",
@@ -4278,7 +4287,7 @@
{
"name": "mode",
"default": null,
- "type": "361"
+ "type": "362"
}
],
"meta-type": "object"
@@ -4307,7 +4316,7 @@
},
{
"name": "type",
- "type": "362"
+ "type": "363"
},
{
"name": "node-name",
@@ -4372,7 +4381,7 @@
{
"name": "format",
"default": null,
- "type": "367"
+ "type": "368"
}
],
"meta-type": "object"
@@ -4391,7 +4400,7 @@
{
"name": "format",
"default": null,
- "type": "367"
+ "type": "368"
}
],
"meta-type": "object"
@@ -4410,7 +4419,7 @@
},
{
"name": "backend",
- "type": "368"
+ "type": "369"
}
],
"meta-type": "object"
@@ -4435,7 +4444,7 @@
},
{
"name": "backend",
- "type": "368"
+ "type": "369"
}
],
"meta-type": "object"
@@ -4503,7 +4512,7 @@
{
"name": "format",
"default": null,
- "type": "369"
+ "type": "370"
}
],
"meta-type": "object"
@@ -4513,7 +4522,7 @@
"members": [
{
"name": "status",
- "type": "370"
+ "type": "371"
},
{
"name": "completed",
@@ -4546,7 +4555,7 @@
"members": [
{
"name": "formats",
- "type": "[369]"
+ "type": "[370]"
}
],
"meta-type": "object"
@@ -4571,59 +4580,59 @@
"variants": [
{
"case": "nic",
- "type": "372"
+ "type": "373"
},
{
"case": "user",
- "type": "373"
+ "type": "374"
},
{
"case": "tap",
- "type": "374"
+ "type": "375"
},
{
"case": "l2tpv3",
- "type": "375"
+ "type": "376"
},
{
"case": "socket",
- "type": "376"
+ "type": "377"
},
{
"case": "stream",
- "type": "377"
+ "type": "378"
},
{
"case": "dgram",
- "type": "378"
+ "type": "379"
},
{
"case": "vde",
- "type": "379"
+ "type": "380"
},
{
"case": "bridge",
- "type": "380"
+ "type": "381"
},
{
"case": "hubport",
- "type": "381"
+ "type": "382"
},
{
"case": "netmap",
- "type": "382"
+ "type": "383"
},
{
"case": "af-xdp",
- "type": "383"
+ "type": "384"
},
{
"case": "vhost-user",
- "type": "384"
+ "type": "385"
},
{
"case": "vhost-vdpa",
- "type": "385"
+ "type": "386"
},
{
"case": "none",
@@ -4637,7 +4646,7 @@
},
{
"name": "type",
- "type": "371"
+ "type": "372"
}
],
"meta-type": "object"
@@ -4681,15 +4690,15 @@
},
{
"name": "multicast",
- "type": "389"
+ "type": "390"
},
{
"name": "unicast",
- "type": "389"
+ "type": "390"
},
{
"name": "vlan",
- "type": "389"
+ "type": "390"
},
{
"name": "broadcast-allowed",
@@ -4788,7 +4797,7 @@
},
{
"name": "addr",
- "type": "390"
+ "type": "391"
}
],
"meta-type": "object"
@@ -4808,7 +4817,7 @@
"members": [
{
"name": "id",
- "type": "391"
+ "type": "392"
}
],
"meta-type": "object"
@@ -4887,11 +4896,11 @@
},
{
"name": "duplex",
- "type": "392"
+ "type": "393"
},
{
"name": "autoneg",
- "type": "393"
+ "type": "394"
}
],
"meta-type": "object"
@@ -4929,15 +4938,15 @@
},
{
"name": "key",
- "type": "394"
+ "type": "395"
},
{
"name": "mask",
- "type": "395"
+ "type": "396"
},
{
"name": "action",
- "type": "396"
+ "type": "397"
}
],
"meta-type": "object"
@@ -5095,7 +5104,7 @@
},
{
"name": "options",
- "type": "397"
+ "type": "398"
}
],
"meta-type": "object"
@@ -5106,7 +5115,7 @@
"variants": [
{
"case": "vnc",
- "type": "400"
+ "type": "401"
},
{
"case": "spice",
@@ -5116,7 +5125,7 @@
"members": [
{
"name": "protocol",
- "type": "398"
+ "type": "399"
},
{
"name": "password",
@@ -5125,7 +5134,7 @@
{
"name": "connected",
"default": null,
- "type": "399"
+ "type": "400"
}
],
"meta-type": "object"
@@ -5136,7 +5145,7 @@
"variants": [
{
"case": "vnc",
- "type": "401"
+ "type": "402"
},
{
"case": "spice",
@@ -5146,7 +5155,7 @@
"members": [
{
"name": "protocol",
- "type": "398"
+ "type": "399"
},
{
"name": "time",
@@ -5175,7 +5184,7 @@
{
"name": "format",
"default": null,
- "type": "402"
+ "type": "403"
}
],
"meta-type": "object"
@@ -5195,7 +5204,7 @@
{
"name": "family",
"default": null,
- "type": "407"
+ "type": "408"
},
{
"name": "service",
@@ -5210,7 +5219,7 @@
{
"name": "clients",
"default": null,
- "type": "[408]"
+ "type": "[409]"
}
],
"meta-type": "object"
@@ -5229,20 +5238,20 @@
},
{
"name": "server",
- "type": "[409]"
+ "type": "[410]"
},
{
"name": "clients",
- "type": "[408]"
+ "type": "[409]"
},
{
"name": "auth",
- "type": "410"
+ "type": "411"
},
{
"name": "vencrypt",
"default": null,
- "type": "411"
+ "type": "412"
},
{
"name": "display",
@@ -5267,11 +5276,11 @@
"members": [
{
"name": "server",
- "type": "412"
+ "type": "413"
},
{
"name": "client",
- "type": "413"
+ "type": "414"
}
],
"meta-type": "object"
@@ -5281,11 +5290,11 @@
"members": [
{
"name": "server",
- "type": "412"
+ "type": "413"
},
{
"name": "client",
- "type": "408"
+ "type": "409"
}
],
"meta-type": "object"
@@ -5295,11 +5304,11 @@
"members": [
{
"name": "server",
- "type": "412"
+ "type": "413"
},
{
"name": "client",
- "type": "408"
+ "type": "409"
}
],
"meta-type": "object"
@@ -5336,7 +5345,7 @@
"members": [
{
"name": "keys",
- "type": "[414]"
+ "type": "[415]"
},
{
"name": "hold-time",
@@ -5361,7 +5370,7 @@
},
{
"name": "events",
- "type": "[415]"
+ "type": "[416]"
}
],
"meta-type": "object"
@@ -5372,23 +5381,23 @@
"variants": [
{
"case": "gtk",
- "type": "418"
+ "type": "419"
},
{
"case": "curses",
- "type": "420"
+ "type": "421"
},
{
"case": "egl-headless",
- "type": "421"
+ "type": "422"
},
{
"case": "dbus",
- "type": "422"
+ "type": "423"
},
{
"case": "sdl",
- "type": "423"
+ "type": "424"
},
{
"case": "default",
@@ -5402,7 +5411,7 @@
"members": [
{
"name": "type",
- "type": "416"
+ "type": "417"
},
{
"name": "full-screen",
@@ -5422,7 +5431,7 @@
{
"name": "gl",
"default": null,
- "type": "417"
+ "type": "418"
}
],
"meta-type": "object"
@@ -5433,13 +5442,13 @@
"variants": [
{
"case": "vnc",
- "type": "425"
+ "type": "426"
}
],
"members": [
{
"name": "type",
- "type": "424"
+ "type": "425"
}
],
"meta-type": "object"
@@ -5450,13 +5459,13 @@
"variants": [
{
"case": "vnc",
- "type": "427"
+ "type": "428"
}
],
"members": [
{
"name": "type",
- "type": "426"
+ "type": "427"
}
],
"meta-type": "object"
@@ -5496,22 +5505,22 @@
{
"name": "status",
"default": null,
- "type": "428"
+ "type": "429"
},
{
"name": "ram",
"default": null,
- "type": "429"
+ "type": "430"
},
{
"name": "vfio",
"default": null,
- "type": "430"
+ "type": "431"
},
{
"name": "xbzrle-cache",
"default": null,
- "type": "431"
+ "type": "432"
},
{
"name": "total-time",
@@ -5561,7 +5570,7 @@
{
"name": "socket-address",
"default": null,
- "type": "[390]"
+ "type": "[391]"
},
{
"name": "dirty-limit-throttle-time-per-round",
@@ -5596,7 +5605,7 @@
"members": [
{
"name": "capability",
- "type": "432"
+ "type": "433"
},
{
"name": "state",
@@ -5651,17 +5660,17 @@
{
"name": "tls-creds",
"default": null,
- "type": "358"
+ "type": "359"
},
{
"name": "tls-hostname",
"default": null,
- "type": "358"
+ "type": "359"
},
{
"name": "tls-authz",
"default": null,
- "type": "358"
+ "type": "359"
},
{
"name": "max-bandwidth",
@@ -5709,7 +5718,7 @@
{
"name": "multifd-compression",
"default": null,
- "type": "433"
+ "type": "434"
},
{
"name": "multifd-zlib-level",
@@ -5729,7 +5738,7 @@
{
"name": "block-bitmap-mapping",
"default": null,
- "type": "[434]"
+ "type": "[435]"
},
{
"name": "x-vcpu-dirty-limit-period",
@@ -5747,12 +5756,12 @@
{
"name": "mode",
"default": null,
- "type": "435"
+ "type": "436"
},
{
"name": "zero-page-detection",
"default": null,
- "type": "436"
+ "type": "437"
},
{
"name": "direct-io",
@@ -5866,7 +5875,7 @@
{
"name": "multifd-compression",
"default": null,
- "type": "433"
+ "type": "434"
},
{
"name": "multifd-zlib-level",
@@ -5886,7 +5895,7 @@
{
"name": "block-bitmap-mapping",
"default": null,
- "type": "[434]"
+ "type": "[435]"
},
{
"name": "x-vcpu-dirty-limit-period",
@@ -5904,12 +5913,12 @@
{
"name": "mode",
"default": null,
- "type": "435"
+ "type": "436"
},
{
"name": "zero-page-detection",
"default": null,
- "type": "436"
+ "type": "437"
},
{
"name": "direct-io",
@@ -5924,7 +5933,7 @@
"members": [
{
"name": "status",
- "type": "428"
+ "type": "429"
}
],
"meta-type": "object"
@@ -5944,11 +5953,11 @@
"members": [
{
"name": "mode",
- "type": "437"
+ "type": "438"
},
{
"name": "reason",
- "type": "438"
+ "type": "439"
}
],
"meta-type": "object"
@@ -5958,7 +5967,7 @@
"members": [
{
"name": "state",
- "type": "428"
+ "type": "429"
}
],
"meta-type": "object"
@@ -5974,7 +5983,7 @@
{
"name": "channels",
"default": null,
- "type": "[439]"
+ "type": "[440]"
},
{
"name": "detach",
@@ -6000,7 +6009,7 @@
{
"name": "channels",
"default": null,
- "type": "[439]"
+ "type": "[440]"
},
{
"name": "exit-on-error",
@@ -6084,15 +6093,15 @@
"members": [
{
"name": "mode",
- "type": "437"
+ "type": "438"
},
{
"name": "last-mode",
- "type": "437"
+ "type": "438"
},
{
"name": "reason",
- "type": "438"
+ "type": "439"
}
],
"meta-type": "object"
@@ -6127,7 +6136,7 @@
{
"name": "calc-time-unit",
"default": null,
- "type": "440"
+ "type": "441"
},
{
"name": "sample-pages",
@@ -6137,7 +6146,7 @@
{
"name": "mode",
"default": null,
- "type": "441"
+ "type": "442"
}
],
"meta-type": "object"
@@ -6148,7 +6157,7 @@
{
"name": "calc-time-unit",
"default": null,
- "type": "440"
+ "type": "441"
}
],
"meta-type": "object"
@@ -6163,7 +6172,7 @@
},
{
"name": "status",
- "type": "442"
+ "type": "443"
},
{
"name": "start-time",
@@ -6175,7 +6184,7 @@
},
{
"name": "calc-time-unit",
- "type": "440"
+ "type": "441"
},
{
"name": "sample-pages",
@@ -6183,12 +6192,12 @@
},
{
"name": "mode",
- "type": "441"
+ "type": "442"
},
{
"name": "vcpu-dirty-rate",
"default": null,
- "type": "[443]"
+ "type": "[444]"
}
],
"meta-type": "object"
@@ -6328,12 +6337,12 @@
"members": [
{
"name": "actions",
- "type": "[444]"
+ "type": "[445]"
},
{
"name": "properties",
"default": null,
- "type": "445"
+ "type": "446"
}
],
"meta-type": "object"
@@ -6362,7 +6371,7 @@
},
{
"name": "state",
- "type": "446"
+ "type": "447"
}
],
"meta-type": "object"
@@ -6392,7 +6401,7 @@
{
"name": "enable",
"default": null,
- "type": "[447]"
+ "type": "[448]"
}
],
"meta-type": "object"
@@ -6402,7 +6411,7 @@
"members": [
{
"name": "qemu",
- "type": "448"
+ "type": "449"
},
{
"name": "package",
@@ -6437,31 +6446,31 @@
"variants": [
{
"case": "builtin",
- "type": "450"
+ "type": "451"
},
{
"case": "enum",
- "type": "451"
+ "type": "452"
},
{
"case": "array",
- "type": "452"
+ "type": "453"
},
{
"case": "object",
- "type": "453"
+ "type": "454"
},
{
"case": "alternate",
- "type": "454"
+ "type": "455"
},
{
"case": "command",
- "type": "455"
+ "type": "456"
},
{
"case": "event",
- "type": "456"
+ "type": "457"
}
],
"members": [
@@ -6471,7 +6480,7 @@
},
{
"name": "meta-type",
- "type": "449"
+ "type": "450"
},
{
"name": "features",
@@ -6614,183 +6623,187 @@
"variants": [
{
"case": "acpi-generic-initiator",
- "type": "458"
+ "type": "459"
+ },
+ {
+ "case": "acpi-generic-port",
+ "type": "460"
},
{
"case": "authz-list",
- "type": "459"
+ "type": "461"
},
{
"case": "authz-listfile",
- "type": "460"
+ "type": "462"
},
{
"case": "authz-pam",
- "type": "461"
+ "type": "463"
},
{
"case": "authz-simple",
- "type": "462"
+ "type": "464"
},
{
"case": "can-host-socketcan",
- "type": "463"
+ "type": "465"
},
{
"case": "colo-compare",
- "type": "464"
+ "type": "466"
},
{
"case": "cryptodev-backend",
- "type": "465"
+ "type": "467"
},
{
"case": "cryptodev-backend-builtin",
- "type": "465"
+ "type": "467"
},
{
"case": "cryptodev-backend-lkcf",
- "type": "465"
+ "type": "467"
},
{
"case": "cryptodev-vhost-user",
- "type": "466"
+ "type": "468"
},
{
"case": "dbus-vmstate",
- "type": "467"
+ "type": "469"
},
{
"case": "filter-buffer",
- "type": "468"
+ "type": "470"
},
{
"case": "filter-dump",
- "type": "469"
+ "type": "471"
},
{
"case": "filter-mirror",
- "type": "470"
+ "type": "472"
},
{
"case": "filter-redirector",
- "type": "471"
+ "type": "473"
},
{
"case": "filter-replay",
- "type": "472"
+ "type": "474"
},
{
"case": "filter-rewriter",
- "type": "473"
+ "type": "475"
},
{
"case": "input-barrier",
- "type": "474"
+ "type": "476"
},
{
"case": "input-linux",
- "type": "475"
+ "type": "477"
},
{
"case": "iommufd",
- "type": "476"
+ "type": "478"
},
{
"case": "iothread",
- "type": "477"
+ "type": "479"
},
{
"case": "main-loop",
- "type": "478"
+ "type": "480"
},
{
"case": "memory-backend-epc",
- "type": "479"
+ "type": "481"
},
{
"case": "memory-backend-file",
- "type": "480"
+ "type": "482"
},
{
"case": "memory-backend-memfd",
- "type": "481"
+ "type": "483"
},
{
"case": "memory-backend-ram",
- "type": "482"
+ "type": "484"
},
{
"case": "memory-backend-shm",
- "type": "483"
+ "type": "485"
},
{
"case": "pr-manager-helper",
- "type": "484"
+ "type": "486"
},
{
"case": "qtest",
- "type": "485"
+ "type": "487"
},
{
"case": "rng-builtin",
- "type": "486"
+ "type": "488"
},
{
"case": "rng-egd",
- "type": "487"
+ "type": "489"
},
{
"case": "rng-random",
- "type": "488"
+ "type": "490"
},
{
"case": "secret",
- "type": "489"
+ "type": "491"
},
{
"case": "secret_keyring",
- "type": "490"
+ "type": "492"
},
{
"case": "sev-guest",
- "type": "491"
+ "type": "493"
},
{
"case": "sev-snp-guest",
- "type": "492"
+ "type": "494"
},
{
"case": "thread-context",
- "type": "493"
+ "type": "495"
},
{
"case": "throttle-group",
- "type": "494"
+ "type": "496"
},
{
"case": "tls-creds-anon",
- "type": "495"
+ "type": "497"
},
{
"case": "tls-creds-psk",
- "type": "496"
+ "type": "498"
},
{
"case": "tls-creds-x509",
- "type": "497"
+ "type": "499"
},
{
"case": "tls-cipher-suites",
- "type": "498"
+ "type": "500"
},
{
"case": "x-remote-object",
- "type": "499"
+ "type": "501"
},
{
"case": "x-vfio-user-server",
- "type": "500"
+ "type": "502"
},
{
"case": "can-bus",
@@ -6808,7 +6821,7 @@
"members": [
{
"name": "qom-type",
- "type": "457"
+ "type": "458"
},
{
"name": "id",
@@ -6898,17 +6911,27 @@
"meta-type": "object"
},
{
- "name": "[194]",
- "element-type": "194",
+ "name": "194",
+ "members": [
+ {
+ "name": "id",
+ "type": "str"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[195]",
+ "element-type": "195",
"meta-type": "array"
},
{
- "name": "194",
+ "name": "195",
"tag": "target",
"variants": [
{
"case": "s390x",
- "type": "503"
+ "type": "505"
},
{
"case": "aarch64",
@@ -7039,17 +7062,17 @@
{
"name": "props",
"default": null,
- "type": "501"
+ "type": "503"
},
{
"name": "target",
- "type": "502"
+ "type": "504"
}
],
"meta-type": "object"
},
{
- "name": "195",
+ "name": "196",
"members": [
{
"name": "compat-props",
@@ -7063,12 +7086,12 @@
"meta-type": "object"
},
{
- "name": "[196]",
- "element-type": "196",
+ "name": "[197]",
+ "element-type": "197",
"meta-type": "array"
},
{
- "name": "196",
+ "name": "197",
"members": [
{
"name": "name",
@@ -7117,7 +7140,7 @@
{
"name": "compat-props",
"default": null,
- "type": "[504]",
+ "type": "[506]",
"features": [
"unstable"
]
@@ -7126,7 +7149,7 @@
"meta-type": "object"
},
{
- "name": "197",
+ "name": "198",
"members": [
{
"name": "wakeup-suspend-support",
@@ -7136,17 +7159,17 @@
"meta-type": "object"
},
{
- "name": "198",
+ "name": "199",
"members": [
{
"name": "arch",
- "type": "502"
+ "type": "504"
}
],
"meta-type": "object"
},
{
- "name": "199",
+ "name": "200",
"members": [
{
"name": "UUID",
@@ -7156,7 +7179,7 @@
"meta-type": "object"
},
{
- "name": "200",
+ "name": "201",
"members": [
{
"name": "guid",
@@ -7166,7 +7189,7 @@
"meta-type": "object"
},
{
- "name": "201",
+ "name": "202",
"members": [
{
"name": "enabled",
@@ -7180,7 +7203,7 @@
"meta-type": "object"
},
{
- "name": "202",
+ "name": "203",
"members": [
{
"name": "val",
@@ -7203,7 +7226,7 @@
"meta-type": "object"
},
{
- "name": "203",
+ "name": "204",
"members": [
{
"name": "val",
@@ -7221,12 +7244,12 @@
"meta-type": "object"
},
{
- "name": "[204]",
- "element-type": "204",
+ "name": "[205]",
+ "element-type": "205",
"meta-type": "array"
},
{
- "name": "204",
+ "name": "205",
"members": [
{
"name": "id",
@@ -7264,18 +7287,18 @@
},
{
"name": "policy",
- "type": "505"
+ "type": "507"
}
],
"meta-type": "object"
},
{
- "name": "[205]",
- "element-type": "205",
+ "name": "[206]",
+ "element-type": "206",
"meta-type": "array"
},
{
- "name": "205",
+ "name": "206",
"members": [
{
"name": "type",
@@ -7287,7 +7310,7 @@
},
{
"name": "props",
- "type": "501"
+ "type": "503"
},
{
"name": "qom-path",
@@ -7298,40 +7321,40 @@
"meta-type": "object"
},
{
- "name": "206",
+ "name": "207",
"tag": "type",
"variants": [
{
"case": "node",
- "type": "507"
+ "type": "509"
},
{
"case": "dist",
- "type": "508"
+ "type": "510"
},
{
"case": "cpu",
- "type": "509"
+ "type": "511"
},
{
"case": "hmat-lb",
- "type": "510"
+ "type": "512"
},
{
"case": "hmat-cache",
- "type": "511"
+ "type": "513"
}
],
"members": [
{
"name": "type",
- "type": "506"
+ "type": "508"
}
],
"meta-type": "object"
},
{
- "name": "207",
+ "name": "208",
"members": [
{
"name": "value",
@@ -7341,7 +7364,7 @@
"meta-type": "object"
},
{
- "name": "208",
+ "name": "209",
"members": [
{
"name": "actual",
@@ -7351,7 +7374,7 @@
"meta-type": "object"
},
{
- "name": "209",
+ "name": "210",
"members": [
{
"name": "actual",
@@ -7361,7 +7384,7 @@
"meta-type": "object"
},
{
- "name": "210",
+ "name": "211",
"members": [
{
"name": "committed",
@@ -7375,7 +7398,7 @@
"meta-type": "object"
},
{
- "name": "211",
+ "name": "212",
"members": [
{
"name": "base-memory",
@@ -7390,49 +7413,49 @@
"meta-type": "object"
},
{
- "name": "[212]",
- "element-type": "212",
+ "name": "[213]",
+ "element-type": "213",
"meta-type": "array"
},
{
- "name": "212",
+ "name": "213",
"tag": "type",
"variants": [
{
"case": "dimm",
- "type": "513"
+ "type": "515"
},
{
"case": "nvdimm",
- "type": "513"
+ "type": "515"
},
{
"case": "virtio-pmem",
- "type": "514"
+ "type": "516"
},
{
"case": "virtio-mem",
- "type": "515"
+ "type": "517"
},
{
"case": "sgx-epc",
- "type": "516"
+ "type": "518"
},
{
"case": "hv-balloon",
- "type": "517"
+ "type": "519"
}
],
"members": [
{
"name": "type",
- "type": "512"
+ "type": "514"
}
],
"meta-type": "object"
},
{
- "name": "213",
+ "name": "214",
"members": [
{
"name": "id",
@@ -7451,7 +7474,7 @@
"meta-type": "object"
},
{
- "name": "214",
+ "name": "215",
"members": [
{
"name": "human-readable-text",
@@ -7461,7 +7484,7 @@
"meta-type": "object"
},
{
- "name": "215",
+ "name": "216",
"members": [
{
"name": "filename",
@@ -7471,25 +7494,25 @@
"meta-type": "object"
},
{
- "name": "216",
+ "name": "217",
"members": [
{
"name": "modela",
- "type": "518"
+ "type": "520"
},
{
"name": "modelb",
- "type": "518"
+ "type": "520"
}
],
"meta-type": "object"
},
{
- "name": "217",
+ "name": "218",
"members": [
{
"name": "result",
- "type": "519"
+ "type": "521"
},
{
"name": "responsible-properties",
@@ -7499,49 +7522,49 @@
"meta-type": "object"
},
{
- "name": "218",
+ "name": "219",
"members": [
{
"name": "modela",
- "type": "518"
+ "type": "520"
},
{
"name": "modelb",
- "type": "518"
+ "type": "520"
}
],
"meta-type": "object"
},
{
- "name": "219",
+ "name": "220",
"members": [
{
"name": "model",
- "type": "518"
+ "type": "520"
}
],
"meta-type": "object"
},
{
- "name": "220",
+ "name": "221",
"members": [
{
"name": "type",
- "type": "520"
+ "type": "522"
},
{
"name": "model",
- "type": "518"
+ "type": "520"
}
],
"meta-type": "object"
},
{
- "name": "221",
+ "name": "222",
"members": [
{
"name": "model",
- "type": "518"
+ "type": "520"
},
{
"name": "deprecated-props",
@@ -7551,12 +7574,12 @@
"meta-type": "object"
},
{
- "name": "[222]",
- "element-type": "222",
+ "name": "[223]",
+ "element-type": "223",
"meta-type": "array"
},
{
- "name": "222",
+ "name": "223",
"members": [
{
"name": "name",
@@ -7593,7 +7616,7 @@
"meta-type": "object"
},
{
- "name": "223",
+ "name": "224",
"members": [
{
"name": "core-id",
@@ -7617,7 +7640,7 @@
{
"name": "entitlement",
"default": null,
- "type": "521"
+ "type": "523"
},
{
"name": "dedicated",
@@ -7628,31 +7651,31 @@
"meta-type": "object"
},
{
- "name": "224",
+ "name": "225",
"members": [
{
"name": "polarization",
- "type": "522"
+ "type": "524"
}
],
"meta-type": "object"
},
{
- "name": "225",
+ "name": "226",
"members": [
{
"name": "polarization",
- "type": "522"
+ "type": "524"
}
],
"meta-type": "object"
},
{
- "name": "226",
+ "name": "227",
"members": [
{
"name": "mode",
- "type": "523"
+ "type": "525"
},
{
"name": "filename",
@@ -7667,7 +7690,7 @@
"meta-type": "object"
},
{
- "name": "227",
+ "name": "228",
"members": [
{
"name": "icount",
@@ -7677,7 +7700,7 @@
"meta-type": "object"
},
{
- "name": "228",
+ "name": "229",
"members": [
{
"name": "icount",
@@ -7687,31 +7710,31 @@
"meta-type": "object"
},
{
- "name": "229",
+ "name": "230",
"members": [
{
"name": "instances",
- "type": "[230]"
+ "type": "[231]"
}
],
"meta-type": "object"
},
{
- "name": "[230]",
- "element-type": "230",
+ "name": "[231]",
+ "element-type": "231",
"meta-type": "array"
},
{
- "name": "230",
+ "name": "231",
"tag": "type",
"variants": [
{
"case": "block-node",
- "type": "525"
+ "type": "527"
},
{
"case": "chardev",
- "type": "526"
+ "type": "528"
},
{
"case": "migration",
@@ -7721,13 +7744,13 @@
"members": [
{
"name": "type",
- "type": "524"
+ "type": "526"
}
],
"meta-type": "object"
},
{
- "name": "231",
+ "name": "232",
"members": [
{
"name": "protocol",
@@ -7751,7 +7774,7 @@
"meta-type": "object"
},
{
- "name": "232",
+ "name": "233",
"members": [
{
"name": "name",
@@ -7762,12 +7785,12 @@
"meta-type": "object"
},
{
- "name": "[233]",
- "element-type": "233",
+ "name": "[234]",
+ "element-type": "234",
"meta-type": "array"
},
{
- "name": "233",
+ "name": "234",
"members": [
{
"name": "id",
@@ -7797,7 +7820,7 @@
"meta-type": "object"
},
{
- "name": "234",
+ "name": "235",
"members": [
{
"name": "command-line",
@@ -7812,7 +7835,7 @@
"meta-type": "object"
},
{
- "name": "235",
+ "name": "236",
"members": [
{
"name": "fdname",
@@ -7822,7 +7845,7 @@
"meta-type": "object"
},
{
- "name": "237",
+ "name": "238",
"members": [
{
"name": "fdname",
@@ -7832,7 +7855,7 @@
"meta-type": "object"
},
{
- "name": "238",
+ "name": "239",
"members": [
{
"name": "fdset-id",
@@ -7848,7 +7871,7 @@
"meta-type": "object"
},
{
- "name": "239",
+ "name": "240",
"members": [
{
"name": "fdset-id",
@@ -7862,7 +7885,7 @@
"meta-type": "object"
},
{
- "name": "240",
+ "name": "241",
"members": [
{
"name": "fdset-id",
@@ -7877,12 +7900,12 @@
"meta-type": "object"
},
{
- "name": "[241]",
- "element-type": "241",
+ "name": "[242]",
+ "element-type": "242",
"meta-type": "array"
},
{
- "name": "241",
+ "name": "242",
"members": [
{
"name": "fdset-id",
@@ -7890,13 +7913,13 @@
},
{
"name": "fds",
- "type": "[527]"
+ "type": "[529]"
}
],
"meta-type": "object"
},
{
- "name": "242",
+ "name": "243",
"members": [
{
"name": "option",
@@ -7907,12 +7930,12 @@
"meta-type": "object"
},
{
- "name": "[243]",
- "element-type": "243",
+ "name": "[244]",
+ "element-type": "244",
"meta-type": "array"
},
{
- "name": "243",
+ "name": "244",
"members": [
{
"name": "option",
@@ -7920,13 +7943,13 @@
},
{
"name": "parameters",
- "type": "[528]"
+ "type": "[530]"
}
],
"meta-type": "object"
},
{
- "name": "244",
+ "name": "245",
"members": [
{
"name": "offset",
@@ -7940,7 +7963,7 @@
"meta-type": "object"
},
{
- "name": "245",
+ "name": "246",
"members": [
{
"name": "vfu-id",
@@ -7962,7 +7985,7 @@
"meta-type": "object"
},
{
- "name": "252",
+ "name": "253",
"members": [
{
"name": "filename",
@@ -7972,49 +7995,49 @@
"meta-type": "object"
},
{
- "name": "[257]",
- "element-type": "257",
+ "name": "[258]",
+ "element-type": "258",
"meta-type": "array"
},
{
- "name": "257",
+ "name": "258",
"tag": "driver",
"variants": [
{
"case": "none",
- "type": "536"
+ "type": "538"
},
{
"case": "alsa",
- "type": "537"
+ "type": "539"
},
{
"case": "dbus",
- "type": "536"
+ "type": "538"
},
{
"case": "jack",
- "type": "540"
+ "type": "542"
},
{
"case": "oss",
- "type": "541"
+ "type": "543"
},
{
"case": "pa",
- "type": "542"
+ "type": "544"
},
{
"case": "pipewire",
- "type": "543"
+ "type": "545"
},
{
"case": "sdl",
- "type": "544"
+ "type": "546"
},
{
"case": "wav",
- "type": "546"
+ "type": "548"
}
],
"members": [
@@ -8024,7 +8047,7 @@
},
{
"name": "driver",
- "type": "535"
+ "type": "537"
},
{
"name": "timer-period",
@@ -8035,12 +8058,12 @@
"meta-type": "object"
},
{
- "name": "[258]",
- "element-type": "258",
+ "name": "[259]",
+ "element-type": "259",
"meta-type": "array"
},
{
- "name": "258",
+ "name": "259",
"members": [
{
"name": "device",
@@ -8053,7 +8076,7 @@
},
{
"name": "slot-type",
- "type": "547"
+ "type": "549"
},
{
"name": "source",
@@ -8067,22 +8090,22 @@
"meta-type": "object"
},
{
- "name": "259",
+ "name": "260",
"members": [
{
"name": "info",
- "type": "258"
+ "type": "259"
}
],
"meta-type": "object"
},
{
- "name": "[260]",
- "element-type": "260",
+ "name": "[261]",
+ "element-type": "261",
"meta-type": "array"
},
{
- "name": "260",
+ "name": "261",
"members": [
{
"name": "bus",
@@ -8090,18 +8113,18 @@
},
{
"name": "devices",
- "type": "[548]"
+ "type": "[550]"
}
],
"meta-type": "object"
},
{
- "name": "261",
+ "name": "262",
"tag": "target",
"variants": [
{
"case": "vcpu",
- "type": "551"
+ "type": "553"
},
{
"case": "vm",
@@ -8115,27 +8138,27 @@
"members": [
{
"name": "target",
- "type": "549"
+ "type": "551"
},
{
"name": "providers",
"default": null,
- "type": "[550]"
+ "type": "[552]"
}
],
"meta-type": "object"
},
{
- "name": "[262]",
- "element-type": "262",
+ "name": "[263]",
+ "element-type": "263",
"meta-type": "array"
},
{
- "name": "262",
+ "name": "263",
"members": [
{
"name": "provider",
- "type": "552"
+ "type": "554"
},
{
"name": "qom-path",
@@ -8144,52 +8167,52 @@
},
{
"name": "stats",
- "type": "[553]"
+ "type": "[555]"
}
],
"meta-type": "object"
},
{
- "name": "263",
+ "name": "264",
"members": [
{
"name": "provider",
"default": null,
- "type": "552"
+ "type": "554"
}
],
"meta-type": "object"
},
{
- "name": "[264]",
- "element-type": "264",
+ "name": "[265]",
+ "element-type": "265",
"meta-type": "array"
},
{
- "name": "264",
+ "name": "265",
"members": [
{
"name": "provider",
- "type": "552"
+ "type": "554"
},
{
"name": "target",
- "type": "549"
+ "type": "551"
},
{
"name": "stats",
- "type": "[554]"
+ "type": "[556]"
}
],
"meta-type": "object"
},
{
- "name": "[265]",
- "element-type": "265",
+ "name": "[266]",
+ "element-type": "266",
"meta-type": "array"
},
{
- "name": "265",
+ "name": "266",
"members": [
{
"name": "path",
@@ -8203,7 +8226,7 @@
"meta-type": "object"
},
{
- "name": "266",
+ "name": "267",
"members": [
{
"name": "path",
@@ -8213,7 +8236,7 @@
"meta-type": "object"
},
{
- "name": "267",
+ "name": "268",
"members": [
{
"name": "name",
@@ -8233,15 +8256,15 @@
},
{
"name": "guest-features",
- "type": "555"
+ "type": "557"
},
{
"name": "host-features",
- "type": "555"
+ "type": "557"
},
{
"name": "backend-features",
- "type": "555"
+ "type": "557"
},
{
"name": "num-vqs",
@@ -8249,7 +8272,7 @@
},
{
"name": "status",
- "type": "556"
+ "type": "558"
},
{
"name": "isr",
@@ -8298,13 +8321,13 @@
{
"name": "vhost-dev",
"default": null,
- "type": "557"
+ "type": "559"
}
],
"meta-type": "object"
},
{
- "name": "268",
+ "name": "269",
"members": [
{
"name": "path",
@@ -8318,7 +8341,7 @@
"meta-type": "object"
},
{
- "name": "269",
+ "name": "270",
"members": [
{
"name": "name",
@@ -8382,7 +8405,7 @@
"meta-type": "object"
},
{
- "name": "270",
+ "name": "271",
"members": [
{
"name": "path",
@@ -8396,7 +8419,7 @@
"meta-type": "object"
},
{
- "name": "271",
+ "name": "272",
"members": [
{
"name": "name",
@@ -8454,7 +8477,7 @@
"meta-type": "object"
},
{
- "name": "272",
+ "name": "273",
"members": [
{
"name": "path",
@@ -8473,7 +8496,7 @@
"meta-type": "object"
},
{
- "name": "273",
+ "name": "274",
"members": [
{
"name": "name",
@@ -8485,21 +8508,21 @@
},
{
"name": "descs",
- "type": "[558]"
+ "type": "[560]"
},
{
"name": "avail",
- "type": "559"
+ "type": "561"
},
{
"name": "used",
- "type": "560"
+ "type": "562"
}
],
"meta-type": "object"
},
{
- "name": "274",
+ "name": "275",
"members": [
{
"name": "device-id",
@@ -8511,18 +8534,18 @@
},
{
"name": "device-state",
- "type": "561"
+ "type": "563"
}
],
"meta-type": "object"
},
{
- "name": "[275]",
- "element-type": "275",
+ "name": "[276]",
+ "element-type": "276",
"meta-type": "array"
},
{
- "name": "275",
+ "name": "276",
"members": [
{
"name": "id",
@@ -8530,17 +8553,17 @@
},
{
"name": "service",
- "type": "[562]"
+ "type": "[564]"
},
{
"name": "client",
- "type": "[563]"
+ "type": "[565]"
}
],
"meta-type": "object"
},
{
- "name": "276",
+ "name": "277",
"members": [
{
"name": "path",
@@ -8548,7 +8571,7 @@
},
{
"name": "log",
- "type": "564"
+ "type": "566"
},
{
"name": "flags",
@@ -8594,7 +8617,7 @@
"meta-type": "object"
},
{
- "name": "277",
+ "name": "278",
"members": [
{
"name": "path",
@@ -8602,7 +8625,7 @@
},
{
"name": "log",
- "type": "564"
+ "type": "566"
},
{
"name": "flags",
@@ -8668,7 +8691,7 @@
"meta-type": "object"
},
{
- "name": "278",
+ "name": "279",
"members": [
{
"name": "path",
@@ -8676,7 +8699,7 @@
},
{
"name": "log",
- "type": "564"
+ "type": "566"
},
{
"name": "flags",
@@ -8722,7 +8745,7 @@
"meta-type": "object"
},
{
- "name": "279",
+ "name": "280",
"members": [
{
"name": "path",
@@ -8740,7 +8763,7 @@
"meta-type": "object"
},
{
- "name": "280",
+ "name": "281",
"members": [
{
"name": "path",
@@ -8748,13 +8771,13 @@
},
{
"name": "errors",
- "type": "[565]"
+ "type": "[567]"
}
],
"meta-type": "object"
},
{
- "name": "281",
+ "name": "282",
"members": [
{
"name": "path",
@@ -8762,13 +8785,13 @@
},
{
"name": "type",
- "type": "566"
+ "type": "568"
}
],
"meta-type": "object"
},
{
- "name": "282",
+ "name": "283",
"members": [
{
"name": "path",
@@ -8780,7 +8803,7 @@
},
{
"name": "selection-policy",
- "type": "567"
+ "type": "569"
},
{
"name": "region",
@@ -8793,13 +8816,13 @@
},
{
"name": "extents",
- "type": "[568]"
+ "type": "[570]"
}
],
"meta-type": "object"
},
{
- "name": "283",
+ "name": "284",
"members": [
{
"name": "path",
@@ -8811,7 +8834,7 @@
},
{
"name": "removal-policy",
- "type": "569"
+ "type": "571"
},
{
"name": "forced-removal",
@@ -8834,7 +8857,7 @@
},
{
"name": "extents",
- "type": "[568]"
+ "type": "[570]"
}
],
"meta-type": "object"
@@ -8845,7 +8868,7 @@
"meta-type": "builtin"
},
{
- "name": "284",
+ "name": "285",
"members": [
{
"name": "debug"
@@ -8917,7 +8940,7 @@
]
},
{
- "name": "285",
+ "name": "286",
"members": [
{
"name": "none"
@@ -8969,7 +8992,7 @@
]
},
{
- "name": "286",
+ "name": "287",
"members": [
{
"name": "reset"
@@ -9005,7 +9028,7 @@
]
},
{
- "name": "287",
+ "name": "288",
"members": [
{
"name": "reset"
@@ -9021,7 +9044,7 @@
]
},
{
- "name": "288",
+ "name": "289",
"members": [
{
"name": "poweroff"
@@ -9037,7 +9060,7 @@
]
},
{
- "name": "289",
+ "name": "290",
"members": [
{
"name": "pause"
@@ -9061,7 +9084,7 @@
]
},
{
- "name": "290",
+ "name": "291",
"members": [
{
"name": "pause"
@@ -9081,28 +9104,28 @@
]
},
{
- "name": "291",
+ "name": "292",
"tag": "type",
"variants": [
{
"case": "hyper-v",
- "type": "571"
+ "type": "573"
},
{
"case": "s390",
- "type": "572"
+ "type": "574"
}
],
"members": [
{
"name": "type",
- "type": "570"
+ "type": "572"
}
],
"meta-type": "object"
},
{
- "name": "292",
+ "name": "293",
"members": [
{
"name": "hypervisor"
@@ -9118,7 +9141,7 @@
]
},
{
- "name": "293",
+ "name": "294",
"members": [
{
"name": "ignore"
@@ -9142,7 +9165,7 @@
]
},
{
- "name": "294",
+ "name": "295",
"members": [
{
"name": "action-required",
@@ -9156,7 +9179,7 @@
"meta-type": "object"
},
{
- "name": "295",
+ "name": "296",
"members": [
{
"name": "undefined"
@@ -9208,7 +9231,7 @@
]
},
{
- "name": "296",
+ "name": "297",
"members": [
{
"name": "commit"
@@ -9257,7 +9280,7 @@
"meta-type": "builtin"
},
{
- "name": "297",
+ "name": "298",
"members": [
{
"name": "retain"
@@ -9282,7 +9305,7 @@
"meta-type": "array"
},
{
- "name": "298",
+ "name": "299",
"members": [
{
"name": "ok"
@@ -9302,7 +9325,7 @@
]
},
{
- "name": "299",
+ "name": "300",
"members": [
{
"name": "rd_bytes",
@@ -9435,46 +9458,46 @@
},
{
"name": "timed_stats",
- "type": "[573]"
+ "type": "[575]"
},
{
"name": "rd_latency_histogram",
"default": null,
- "type": "574"
+ "type": "576"
},
{
"name": "wr_latency_histogram",
"default": null,
- "type": "574"
+ "type": "576"
},
{
"name": "zone_append_latency_histogram",
"default": null,
- "type": "574"
+ "type": "576"
},
{
"name": "flush_latency_histogram",
"default": null,
- "type": "574"
+ "type": "576"
}
],
"meta-type": "object"
},
{
- "name": "300",
+ "name": "301",
"tag": "driver",
"variants": [
{
"case": "file",
- "type": "575"
+ "type": "577"
},
{
"case": "host_device",
- "type": "575"
+ "type": "577"
},
{
"case": "nvme",
- "type": "576"
+ "type": "578"
},
{
"case": "blkdebug",
@@ -9656,13 +9679,13 @@
"members": [
{
"name": "driver",
- "type": "316"
+ "type": "317"
}
],
"meta-type": "object"
},
{
- "name": "301",
+ "name": "302",
"members": [
{
"name": "actively-synced",
@@ -9672,7 +9695,7 @@
"meta-type": "object"
},
{
- "name": "302",
+ "name": "303",
"members": [
{
"name": "existing"
@@ -9688,7 +9711,7 @@
]
},
{
- "name": "303",
+ "name": "304",
"members": [
{
"name": "report"
@@ -9716,7 +9739,7 @@
]
},
{
- "name": "304",
+ "name": "305",
"members": [
{
"name": "top"
@@ -9744,7 +9767,7 @@
]
},
{
- "name": "305",
+ "name": "306",
"members": [
{
"name": "on-success"
@@ -9764,7 +9787,7 @@
]
},
{
- "name": "306",
+ "name": "307",
"members": [
{
"name": "use-copy-range",
@@ -9790,7 +9813,7 @@
"meta-type": "object"
},
{
- "name": "307",
+ "name": "308",
"members": [
{
"name": "off"
@@ -9810,7 +9833,7 @@
]
},
{
- "name": "308",
+ "name": "309",
"members": [
{
"name": "filename",
@@ -9872,18 +9895,18 @@
{
"name": "format-specific",
"default": null,
- "type": "577"
+ "type": "579"
},
{
"name": "backing-image",
"default": null,
- "type": "308"
+ "type": "309"
}
],
"meta-type": "object"
},
{
- "name": "309",
+ "name": "310",
"members": [
{
"name": "writeback",
@@ -9901,12 +9924,12 @@
"meta-type": "object"
},
{
- "name": "[310]",
- "element-type": "310",
+ "name": "[311]",
+ "element-type": "311",
"meta-type": "array"
},
{
- "name": "310",
+ "name": "311",
"members": [
{
"name": "name",
@@ -9942,12 +9965,12 @@
"meta-type": "object"
},
{
- "name": "[311]",
- "element-type": "311",
+ "name": "[312]",
+ "element-type": "312",
"meta-type": "array"
},
{
- "name": "311",
+ "name": "312",
"members": [
{
"name": "id",
@@ -9955,7 +9978,7 @@
},
{
"name": "type",
- "type": "578"
+ "type": "580"
},
{
"name": "name",
@@ -9965,12 +9988,12 @@
"meta-type": "object"
},
{
- "name": "[312]",
- "element-type": "312",
+ "name": "[313]",
+ "element-type": "313",
"meta-type": "array"
},
{
- "name": "312",
+ "name": "313",
"members": [
{
"name": "parent",
@@ -9986,17 +10009,17 @@
},
{
"name": "perm",
- "type": "[579]"
+ "type": "[581]"
},
{
"name": "shared-perm",
- "type": "[579]"
+ "type": "[581]"
}
],
"meta-type": "object"
},
{
- "name": "313",
+ "name": "314",
"members": [
{
"name": "background"
@@ -10012,12 +10035,12 @@
]
},
{
- "name": "[314]",
- "element-type": "314",
+ "name": "[315]",
+ "element-type": "315",
"meta-type": "array"
},
{
- "name": "314",
+ "name": "315",
"members": [
{
"type": "str"
@@ -10029,17 +10052,17 @@
"meta-type": "alternate"
},
{
- "name": "315",
+ "name": "316",
"members": [
{
"name": "copy-mode",
- "type": "313"
+ "type": "314"
}
],
"meta-type": "object"
},
{
- "name": "316",
+ "name": "317",
"members": [
{
"name": "blkdebug"
@@ -10238,7 +10261,7 @@
]
},
{
- "name": "317",
+ "name": "318",
"members": [
{
"name": "ignore"
@@ -10254,7 +10277,7 @@
]
},
{
- "name": "318",
+ "name": "319",
"members": [
{
"name": "direct",
@@ -10270,11 +10293,11 @@
"meta-type": "object"
},
{
- "name": "319",
+ "name": "320",
"members": [
{
"name": "image",
- "type": "580"
+ "type": "582"
},
{
"name": "config",
@@ -10314,36 +10337,36 @@
{
"name": "inject-error",
"default": null,
- "type": "[581]"
+ "type": "[583]"
},
{
"name": "set-state",
"default": null,
- "type": "[582]"
+ "type": "[584]"
},
{
"name": "take-child-perms",
"default": null,
- "type": "[579]"
+ "type": "[581]"
},
{
"name": "unshare-child-perms",
"default": null,
- "type": "[579]"
+ "type": "[581]"
}
],
"meta-type": "object"
},
{
- "name": "320",
+ "name": "321",
"members": [
{
"name": "file",
- "type": "580"
+ "type": "582"
},
{
"name": "log",
- "type": "580"
+ "type": "582"
},
{
"name": "log-sector-size",
@@ -10364,49 +10387,49 @@
"meta-type": "object"
},
{
- "name": "321",
+ "name": "322",
"members": [
{
"name": "test",
- "type": "580"
+ "type": "582"
},
{
"name": "raw",
- "type": "580"
+ "type": "582"
}
],
"meta-type": "object"
},
{
- "name": "322",
+ "name": "323",
"members": [
{
"name": "image",
- "type": "580"
+ "type": "582"
}
],
"meta-type": "object"
},
{
- "name": "323",
+ "name": "324",
"members": [
{
"name": "file",
- "type": "580"
+ "type": "582"
}
],
"meta-type": "object"
},
{
- "name": "324",
+ "name": "325",
"members": [
{
"name": "file",
- "type": "580"
+ "type": "582"
},
{
"name": "target",
- "type": "580"
+ "type": "582"
},
{
"name": "bitmap",
@@ -10416,7 +10439,7 @@
{
"name": "on-cbw-error",
"default": null,
- "type": "583"
+ "type": "585"
},
{
"name": "cbw-timeout",
@@ -10432,11 +10455,11 @@
"meta-type": "object"
},
{
- "name": "325",
+ "name": "326",
"members": [
{
"name": "file",
- "type": "580"
+ "type": "582"
},
{
"name": "bottom",
@@ -10447,7 +10470,7 @@
"meta-type": "object"
},
{
- "name": "326",
+ "name": "327",
"members": [
{
"name": "filename",
@@ -10461,12 +10484,12 @@
{
"name": "locking",
"default": null,
- "type": "584"
+ "type": "586"
},
{
"name": "aio",
"default": null,
- "type": "585"
+ "type": "587"
},
{
"name": "aio-max-batch",
@@ -10493,7 +10516,7 @@
]
},
{
- "name": "327",
+ "name": "328",
"members": [
{
"name": "url",
@@ -10533,7 +10556,7 @@
"meta-type": "object"
},
{
- "name": "328",
+ "name": "329",
"members": [
{
"name": "url",
@@ -10578,7 +10601,7 @@
"meta-type": "object"
},
{
- "name": "329",
+ "name": "330",
"members": [
{
"name": "volume",
@@ -10590,7 +10613,7 @@
},
{
"name": "server",
- "type": "[390]"
+ "type": "[391]"
},
{
"name": "debug",
@@ -10606,7 +10629,7 @@
"meta-type": "object"
},
{
- "name": "330",
+ "name": "331",
"members": [
{
"name": "url",
@@ -10656,7 +10679,7 @@
"meta-type": "object"
},
{
- "name": "331",
+ "name": "332",
"members": [
{
"name": "url",
@@ -10711,7 +10734,7 @@
"meta-type": "object"
},
{
- "name": "332",
+ "name": "333",
"members": [
{
"name": "filename",
@@ -10721,11 +10744,11 @@
"meta-type": "object"
},
{
- "name": "333",
+ "name": "334",
"members": [
{
"name": "transport",
- "type": "586"
+ "type": "588"
},
{
"name": "portal",
@@ -10758,7 +10781,7 @@
{
"name": "header-digest",
"default": null,
- "type": "587"
+ "type": "589"
},
{
"name": "timeout",
@@ -10769,11 +10792,11 @@
"meta-type": "object"
},
{
- "name": "334",
+ "name": "335",
"members": [
{
"name": "file",
- "type": "580"
+ "type": "582"
},
{
"name": "key-secret",
@@ -10783,17 +10806,17 @@
{
"name": "header",
"default": null,
- "type": "580"
+ "type": "582"
}
],
"meta-type": "object"
},
{
- "name": "335",
+ "name": "336",
"members": [
{
"name": "server",
- "type": "390"
+ "type": "391"
},
{
"name": "export",
@@ -10832,11 +10855,11 @@
"meta-type": "object"
},
{
- "name": "336",
+ "name": "337",
"members": [
{
"name": "server",
- "type": "588"
+ "type": "590"
},
{
"name": "path",
@@ -10876,7 +10899,7 @@
"meta-type": "object"
},
{
- "name": "337",
+ "name": "338",
"members": [
{
"name": "size",
@@ -10897,7 +10920,7 @@
"meta-type": "object"
},
{
- "name": "338",
+ "name": "339",
"members": [
{
"name": "device",
@@ -10911,7 +10934,7 @@
"meta-type": "object"
},
{
- "name": "339",
+ "name": "340",
"members": [
{
"name": "path",
@@ -10921,11 +10944,11 @@
"meta-type": "object"
},
{
- "name": "340",
+ "name": "341",
"members": [
{
"name": "file",
- "type": "580"
+ "type": "582"
},
{
"name": "prealloc-align",
@@ -10941,16 +10964,16 @@
"meta-type": "object"
},
{
- "name": "341",
+ "name": "342",
"members": [
{
"name": "file",
- "type": "580"
+ "type": "582"
},
{
"name": "backing",
"default": null,
- "type": "589"
+ "type": "591"
},
{
"name": "lazy-refcounts",
@@ -10980,7 +11003,7 @@
{
"name": "overlap-check",
"default": null,
- "type": "590"
+ "type": "592"
},
{
"name": "cache-size",
@@ -11010,53 +11033,53 @@
{
"name": "encrypt",
"default": null,
- "type": "591"
+ "type": "593"
},
{
"name": "data-file",
"default": null,
- "type": "580"
+ "type": "582"
}
],
"meta-type": "object"
},
{
- "name": "342",
+ "name": "343",
"members": [
{
"name": "file",
- "type": "580"
+ "type": "582"
},
{
"name": "backing",
"default": null,
- "type": "589"
+ "type": "591"
},
{
"name": "encrypt",
"default": null,
- "type": "592"
+ "type": "594"
}
],
"meta-type": "object"
},
{
- "name": "343",
+ "name": "344",
"members": [
{
"name": "file",
- "type": "580"
+ "type": "582"
},
{
"name": "backing",
"default": null,
- "type": "589"
+ "type": "591"
}
],
"meta-type": "object"
},
{
- "name": "344",
+ "name": "345",
"members": [
{
"name": "blkverify",
@@ -11065,7 +11088,7 @@
},
{
"name": "children",
- "type": "[580]"
+ "type": "[582]"
},
{
"name": "vote-threshold",
@@ -11079,17 +11102,17 @@
{
"name": "read-pattern",
"default": null,
- "type": "593"
+ "type": "595"
}
],
"meta-type": "object"
},
{
- "name": "345",
+ "name": "346",
"members": [
{
"name": "file",
- "type": "580"
+ "type": "582"
},
{
"name": "offset",
@@ -11105,7 +11128,7 @@
"meta-type": "object"
},
{
- "name": "346",
+ "name": "347",
"members": [
{
"name": "pool",
@@ -11133,7 +11156,7 @@
{
"name": "encrypt",
"default": null,
- "type": "594"
+ "type": "596"
},
{
"name": "user",
@@ -11143,7 +11166,7 @@
{
"name": "auth-client-required",
"default": null,
- "type": "[595]"
+ "type": "[597]"
},
{
"name": "key-secret",
@@ -11153,21 +11176,21 @@
{
"name": "server",
"default": null,
- "type": "[596]"
+ "type": "[598]"
}
],
"meta-type": "object"
},
{
- "name": "347",
+ "name": "348",
"members": [
{
"name": "file",
- "type": "580"
+ "type": "582"
},
{
"name": "mode",
- "type": "597"
+ "type": "599"
},
{
"name": "top-id",
@@ -11178,11 +11201,11 @@
"meta-type": "object"
},
{
- "name": "348",
+ "name": "349",
"members": [
{
"name": "server",
- "type": "598"
+ "type": "600"
},
{
"name": "path",
@@ -11196,13 +11219,13 @@
{
"name": "host-key-check",
"default": null,
- "type": "599"
+ "type": "601"
}
],
"meta-type": "object"
},
{
- "name": "349",
+ "name": "350",
"members": [
{
"name": "throttle-group",
@@ -11210,13 +11233,13 @@
},
{
"name": "file",
- "type": "580"
+ "type": "582"
}
],
"meta-type": "object"
},
{
- "name": "350",
+ "name": "351",
"members": [
{
"name": "path",
@@ -11226,7 +11249,7 @@
"meta-type": "object"
},
{
- "name": "351",
+ "name": "352",
"members": [
{
"name": "path",
@@ -11236,7 +11259,7 @@
"meta-type": "object"
},
{
- "name": "352",
+ "name": "353",
"members": [
{
"name": "path",
@@ -11249,7 +11272,7 @@
]
},
{
- "name": "353",
+ "name": "354",
"members": [
{
"name": "dir",
@@ -11284,64 +11307,64 @@
"meta-type": "array"
},
{
- "name": "354",
+ "name": "355",
"tag": "driver",
"variants": [
{
"case": "file",
- "type": "600"
+ "type": "602"
},
{
"case": "gluster",
- "type": "601"
+ "type": "603"
},
{
"case": "luks",
- "type": "602"
+ "type": "604"
},
{
"case": "nfs",
- "type": "603"
+ "type": "605"
},
{
"case": "parallels",
- "type": "604"
+ "type": "606"
},
{
"case": "qcow",
- "type": "605"
+ "type": "607"
},
{
"case": "qcow2",
- "type": "606"
+ "type": "608"
},
{
"case": "qed",
- "type": "607"
+ "type": "609"
},
{
"case": "rbd",
- "type": "608"
+ "type": "610"
},
{
"case": "ssh",
- "type": "609"
+ "type": "611"
},
{
"case": "vdi",
- "type": "610"
+ "type": "612"
},
{
"case": "vhdx",
- "type": "611"
+ "type": "613"
},
{
"case": "vmdk",
- "type": "612"
+ "type": "614"
},
{
"case": "vpc",
- "type": "613"
+ "type": "615"
},
{
"case": "blkdebug",
@@ -11479,22 +11502,22 @@
"members": [
{
"name": "driver",
- "type": "316"
+ "type": "317"
}
],
"meta-type": "object"
},
{
- "name": "355",
+ "name": "356",
"tag": "driver",
"variants": [
{
"case": "luks",
- "type": "614"
+ "type": "616"
},
{
"case": "qcow2",
- "type": "615"
+ "type": "617"
},
{
"case": "blkdebug",
@@ -11680,13 +11703,13 @@
"members": [
{
"name": "driver",
- "type": "316"
+ "type": "317"
}
],
"meta-type": "object"
},
{
- "name": "356",
+ "name": "357",
"members": [
{
"name": "read"
@@ -11702,7 +11725,7 @@
]
},
{
- "name": "357",
+ "name": "358",
"members": [
{
"name": "ignore"
@@ -11722,7 +11745,7 @@
]
},
{
- "name": "358",
+ "name": "359",
"members": [
{
"type": "str"
@@ -11734,7 +11757,7 @@
"meta-type": "alternate"
},
{
- "name": "359",
+ "name": "360",
"members": [
{
"name": "read"
@@ -11754,36 +11777,36 @@
]
},
{
- "name": "360",
+ "name": "361",
"tag": "type",
"variants": [
{
"case": "inet",
- "type": "617"
+ "type": "619"
},
{
"case": "unix",
- "type": "618"
+ "type": "620"
},
{
"case": "vsock",
- "type": "619"
+ "type": "621"
},
{
"case": "fd",
- "type": "620"
+ "type": "622"
}
],
"members": [
{
"name": "type",
- "type": "616"
+ "type": "618"
}
],
"meta-type": "object"
},
{
- "name": "361",
+ "name": "362",
"members": [
{
"name": "safe"
@@ -11799,7 +11822,7 @@
]
},
{
- "name": "362",
+ "name": "363",
"members": [
{
"name": "nbd"
@@ -11823,7 +11846,7 @@
]
},
{
- "name": "363",
+ "name": "364",
"members": [
{
"name": "name",
@@ -11838,7 +11861,7 @@
{
"name": "bitmaps",
"default": null,
- "type": "[314]"
+ "type": "[315]"
},
{
"name": "allocation-depth",
@@ -11849,11 +11872,11 @@
"meta-type": "object"
},
{
- "name": "364",
+ "name": "365",
"members": [
{
"name": "addr",
- "type": "390"
+ "type": "391"
},
{
"name": "logical-block-size",
@@ -11869,7 +11892,7 @@
"meta-type": "object"
},
{
- "name": "365",
+ "name": "366",
"members": [
{
"name": "mountpoint",
@@ -11883,13 +11906,13 @@
{
"name": "allow-other",
"default": null,
- "type": "621"
+ "type": "623"
}
],
"meta-type": "object"
},
{
- "name": "366",
+ "name": "367",
"members": [
{
"name": "name",
@@ -11919,7 +11942,7 @@
"meta-type": "object"
},
{
- "name": "367",
+ "name": "368",
"members": [
{
"name": "utf8"
@@ -11935,92 +11958,92 @@
]
},
{
- "name": "368",
+ "name": "369",
"tag": "type",
"variants": [
{
"case": "file",
- "type": "623"
+ "type": "625"
},
{
"case": "serial",
- "type": "624"
+ "type": "626"
},
{
"case": "parallel",
- "type": "624"
+ "type": "626"
},
{
"case": "pipe",
- "type": "624"
+ "type": "626"
},
{
"case": "socket",
- "type": "625"
+ "type": "627"
},
{
"case": "udp",
- "type": "626"
+ "type": "628"
},
{
"case": "pty",
- "type": "627"
+ "type": "629"
},
{
"case": "null",
- "type": "628"
+ "type": "630"
},
{
"case": "mux",
- "type": "629"
+ "type": "631"
},
{
"case": "msmouse",
- "type": "628"
+ "type": "630"
},
{
"case": "wctablet",
- "type": "628"
+ "type": "630"
},
{
"case": "braille",
- "type": "628"
+ "type": "630"
},
{
"case": "testdev",
- "type": "628"
+ "type": "630"
},
{
"case": "stdio",
- "type": "630"
+ "type": "632"
},
{
"case": "dbus",
- "type": "634"
+ "type": "636"
},
{
"case": "vc",
- "type": "635"
+ "type": "637"
},
{
"case": "ringbuf",
- "type": "636"
+ "type": "638"
},
{
"case": "memory",
- "type": "636"
+ "type": "638"
}
],
"members": [
{
"name": "type",
- "type": "622"
+ "type": "624"
}
],
"meta-type": "object"
},
{
- "name": "369",
+ "name": "370",
"members": [
{
"name": "elf"
@@ -12060,7 +12083,7 @@
]
},
{
- "name": "370",
+ "name": "371",
"members": [
{
"name": "none"
@@ -12084,12 +12107,12 @@
]
},
{
- "name": "[369]",
- "element-type": "369",
+ "name": "[370]",
+ "element-type": "370",
"meta-type": "array"
},
{
- "name": "371",
+ "name": "372",
"members": [
{
"name": "none"
@@ -12157,7 +12180,7 @@
]
},
{
- "name": "372",
+ "name": "373",
"members": [
{
"name": "netdev",
@@ -12188,7 +12211,7 @@
"meta-type": "object"
},
{
- "name": "373",
+ "name": "374",
"members": [
{
"name": "hostname",
@@ -12248,7 +12271,7 @@
{
"name": "dnssearch",
"default": null,
- "type": "[637]"
+ "type": "[639]"
},
{
"name": "domainname",
@@ -12288,12 +12311,12 @@
{
"name": "hostfwd",
"default": null,
- "type": "[637]"
+ "type": "[639]"
},
{
"name": "guestfwd",
"default": null,
- "type": "[637]"
+ "type": "[639]"
},
{
"name": "tftp-server-name",
@@ -12304,7 +12327,7 @@
"meta-type": "object"
},
{
- "name": "374",
+ "name": "375",
"members": [
{
"name": "ifname",
@@ -12385,7 +12408,7 @@
"meta-type": "object"
},
{
- "name": "375",
+ "name": "376",
"members": [
{
"name": "src",
@@ -12458,7 +12481,7 @@
"meta-type": "object"
},
{
- "name": "376",
+ "name": "377",
"members": [
{
"name": "fd",
@@ -12494,11 +12517,11 @@
"meta-type": "object"
},
{
- "name": "377",
+ "name": "378",
"members": [
{
"name": "addr",
- "type": "390"
+ "type": "391"
},
{
"name": "server",
@@ -12522,23 +12545,23 @@
"meta-type": "object"
},
{
- "name": "378",
+ "name": "379",
"members": [
{
"name": "local",
"default": null,
- "type": "390"
+ "type": "391"
},
{
"name": "remote",
"default": null,
- "type": "390"
+ "type": "391"
}
],
"meta-type": "object"
},
{
- "name": "379",
+ "name": "380",
"members": [
{
"name": "sock",
@@ -12564,7 +12587,7 @@
"meta-type": "object"
},
{
- "name": "380",
+ "name": "381",
"members": [
{
"name": "br",
@@ -12580,7 +12603,7 @@
"meta-type": "object"
},
{
- "name": "381",
+ "name": "382",
"members": [
{
"name": "hubid",
@@ -12595,7 +12618,7 @@
"meta-type": "object"
},
{
- "name": "382",
+ "name": "383",
"members": [
{
"name": "ifname",
@@ -12610,7 +12633,7 @@
"meta-type": "object"
},
{
- "name": "383",
+ "name": "384",
"members": [
{
"name": "ifname",
@@ -12619,7 +12642,7 @@
{
"name": "mode",
"default": null,
- "type": "638"
+ "type": "640"
},
{
"name": "force-copy",
@@ -12650,7 +12673,7 @@
"meta-type": "object"
},
{
- "name": "384",
+ "name": "385",
"members": [
{
"name": "chardev",
@@ -12670,7 +12693,7 @@
"meta-type": "object"
},
{
- "name": "385",
+ "name": "386",
"members": [
{
"name": "vhostdev",
@@ -12699,7 +12722,7 @@
"meta-type": "object"
},
{
- "name": "389",
+ "name": "390",
"members": [
{
"name": "normal"
@@ -12724,36 +12747,36 @@
"meta-type": "array"
},
{
- "name": "390",
+ "name": "391",
"tag": "type",
"variants": [
{
"case": "inet",
- "type": "598"
+ "type": "600"
},
{
"case": "unix",
- "type": "639"
+ "type": "641"
},
{
"case": "vsock",
- "type": "640"
+ "type": "642"
},
{
"case": "fd",
- "type": "641"
+ "type": "643"
}
],
"members": [
{
"name": "type",
- "type": "616"
+ "type": "618"
}
],
"meta-type": "object"
},
{
- "name": "391",
+ "name": "392",
"members": [
{
"name": "rss"
@@ -12765,7 +12788,7 @@
]
},
{
- "name": "392",
+ "name": "393",
"members": [
{
"name": "half"
@@ -12781,7 +12804,7 @@
]
},
{
- "name": "393",
+ "name": "394",
"members": [
{
"name": "off"
@@ -12797,7 +12820,7 @@
]
},
{
- "name": "394",
+ "name": "395",
"members": [
{
"name": "priority",
@@ -12856,7 +12879,7 @@
"meta-type": "object"
},
{
- "name": "395",
+ "name": "396",
"members": [
{
"name": "in-pport",
@@ -12897,7 +12920,7 @@
"meta-type": "object"
},
{
- "name": "396",
+ "name": "397",
"members": [
{
"name": "goto-tbl",
@@ -12933,16 +12956,16 @@
"meta-type": "object"
},
{
- "name": "397",
+ "name": "398",
"tag": "type",
"variants": [
{
"case": "passthrough",
- "type": "642"
+ "type": "644"
},
{
"case": "emulator",
- "type": "643"
+ "type": "645"
}
],
"members": [
@@ -12954,7 +12977,7 @@
"meta-type": "object"
},
{
- "name": "398",
+ "name": "399",
"members": [
{
"name": "vnc"
@@ -12970,7 +12993,7 @@
]
},
{
- "name": "399",
+ "name": "400",
"members": [
{
"name": "keep"
@@ -12990,7 +13013,7 @@
]
},
{
- "name": "400",
+ "name": "401",
"members": [
{
"name": "display",
@@ -13001,7 +13024,7 @@
"meta-type": "object"
},
{
- "name": "401",
+ "name": "402",
"members": [
{
"name": "display",
@@ -13012,7 +13035,7 @@
"meta-type": "object"
},
{
- "name": "402",
+ "name": "403",
"members": [
{
"name": "ppm"
@@ -13028,7 +13051,7 @@
]
},
{
- "name": "407",
+ "name": "408",
"members": [
{
"name": "ipv4"
@@ -13056,12 +13079,12 @@
]
},
{
- "name": "[408]",
- "element-type": "408",
+ "name": "[409]",
+ "element-type": "409",
"meta-type": "array"
},
{
- "name": "408",
+ "name": "409",
"members": [
{
"name": "host",
@@ -13073,7 +13096,7 @@
},
{
"name": "family",
- "type": "407"
+ "type": "408"
},
{
"name": "websocket",
@@ -13093,12 +13116,12 @@
"meta-type": "object"
},
{
- "name": "[409]",
- "element-type": "409",
+ "name": "[410]",
+ "element-type": "410",
"meta-type": "array"
},
{
- "name": "409",
+ "name": "410",
"members": [
{
"name": "host",
@@ -13110,7 +13133,7 @@
},
{
"name": "family",
- "type": "407"
+ "type": "408"
},
{
"name": "websocket",
@@ -13118,18 +13141,18 @@
},
{
"name": "auth",
- "type": "410"
+ "type": "411"
},
{
"name": "vencrypt",
"default": null,
- "type": "411"
+ "type": "412"
}
],
"meta-type": "object"
},
{
- "name": "410",
+ "name": "411",
"members": [
{
"name": "none"
@@ -13173,7 +13196,7 @@
]
},
{
- "name": "411",
+ "name": "412",
"members": [
{
"name": "plain"
@@ -13217,7 +13240,7 @@
]
},
{
- "name": "412",
+ "name": "413",
"members": [
{
"name": "host",
@@ -13229,7 +13252,7 @@
},
{
"name": "family",
- "type": "407"
+ "type": "408"
},
{
"name": "websocket",
@@ -13244,7 +13267,7 @@
"meta-type": "object"
},
{
- "name": "413",
+ "name": "414",
"members": [
{
"name": "host",
@@ -13256,7 +13279,7 @@
},
{
"name": "family",
- "type": "407"
+ "type": "408"
},
{
"name": "websocket",
@@ -13266,71 +13289,71 @@
"meta-type": "object"
},
{
- "name": "[414]",
- "element-type": "414",
+ "name": "[415]",
+ "element-type": "415",
"meta-type": "array"
},
{
- "name": "414",
+ "name": "415",
"tag": "type",
"variants": [
{
"case": "number",
- "type": "645"
+ "type": "647"
},
{
"case": "qcode",
- "type": "646"
+ "type": "648"
}
],
"members": [
{
"name": "type",
- "type": "644"
+ "type": "646"
}
],
"meta-type": "object"
},
{
- "name": "[415]",
- "element-type": "415",
+ "name": "[416]",
+ "element-type": "416",
"meta-type": "array"
},
{
- "name": "415",
+ "name": "416",
"tag": "type",
"variants": [
{
"case": "key",
- "type": "648"
+ "type": "650"
},
{
"case": "btn",
- "type": "649"
+ "type": "651"
},
{
"case": "rel",
- "type": "650"
+ "type": "652"
},
{
"case": "abs",
- "type": "650"
+ "type": "652"
},
{
"case": "mtt",
- "type": "651"
+ "type": "653"
}
],
"members": [
{
"name": "type",
- "type": "647"
+ "type": "649"
}
],
"meta-type": "object"
},
{
- "name": "416",
+ "name": "417",
"members": [
{
"name": "default"
@@ -13366,7 +13389,7 @@
]
},
{
- "name": "417",
+ "name": "418",
"members": [
{
"name": "off"
@@ -13390,7 +13413,7 @@
]
},
{
- "name": "418",
+ "name": "419",
"members": [
{
"name": "grab-on-hover",
@@ -13416,7 +13439,7 @@
"meta-type": "object"
},
{
- "name": "419",
+ "name": "420",
"members": [
{
"name": "left-command-key",
@@ -13447,7 +13470,7 @@
"meta-type": "object"
},
{
- "name": "420",
+ "name": "421",
"members": [
{
"name": "charset",
@@ -13458,7 +13481,7 @@
"meta-type": "object"
},
{
- "name": "421",
+ "name": "422",
"members": [
{
"name": "rendernode",
@@ -13469,7 +13492,7 @@
"meta-type": "object"
},
{
- "name": "422",
+ "name": "423",
"members": [
{
"name": "rendernode",
@@ -13495,18 +13518,18 @@
"meta-type": "object"
},
{
- "name": "423",
+ "name": "424",
"members": [
{
"name": "grab-mod",
"default": null,
- "type": "652"
+ "type": "654"
}
],
"meta-type": "object"
},
{
- "name": "424",
+ "name": "425",
"members": [
{
"name": "vnc"
@@ -13518,7 +13541,7 @@
]
},
{
- "name": "425",
+ "name": "426",
"members": [
{
"name": "tls-certs",
@@ -13529,7 +13552,7 @@
"meta-type": "object"
},
{
- "name": "426",
+ "name": "427",
"members": [
{
"name": "vnc"
@@ -13541,18 +13564,18 @@
]
},
{
- "name": "427",
+ "name": "428",
"members": [
{
"name": "addresses",
"default": null,
- "type": "[390]"
+ "type": "[391]"
}
],
"meta-type": "object"
},
{
- "name": "428",
+ "name": "429",
"members": [
{
"name": "none"
@@ -13620,7 +13643,7 @@
]
},
{
- "name": "429",
+ "name": "430",
"members": [
{
"name": "transferred",
@@ -13694,7 +13717,7 @@
"meta-type": "object"
},
{
- "name": "430",
+ "name": "431",
"members": [
{
"name": "transferred",
@@ -13704,7 +13727,7 @@
"meta-type": "object"
},
{
- "name": "431",
+ "name": "432",
"members": [
{
"name": "cache-size",
@@ -13738,12 +13761,12 @@
"meta-type": "object"
},
{
- "name": "[390]",
- "element-type": "390",
+ "name": "[391]",
+ "element-type": "391",
"meta-type": "array"
},
{
- "name": "432",
+ "name": "433",
"members": [
{
"name": "xbzrle"
@@ -13848,7 +13871,7 @@
]
},
{
- "name": "433",
+ "name": "434",
"members": [
{
"name": "none"
@@ -13868,12 +13891,12 @@
]
},
{
- "name": "[434]",
- "element-type": "434",
+ "name": "[435]",
+ "element-type": "435",
"meta-type": "array"
},
{
- "name": "434",
+ "name": "435",
"members": [
{
"name": "node-name",
@@ -13885,13 +13908,13 @@
},
{
"name": "bitmaps",
- "type": "[653]"
+ "type": "[655]"
}
],
"meta-type": "object"
},
{
- "name": "435",
+ "name": "436",
"members": [
{
"name": "normal"
@@ -13907,7 +13930,7 @@
]
},
{
- "name": "436",
+ "name": "437",
"members": [
{
"name": "none"
@@ -13927,7 +13950,7 @@
]
},
{
- "name": "437",
+ "name": "438",
"members": [
{
"name": "none"
@@ -13947,7 +13970,7 @@
]
},
{
- "name": "438",
+ "name": "439",
"members": [
{
"name": "none"
@@ -13971,26 +13994,26 @@
]
},
{
- "name": "[439]",
- "element-type": "439",
+ "name": "[440]",
+ "element-type": "440",
"meta-type": "array"
},
{
- "name": "439",
+ "name": "440",
"members": [
{
"name": "channel-type",
- "type": "654"
+ "type": "656"
},
{
"name": "addr",
- "type": "655"
+ "type": "657"
}
],
"meta-type": "object"
},
{
- "name": "440",
+ "name": "441",
"members": [
{
"name": "second"
@@ -14006,7 +14029,7 @@
]
},
{
- "name": "441",
+ "name": "442",
"members": [
{
"name": "page-sampling"
@@ -14026,7 +14049,7 @@
]
},
{
- "name": "442",
+ "name": "443",
"members": [
{
"name": "unstarted"
@@ -14046,12 +14069,12 @@
]
},
{
- "name": "[443]",
- "element-type": "443",
+ "name": "[444]",
+ "element-type": "444",
"meta-type": "array"
},
{
- "name": "443",
+ "name": "444",
"members": [
{
"name": "id",
@@ -14065,84 +14088,84 @@
"meta-type": "object"
},
{
- "name": "[444]",
- "element-type": "444",
+ "name": "[445]",
+ "element-type": "445",
"meta-type": "array"
},
{
- "name": "444",
+ "name": "445",
"tag": "type",
"variants": [
{
"case": "abort",
- "type": "657"
+ "type": "659"
},
{
"case": "block-dirty-bitmap-add",
- "type": "658"
+ "type": "660"
},
{
"case": "block-dirty-bitmap-remove",
- "type": "659"
+ "type": "661"
},
{
"case": "block-dirty-bitmap-clear",
- "type": "659"
+ "type": "661"
},
{
"case": "block-dirty-bitmap-enable",
- "type": "659"
+ "type": "661"
},
{
"case": "block-dirty-bitmap-disable",
- "type": "659"
+ "type": "661"
},
{
"case": "block-dirty-bitmap-merge",
- "type": "660"
+ "type": "662"
},
{
"case": "blockdev-backup",
- "type": "661"
+ "type": "663"
},
{
"case": "blockdev-snapshot",
- "type": "662"
+ "type": "664"
},
{
"case": "blockdev-snapshot-internal-sync",
- "type": "663"
+ "type": "665"
},
{
"case": "blockdev-snapshot-sync",
- "type": "664"
+ "type": "666"
},
{
"case": "drive-backup",
- "type": "665"
+ "type": "667"
}
],
"members": [
{
"name": "type",
- "type": "656"
+ "type": "658"
}
],
"meta-type": "object"
},
{
- "name": "445",
+ "name": "446",
"members": [
{
"name": "completion-mode",
"default": null,
- "type": "666"
+ "type": "668"
}
],
"meta-type": "object"
},
{
- "name": "446",
+ "name": "447",
"members": [
{
"name": "unavailable"
@@ -14162,12 +14185,12 @@
]
},
{
- "name": "[447]",
- "element-type": "447",
+ "name": "[448]",
+ "element-type": "448",
"meta-type": "array"
},
{
- "name": "447",
+ "name": "448",
"members": [
{
"name": "oob"
@@ -14179,7 +14202,7 @@
]
},
{
- "name": "448",
+ "name": "449",
"members": [
{
"name": "major",
@@ -14197,7 +14220,7 @@
"meta-type": "object"
},
{
- "name": "449",
+ "name": "450",
"members": [
{
"name": "builtin"
@@ -14233,21 +14256,21 @@
]
},
{
- "name": "450",
+ "name": "451",
"members": [
{
"name": "json-type",
- "type": "667"
+ "type": "669"
}
],
"meta-type": "object"
},
{
- "name": "451",
+ "name": "452",
"members": [
{
"name": "members",
- "type": "[668]"
+ "type": "[670]"
},
{
"name": "values",
@@ -14260,7 +14283,7 @@
"meta-type": "object"
},
{
- "name": "452",
+ "name": "453",
"members": [
{
"name": "element-type",
@@ -14270,11 +14293,11 @@
"meta-type": "object"
},
{
- "name": "453",
+ "name": "454",
"members": [
{
"name": "members",
- "type": "[669]"
+ "type": "[671]"
},
{
"name": "tag",
@@ -14284,23 +14307,23 @@
{
"name": "variants",
"default": null,
- "type": "[670]"
+ "type": "[672]"
}
],
"meta-type": "object"
},
{
- "name": "454",
+ "name": "455",
"members": [
{
"name": "members",
- "type": "[671]"
+ "type": "[673]"
}
],
"meta-type": "object"
},
{
- "name": "455",
+ "name": "456",
"members": [
{
"name": "arg-type",
@@ -14319,7 +14342,7 @@
"meta-type": "object"
},
{
- "name": "456",
+ "name": "457",
"members": [
{
"name": "arg-type",
@@ -14329,11 +14352,14 @@
"meta-type": "object"
},
{
- "name": "457",
+ "name": "458",
"members": [
{
"name": "acpi-generic-initiator"
},
+ {
+ "name": "acpi-generic-port"
+ },
{
"name": "authz-list"
},
@@ -14485,6 +14511,7 @@
"meta-type": "enum",
"values": [
"acpi-generic-initiator",
+ "acpi-generic-port",
"authz-list",
"authz-listfile",
"authz-pam",
@@ -14535,7 +14562,7 @@
]
},
{
- "name": "458",
+ "name": "459",
"members": [
{
"name": "pci-dev",
@@ -14549,23 +14576,37 @@
"meta-type": "object"
},
{
- "name": "459",
+ "name": "460",
+ "members": [
+ {
+ "name": "pci-bus",
+ "type": "str"
+ },
+ {
+ "name": "node",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "461",
"members": [
{
"name": "policy",
"default": null,
- "type": "672"
+ "type": "674"
},
{
"name": "rules",
"default": null,
- "type": "[673]"
+ "type": "[675]"
}
],
"meta-type": "object"
},
{
- "name": "460",
+ "name": "462",
"members": [
{
"name": "filename",
@@ -14580,7 +14621,7 @@
"meta-type": "object"
},
{
- "name": "461",
+ "name": "463",
"members": [
{
"name": "service",
@@ -14590,7 +14631,7 @@
"meta-type": "object"
},
{
- "name": "462",
+ "name": "464",
"members": [
{
"name": "identity",
@@ -14600,7 +14641,7 @@
"meta-type": "object"
},
{
- "name": "463",
+ "name": "465",
"members": [
{
"name": "if",
@@ -14614,7 +14655,7 @@
"meta-type": "object"
},
{
- "name": "464",
+ "name": "466",
"members": [
{
"name": "primary_in",
@@ -14661,7 +14702,7 @@
"meta-type": "object"
},
{
- "name": "465",
+ "name": "467",
"members": [
{
"name": "queues",
@@ -14682,7 +14723,7 @@
"meta-type": "object"
},
{
- "name": "466",
+ "name": "468",
"members": [
{
"name": "queues",
@@ -14707,7 +14748,7 @@
"meta-type": "object"
},
{
- "name": "467",
+ "name": "469",
"members": [
{
"name": "addr",
@@ -14722,7 +14763,7 @@
"meta-type": "object"
},
{
- "name": "468",
+ "name": "470",
"members": [
{
"name": "netdev",
@@ -14731,7 +14772,7 @@
{
"name": "queue",
"default": null,
- "type": "674"
+ "type": "676"
},
{
"name": "status",
@@ -14746,7 +14787,7 @@
{
"name": "insert",
"default": null,
- "type": "675"
+ "type": "677"
},
{
"name": "interval",
@@ -14756,7 +14797,7 @@
"meta-type": "object"
},
{
- "name": "469",
+ "name": "471",
"members": [
{
"name": "netdev",
@@ -14765,7 +14806,7 @@
{
"name": "queue",
"default": null,
- "type": "674"
+ "type": "676"
},
{
"name": "status",
@@ -14780,7 +14821,7 @@
{
"name": "insert",
"default": null,
- "type": "675"
+ "type": "677"
},
{
"name": "file",
@@ -14795,7 +14836,7 @@
"meta-type": "object"
},
{
- "name": "470",
+ "name": "472",
"members": [
{
"name": "netdev",
@@ -14804,7 +14845,7 @@
{
"name": "queue",
"default": null,
- "type": "674"
+ "type": "676"
},
{
"name": "status",
@@ -14819,7 +14860,7 @@
{
"name": "insert",
"default": null,
- "type": "675"
+ "type": "677"
},
{
"name": "outdev",
@@ -14834,7 +14875,7 @@
"meta-type": "object"
},
{
- "name": "471",
+ "name": "473",
"members": [
{
"name": "netdev",
@@ -14843,7 +14884,7 @@
{
"name": "queue",
"default": null,
- "type": "674"
+ "type": "676"
},
{
"name": "status",
@@ -14858,7 +14899,7 @@
{
"name": "insert",
"default": null,
- "type": "675"
+ "type": "677"
},
{
"name": "indev",
@@ -14879,7 +14920,7 @@
"meta-type": "object"
},
{
- "name": "472",
+ "name": "474",
"members": [
{
"name": "netdev",
@@ -14888,7 +14929,7 @@
{
"name": "queue",
"default": null,
- "type": "674"
+ "type": "676"
},
{
"name": "status",
@@ -14903,13 +14944,13 @@
{
"name": "insert",
"default": null,
- "type": "675"
+ "type": "677"
}
],
"meta-type": "object"
},
{
- "name": "473",
+ "name": "475",
"members": [
{
"name": "netdev",
@@ -14918,7 +14959,7 @@
{
"name": "queue",
"default": null,
- "type": "674"
+ "type": "676"
},
{
"name": "status",
@@ -14933,7 +14974,7 @@
{
"name": "insert",
"default": null,
- "type": "675"
+ "type": "677"
},
{
"name": "vnet_hdr_support",
@@ -14944,7 +14985,7 @@
"meta-type": "object"
},
{
- "name": "474",
+ "name": "476",
"members": [
{
"name": "name",
@@ -14984,7 +15025,7 @@
"meta-type": "object"
},
{
- "name": "475",
+ "name": "477",
"members": [
{
"name": "evdev",
@@ -15003,13 +15044,13 @@
{
"name": "grab-toggle",
"default": null,
- "type": "676"
+ "type": "678"
}
],
"meta-type": "object"
},
{
- "name": "476",
+ "name": "478",
"members": [
{
"name": "fd",
@@ -15020,7 +15061,7 @@
"meta-type": "object"
},
{
- "name": "477",
+ "name": "479",
"members": [
{
"name": "aio-max-batch",
@@ -15056,7 +15097,7 @@
"meta-type": "object"
},
{
- "name": "478",
+ "name": "480",
"members": [
{
"name": "aio-max-batch",
@@ -15077,7 +15118,7 @@
"meta-type": "object"
},
{
- "name": "479",
+ "name": "481",
"members": [
{
"name": "dump",
@@ -15097,7 +15138,7 @@
{
"name": "policy",
"default": null,
- "type": "505"
+ "type": "507"
},
{
"name": "prealloc",
@@ -15137,7 +15178,7 @@
"meta-type": "object"
},
{
- "name": "480",
+ "name": "482",
"members": [
{
"name": "dump",
@@ -15157,7 +15198,7 @@
{
"name": "policy",
"default": null,
- "type": "505"
+ "type": "507"
},
{
"name": "prealloc",
@@ -15220,13 +15261,13 @@
{
"name": "rom",
"default": null,
- "type": "584"
+ "type": "586"
}
],
"meta-type": "object"
},
{
- "name": "481",
+ "name": "483",
"members": [
{
"name": "dump",
@@ -15246,7 +15287,7 @@
{
"name": "policy",
"default": null,
- "type": "505"
+ "type": "507"
},
{
"name": "prealloc",
@@ -15301,7 +15342,7 @@
"meta-type": "object"
},
{
- "name": "482",
+ "name": "484",
"members": [
{
"name": "dump",
@@ -15321,7 +15362,7 @@
{
"name": "policy",
"default": null,
- "type": "505"
+ "type": "507"
},
{
"name": "prealloc",
@@ -15361,7 +15402,7 @@
"meta-type": "object"
},
{
- "name": "483",
+ "name": "485",
"members": [
{
"name": "dump",
@@ -15381,7 +15422,7 @@
{
"name": "policy",
"default": null,
- "type": "505"
+ "type": "507"
},
{
"name": "prealloc",
@@ -15421,7 +15462,7 @@
"meta-type": "object"
},
{
- "name": "484",
+ "name": "486",
"members": [
{
"name": "path",
@@ -15431,7 +15472,7 @@
"meta-type": "object"
},
{
- "name": "485",
+ "name": "487",
"members": [
{
"name": "chardev",
@@ -15446,7 +15487,7 @@
"meta-type": "object"
},
{
- "name": "486",
+ "name": "488",
"members": [
{
"name": "opened",
@@ -15460,7 +15501,7 @@
"meta-type": "object"
},
{
- "name": "487",
+ "name": "489",
"members": [
{
"name": "opened",
@@ -15478,7 +15519,7 @@
"meta-type": "object"
},
{
- "name": "488",
+ "name": "490",
"members": [
{
"name": "opened",
@@ -15497,20 +15538,12 @@
"meta-type": "object"
},
{
- "name": "489",
+ "name": "491",
"members": [
- {
- "name": "loaded",
- "default": null,
- "type": "bool",
- "features": [
- "deprecated"
- ]
- },
{
"name": "format",
"default": null,
- "type": "677"
+ "type": "679"
},
{
"name": "keyid",
@@ -15536,20 +15569,12 @@
"meta-type": "object"
},
{
- "name": "490",
+ "name": "492",
"members": [
- {
- "name": "loaded",
- "default": null,
- "type": "bool",
- "features": [
- "deprecated"
- ]
- },
{
"name": "format",
"default": null,
- "type": "677"
+ "type": "679"
},
{
"name": "keyid",
@@ -15569,7 +15594,7 @@
"meta-type": "object"
},
{
- "name": "491",
+ "name": "493",
"members": [
{
"name": "sev-device",
@@ -15613,13 +15638,13 @@
{
"name": "legacy-vm-type",
"default": null,
- "type": "584"
+ "type": "586"
}
],
"meta-type": "object"
},
{
- "name": "492",
+ "name": "494",
"members": [
{
"name": "sev-device",
@@ -15679,7 +15704,7 @@
"meta-type": "object"
},
{
- "name": "493",
+ "name": "495",
"members": [
{
"name": "cpu-affinity",
@@ -15695,12 +15720,12 @@
"meta-type": "object"
},
{
- "name": "494",
+ "name": "496",
"members": [
{
"name": "limits",
"default": null,
- "type": "678"
+ "type": "680"
},
{
"name": "x-iops-total",
@@ -15858,7 +15883,7 @@
"meta-type": "object"
},
{
- "name": "495",
+ "name": "497",
"members": [
{
"name": "verify-peer",
@@ -15873,26 +15898,18 @@
{
"name": "endpoint",
"default": null,
- "type": "679"
+ "type": "681"
},
{
"name": "priority",
"default": null,
"type": "str"
- },
- {
- "name": "loaded",
- "default": null,
- "type": "bool",
- "features": [
- "deprecated"
- ]
}
],
"meta-type": "object"
},
{
- "name": "496",
+ "name": "498",
"members": [
{
"name": "verify-peer",
@@ -15907,21 +15924,13 @@
{
"name": "endpoint",
"default": null,
- "type": "679"
+ "type": "681"
},
{
"name": "priority",
"default": null,
"type": "str"
},
- {
- "name": "loaded",
- "default": null,
- "type": "bool",
- "features": [
- "deprecated"
- ]
- },
{
"name": "username",
"default": null,
@@ -15931,7 +15940,7 @@
"meta-type": "object"
},
{
- "name": "497",
+ "name": "499",
"members": [
{
"name": "verify-peer",
@@ -15946,21 +15955,13 @@
{
"name": "endpoint",
"default": null,
- "type": "679"
+ "type": "681"
},
{
"name": "priority",
"default": null,
"type": "str"
},
- {
- "name": "loaded",
- "default": null,
- "type": "bool",
- "features": [
- "deprecated"
- ]
- },
{
"name": "sanity-check",
"default": null,
@@ -15975,7 +15976,7 @@
"meta-type": "object"
},
{
- "name": "498",
+ "name": "500",
"members": [
{
"name": "verify-peer",
@@ -15990,7 +15991,7 @@
{
"name": "endpoint",
"default": null,
- "type": "679"
+ "type": "681"
},
{
"name": "priority",
@@ -16001,7 +16002,7 @@
"meta-type": "object"
},
{
- "name": "499",
+ "name": "501",
"members": [
{
"name": "fd",
@@ -16015,11 +16016,11 @@
"meta-type": "object"
},
{
- "name": "500",
+ "name": "502",
"members": [
{
"name": "socket",
- "type": "390"
+ "type": "391"
},
{
"name": "device",
@@ -16029,7 +16030,7 @@
"meta-type": "object"
},
{
- "name": "501",
+ "name": "503",
"members": [
{
"name": "node-id",
@@ -16080,7 +16081,7 @@
"meta-type": "object"
},
{
- "name": "502",
+ "name": "504",
"members": [
{
"name": "aarch64"
@@ -16204,11 +16205,11 @@
]
},
{
- "name": "503",
+ "name": "505",
"members": [
{
"name": "cpu-state",
- "type": "680"
+ "type": "682"
},
{
"name": "dedicated",
@@ -16218,18 +16219,18 @@
{
"name": "entitlement",
"default": null,
- "type": "521"
+ "type": "523"
}
],
"meta-type": "object"
},
{
- "name": "[504]",
- "element-type": "504",
+ "name": "[506]",
+ "element-type": "506",
"meta-type": "array"
},
{
- "name": "504",
+ "name": "506",
"members": [
{
"name": "qom-type",
@@ -16247,7 +16248,7 @@
"meta-type": "object"
},
{
- "name": "505",
+ "name": "507",
"members": [
{
"name": "default"
@@ -16271,7 +16272,7 @@
]
},
{
- "name": "506",
+ "name": "508",
"members": [
{
"name": "node"
@@ -16299,7 +16300,7 @@
]
},
{
- "name": "507",
+ "name": "509",
"members": [
{
"name": "nodeid",
@@ -16330,7 +16331,7 @@
"meta-type": "object"
},
{
- "name": "508",
+ "name": "510",
"members": [
{
"name": "src",
@@ -16348,7 +16349,7 @@
"meta-type": "object"
},
{
- "name": "509",
+ "name": "511",
"members": [
{
"name": "node-id",
@@ -16399,7 +16400,7 @@
"meta-type": "object"
},
{
- "name": "510",
+ "name": "512",
"members": [
{
"name": "initiator",
@@ -16411,11 +16412,11 @@
},
{
"name": "hierarchy",
- "type": "681"
+ "type": "683"
},
{
"name": "data-type",
- "type": "682"
+ "type": "684"
},
{
"name": "latency",
@@ -16431,7 +16432,7 @@
"meta-type": "object"
},
{
- "name": "511",
+ "name": "513",
"members": [
{
"name": "node-id",
@@ -16447,11 +16448,11 @@
},
{
"name": "associativity",
- "type": "683"
+ "type": "685"
},
{
"name": "policy",
- "type": "684"
+ "type": "686"
},
{
"name": "line",
@@ -16461,7 +16462,7 @@
"meta-type": "object"
},
{
- "name": "512",
+ "name": "514",
"members": [
{
"name": "dimm"
@@ -16493,57 +16494,57 @@
]
},
{
- "name": "513",
+ "name": "515",
"members": [
{
"name": "data",
- "type": "685"
+ "type": "687"
}
],
"meta-type": "object"
},
{
- "name": "514",
+ "name": "516",
"members": [
{
"name": "data",
- "type": "686"
+ "type": "688"
}
],
"meta-type": "object"
},
{
- "name": "515",
+ "name": "517",
"members": [
{
"name": "data",
- "type": "687"
+ "type": "689"
}
],
"meta-type": "object"
},
{
- "name": "516",
+ "name": "518",
"members": [
{
"name": "data",
- "type": "688"
+ "type": "690"
}
],
"meta-type": "object"
},
{
- "name": "517",
+ "name": "519",
"members": [
{
"name": "data",
- "type": "689"
+ "type": "691"
}
],
"meta-type": "object"
},
{
- "name": "518",
+ "name": "520",
"members": [
{
"name": "name",
@@ -16558,7 +16559,7 @@
"meta-type": "object"
},
{
- "name": "519",
+ "name": "521",
"members": [
{
"name": "incompatible"
@@ -16582,7 +16583,7 @@
]
},
{
- "name": "520",
+ "name": "522",
"members": [
{
"name": "static"
@@ -16598,7 +16599,7 @@
]
},
{
- "name": "521",
+ "name": "523",
"members": [
{
"name": "auto"
@@ -16622,7 +16623,7 @@
]
},
{
- "name": "522",
+ "name": "524",
"members": [
{
"name": "horizontal"
@@ -16638,7 +16639,7 @@
]
},
{
- "name": "523",
+ "name": "525",
"members": [
{
"name": "none"
@@ -16658,7 +16659,7 @@
]
},
{
- "name": "524",
+ "name": "526",
"members": [
{
"name": "block-node"
@@ -16678,7 +16679,7 @@
]
},
{
- "name": "525",
+ "name": "527",
"members": [
{
"name": "node-name",
@@ -16688,7 +16689,7 @@
"meta-type": "object"
},
{
- "name": "526",
+ "name": "528",
"members": [
{
"name": "id",
@@ -16698,12 +16699,12 @@
"meta-type": "object"
},
{
- "name": "[527]",
- "element-type": "527",
+ "name": "[529]",
+ "element-type": "529",
"meta-type": "array"
},
{
- "name": "527",
+ "name": "529",
"members": [
{
"name": "fd",
@@ -16718,12 +16719,12 @@
"meta-type": "object"
},
{
- "name": "[528]",
- "element-type": "528",
+ "name": "[530]",
+ "element-type": "530",
"meta-type": "array"
},
{
- "name": "528",
+ "name": "530",
"members": [
{
"name": "name",
@@ -16731,7 +16732,7 @@
},
{
"name": "type",
- "type": "690"
+ "type": "692"
},
{
"name": "help",
@@ -16747,12 +16748,12 @@
"meta-type": "object"
},
{
- "name": "[533]",
- "element-type": "533",
+ "name": "[535]",
+ "element-type": "535",
"meta-type": "array"
},
{
- "name": "533",
+ "name": "535",
"members": [
{
"name": "node",
@@ -16766,7 +16767,7 @@
"meta-type": "object"
},
{
- "name": "535",
+ "name": "537",
"members": [
{
"name": "none"
@@ -16809,43 +16810,6 @@
"wav"
]
},
- {
- "name": "536",
- "members": [
- {
- "name": "in",
- "default": null,
- "type": "691"
- },
- {
- "name": "out",
- "default": null,
- "type": "691"
- }
- ],
- "meta-type": "object"
- },
- {
- "name": "537",
- "members": [
- {
- "name": "in",
- "default": null,
- "type": "692"
- },
- {
- "name": "out",
- "default": null,
- "type": "692"
- },
- {
- "name": "threshold",
- "default": null,
- "type": "int"
- }
- ],
- "meta-type": "object"
- },
{
"name": "538",
"members": [
@@ -16868,15 +16832,15 @@
{
"name": "in",
"default": null,
- "type": "691"
+ "type": "694"
},
{
"name": "out",
"default": null,
- "type": "691"
+ "type": "694"
},
{
- "name": "latency",
+ "name": "threshold",
"default": null,
"type": "int"
}
@@ -16889,12 +16853,12 @@
{
"name": "in",
"default": null,
- "type": "694"
+ "type": "695"
},
{
"name": "out",
"default": null,
- "type": "694"
+ "type": "695"
}
],
"meta-type": "object"
@@ -16905,12 +16869,49 @@
{
"name": "in",
"default": null,
- "type": "695"
+ "type": "693"
},
{
"name": "out",
"default": null,
- "type": "695"
+ "type": "693"
+ },
+ {
+ "name": "latency",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "542",
+ "members": [
+ {
+ "name": "in",
+ "default": null,
+ "type": "696"
+ },
+ {
+ "name": "out",
+ "default": null,
+ "type": "696"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "543",
+ "members": [
+ {
+ "name": "in",
+ "default": null,
+ "type": "697"
+ },
+ {
+ "name": "out",
+ "default": null,
+ "type": "697"
},
{
"name": "try-mmap",
@@ -16931,17 +16932,17 @@
"meta-type": "object"
},
{
- "name": "542",
+ "name": "544",
"members": [
{
"name": "in",
"default": null,
- "type": "696"
+ "type": "698"
},
{
"name": "out",
"default": null,
- "type": "696"
+ "type": "698"
},
{
"name": "server",
@@ -16952,49 +16953,49 @@
"meta-type": "object"
},
{
- "name": "543",
+ "name": "545",
"members": [
{
"name": "in",
"default": null,
- "type": "697"
+ "type": "699"
},
{
"name": "out",
"default": null,
- "type": "697"
+ "type": "699"
}
],
"meta-type": "object"
},
{
- "name": "544",
+ "name": "546",
"members": [
{
"name": "in",
"default": null,
- "type": "698"
+ "type": "700"
},
{
"name": "out",
"default": null,
- "type": "698"
+ "type": "700"
}
],
"meta-type": "object"
},
{
- "name": "545",
+ "name": "547",
"members": [
{
"name": "in",
"default": null,
- "type": "691"
+ "type": "693"
},
{
"name": "out",
"default": null,
- "type": "691"
+ "type": "693"
},
{
"name": "dev",
@@ -17010,17 +17011,17 @@
"meta-type": "object"
},
{
- "name": "546",
+ "name": "548",
"members": [
{
"name": "in",
"default": null,
- "type": "691"
+ "type": "693"
},
{
"name": "out",
"default": null,
- "type": "691"
+ "type": "693"
},
{
"name": "path",
@@ -17031,7 +17032,7 @@
"meta-type": "object"
},
{
- "name": "547",
+ "name": "549",
"members": [
{
"name": "DIMM"
@@ -17047,12 +17048,12 @@
]
},
{
- "name": "[548]",
- "element-type": "548",
+ "name": "[550]",
+ "element-type": "550",
"meta-type": "array"
},
{
- "name": "548",
+ "name": "550",
"members": [
{
"name": "bus",
@@ -17068,11 +17069,11 @@
},
{
"name": "class_info",
- "type": "699"
+ "type": "701"
},
{
"name": "id",
- "type": "700"
+ "type": "702"
},
{
"name": "irq",
@@ -17090,17 +17091,17 @@
{
"name": "pci_bridge",
"default": null,
- "type": "701"
+ "type": "703"
},
{
"name": "regions",
- "type": "[702]"
+ "type": "[704]"
}
],
"meta-type": "object"
},
{
- "name": "549",
+ "name": "551",
"members": [
{
"name": "vm"
@@ -17120,16 +17121,16 @@
]
},
{
- "name": "[550]",
- "element-type": "550",
+ "name": "[552]",
+ "element-type": "552",
"meta-type": "array"
},
{
- "name": "550",
+ "name": "552",
"members": [
{
"name": "provider",
- "type": "552"
+ "type": "554"
},
{
"name": "names",
@@ -17140,7 +17141,7 @@
"meta-type": "object"
},
{
- "name": "551",
+ "name": "553",
"members": [
{
"name": "vcpus",
@@ -17151,7 +17152,7 @@
"meta-type": "object"
},
{
- "name": "552",
+ "name": "554",
"members": [
{
"name": "kvm"
@@ -17167,12 +17168,12 @@
]
},
{
- "name": "[553]",
- "element-type": "553",
+ "name": "[555]",
+ "element-type": "555",
"meta-type": "array"
},
{
- "name": "553",
+ "name": "555",
"members": [
{
"name": "name",
@@ -17180,18 +17181,18 @@
},
{
"name": "value",
- "type": "703"
+ "type": "705"
}
],
"meta-type": "object"
},
{
- "name": "[554]",
- "element-type": "554",
+ "name": "[556]",
+ "element-type": "556",
"meta-type": "array"
},
{
- "name": "554",
+ "name": "556",
"members": [
{
"name": "name",
@@ -17199,12 +17200,12 @@
},
{
"name": "type",
- "type": "704"
+ "type": "706"
},
{
"name": "unit",
"default": null,
- "type": "705"
+ "type": "707"
},
{
"name": "base",
@@ -17224,7 +17225,7 @@
"meta-type": "object"
},
{
- "name": "555",
+ "name": "557",
"members": [
{
"name": "transports",
@@ -17244,7 +17245,7 @@
"meta-type": "object"
},
{
- "name": "556",
+ "name": "558",
"members": [
{
"name": "statuses",
@@ -17259,7 +17260,7 @@
"meta-type": "object"
},
{
- "name": "557",
+ "name": "559",
"members": [
{
"name": "n-mem-sections",
@@ -17279,19 +17280,19 @@
},
{
"name": "features",
- "type": "555"
+ "type": "557"
},
{
"name": "acked-features",
- "type": "555"
+ "type": "557"
},
{
"name": "backend-features",
- "type": "555"
+ "type": "557"
},
{
"name": "protocol-features",
- "type": "706"
+ "type": "708"
},
{
"name": "max-queues",
@@ -17313,12 +17314,12 @@
"meta-type": "object"
},
{
- "name": "[558]",
- "element-type": "558",
+ "name": "[560]",
+ "element-type": "560",
"meta-type": "array"
},
{
- "name": "558",
+ "name": "560",
"members": [
{
"name": "addr",
@@ -17336,7 +17337,7 @@
"meta-type": "object"
},
{
- "name": "559",
+ "name": "561",
"members": [
{
"name": "flags",
@@ -17354,7 +17355,7 @@
"meta-type": "object"
},
{
- "name": "560",
+ "name": "562",
"members": [
{
"name": "flags",
@@ -17368,7 +17369,7 @@
"meta-type": "object"
},
{
- "name": "561",
+ "name": "563",
"members": [
{
"name": "stop"
@@ -17404,12 +17405,12 @@
]
},
{
- "name": "[562]",
- "element-type": "562",
+ "name": "[564]",
+ "element-type": "564",
"meta-type": "array"
},
{
- "name": "562",
+ "name": "564",
"members": [
{
"name": "cipher"
@@ -17437,12 +17438,12 @@
]
},
{
- "name": "[563]",
- "element-type": "563",
+ "name": "[565]",
+ "element-type": "565",
"meta-type": "array"
},
{
- "name": "563",
+ "name": "565",
"members": [
{
"name": "queue",
@@ -17450,13 +17451,13 @@
},
{
"name": "type",
- "type": "707"
+ "type": "709"
}
],
"meta-type": "object"
},
{
- "name": "564",
+ "name": "566",
"members": [
{
"name": "informational"
@@ -17480,16 +17481,16 @@
]
},
{
- "name": "[565]",
- "element-type": "565",
+ "name": "[567]",
+ "element-type": "567",
"meta-type": "array"
},
{
- "name": "565",
+ "name": "567",
"members": [
{
"name": "type",
- "type": "708"
+ "type": "710"
},
{
"name": "header",
@@ -17499,7 +17500,7 @@
"meta-type": "object"
},
{
- "name": "566",
+ "name": "568",
"members": [
{
"name": "cache-data-ecc"
@@ -17535,7 +17536,7 @@
]
},
{
- "name": "567",
+ "name": "569",
"members": [
{
"name": "free"
@@ -17559,12 +17560,12 @@
]
},
{
- "name": "[568]",
- "element-type": "568",
+ "name": "[570]",
+ "element-type": "570",
"meta-type": "array"
},
{
- "name": "568",
+ "name": "570",
"members": [
{
"name": "offset",
@@ -17578,7 +17579,7 @@
"meta-type": "object"
},
{
- "name": "569",
+ "name": "571",
"members": [
{
"name": "tag-based"
@@ -17594,7 +17595,7 @@
]
},
{
- "name": "570",
+ "name": "572",
"members": [
{
"name": "hyper-v"
@@ -17610,7 +17611,7 @@
]
},
{
- "name": "571",
+ "name": "573",
"members": [
{
"name": "arg1",
@@ -17636,7 +17637,7 @@
"meta-type": "object"
},
{
- "name": "572",
+ "name": "574",
"members": [
{
"name": "core",
@@ -17652,18 +17653,18 @@
},
{
"name": "reason",
- "type": "709"
+ "type": "711"
}
],
"meta-type": "object"
},
{
- "name": "[573]",
- "element-type": "573",
+ "name": "[575]",
+ "element-type": "575",
"meta-type": "array"
},
{
- "name": "573",
+ "name": "575",
"members": [
{
"name": "interval_length",
@@ -17733,7 +17734,7 @@
"meta-type": "object"
},
{
- "name": "574",
+ "name": "576",
"members": [
{
"name": "boundaries",
@@ -17747,7 +17748,7 @@
"meta-type": "object"
},
{
- "name": "575",
+ "name": "577",
"members": [
{
"name": "discard-nb-ok",
@@ -17765,7 +17766,7 @@
"meta-type": "object"
},
{
- "name": "576",
+ "name": "578",
"members": [
{
"name": "completion-errors",
@@ -17788,40 +17789,40 @@
"meta-type": "array"
},
{
- "name": "577",
+ "name": "579",
"tag": "type",
"variants": [
{
"case": "qcow2",
- "type": "711"
+ "type": "713"
},
{
"case": "vmdk",
- "type": "712"
+ "type": "714"
},
{
"case": "luks",
- "type": "713"
+ "type": "715"
},
{
"case": "rbd",
- "type": "714"
+ "type": "716"
},
{
"case": "file",
- "type": "715"
+ "type": "717"
}
],
"members": [
{
"name": "type",
- "type": "710"
+ "type": "712"
}
],
"meta-type": "object"
},
{
- "name": "578",
+ "name": "580",
"members": [
{
"name": "block-backend"
@@ -17841,12 +17842,12 @@
]
},
{
- "name": "[579]",
- "element-type": "579",
+ "name": "[581]",
+ "element-type": "581",
"meta-type": "array"
},
{
- "name": "579",
+ "name": "581",
"members": [
{
"name": "consistent-read"
@@ -17870,7 +17871,7 @@
]
},
{
- "name": "580",
+ "name": "582",
"members": [
{
"type": "58"
@@ -17882,16 +17883,16 @@
"meta-type": "alternate"
},
{
- "name": "[581]",
- "element-type": "581",
+ "name": "[583]",
+ "element-type": "583",
"meta-type": "array"
},
{
- "name": "581",
+ "name": "583",
"members": [
{
"name": "event",
- "type": "716"
+ "type": "718"
},
{
"name": "state",
@@ -17901,7 +17902,7 @@
{
"name": "iotype",
"default": null,
- "type": "717"
+ "type": "719"
},
{
"name": "errno",
@@ -17927,16 +17928,16 @@
"meta-type": "object"
},
{
- "name": "[582]",
- "element-type": "582",
+ "name": "[584]",
+ "element-type": "584",
"meta-type": "array"
},
{
- "name": "582",
+ "name": "584",
"members": [
{
"name": "event",
- "type": "716"
+ "type": "718"
},
{
"name": "state",
@@ -17951,7 +17952,7 @@
"meta-type": "object"
},
{
- "name": "583",
+ "name": "585",
"members": [
{
"name": "break-guest-write"
@@ -17967,7 +17968,7 @@
]
},
{
- "name": "584",
+ "name": "586",
"members": [
{
"name": "auto"
@@ -17987,7 +17988,7 @@
]
},
{
- "name": "585",
+ "name": "587",
"members": [
{
"name": "threads"
@@ -18007,7 +18008,7 @@
]
},
{
- "name": "586",
+ "name": "588",
"members": [
{
"name": "tcp"
@@ -18023,7 +18024,7 @@
]
},
{
- "name": "587",
+ "name": "589",
"members": [
{
"name": "crc32c"
@@ -18047,11 +18048,11 @@
]
},
{
- "name": "588",
+ "name": "590",
"members": [
{
"name": "type",
- "type": "718"
+ "type": "720"
},
{
"name": "host",
@@ -18061,7 +18062,7 @@
"meta-type": "object"
},
{
- "name": "589",
+ "name": "591",
"members": [
{
"type": "58"
@@ -18076,62 +18077,62 @@
"meta-type": "alternate"
},
{
- "name": "590",
+ "name": "592",
"members": [
{
- "type": "719"
+ "type": "721"
},
{
- "type": "720"
+ "type": "722"
}
],
"meta-type": "alternate"
},
{
- "name": "591",
+ "name": "593",
"tag": "format",
"variants": [
{
"case": "aes",
- "type": "722"
+ "type": "724"
},
{
"case": "luks",
- "type": "723"
+ "type": "725"
}
],
"members": [
{
"name": "format",
- "type": "721"
+ "type": "723"
}
],
"meta-type": "object"
},
{
- "name": "592",
+ "name": "594",
"tag": "format",
"variants": [
{
"case": "aes",
- "type": "722"
+ "type": "724"
}
],
"members": [
{
"name": "format",
- "type": "724"
+ "type": "726"
}
],
"meta-type": "object"
},
{
- "name": "[580]",
- "element-type": "580",
+ "name": "[582]",
+ "element-type": "582",
"meta-type": "array"
},
{
- "name": "593",
+ "name": "595",
"members": [
{
"name": "quorum"
@@ -18147,42 +18148,42 @@
]
},
{
- "name": "594",
+ "name": "596",
"tag": "format",
"variants": [
{
"case": "luks",
- "type": "726"
+ "type": "728"
},
{
"case": "luks2",
- "type": "727"
+ "type": "729"
},
{
"case": "luks-any",
- "type": "728"
+ "type": "730"
}
],
"members": [
{
"name": "format",
- "type": "725"
+ "type": "727"
},
{
"name": "parent",
"default": null,
- "type": "594"
+ "type": "596"
}
],
"meta-type": "object"
},
{
- "name": "[595]",
- "element-type": "595",
+ "name": "[597]",
+ "element-type": "597",
"meta-type": "array"
},
{
- "name": "595",
+ "name": "597",
"members": [
{
"name": "cephx"
@@ -18198,12 +18199,12 @@
]
},
{
- "name": "[596]",
- "element-type": "596",
+ "name": "[598]",
+ "element-type": "598",
"meta-type": "array"
},
{
- "name": "596",
+ "name": "598",
"members": [
{
"name": "host",
@@ -18217,7 +18218,7 @@
"meta-type": "object"
},
{
- "name": "597",
+ "name": "599",
"members": [
{
"name": "primary"
@@ -18233,7 +18234,7 @@
]
},
{
- "name": "598",
+ "name": "600",
"members": [
{
"name": "host",
@@ -18277,12 +18278,12 @@
"meta-type": "object"
},
{
- "name": "599",
+ "name": "601",
"tag": "mode",
"variants": [
{
"case": "hash",
- "type": "730"
+ "type": "732"
},
{
"case": "none",
@@ -18296,13 +18297,13 @@
"members": [
{
"name": "mode",
- "type": "729"
+ "type": "731"
}
],
"meta-type": "object"
},
{
- "name": "600",
+ "name": "602",
"members": [
{
"name": "filename",
@@ -18315,7 +18316,7 @@
{
"name": "preallocation",
"default": null,
- "type": "731"
+ "type": "733"
},
{
"name": "nocow",
@@ -18331,11 +18332,11 @@
"meta-type": "object"
},
{
- "name": "601",
+ "name": "603",
"members": [
{
"name": "location",
- "type": "329"
+ "type": "330"
},
{
"name": "size",
@@ -18344,13 +18345,13 @@
{
"name": "preallocation",
"default": null,
- "type": "731"
+ "type": "733"
}
],
"meta-type": "object"
},
{
- "name": "602",
+ "name": "604",
"members": [
{
"name": "key-secret",
@@ -18360,27 +18361,27 @@
{
"name": "cipher-alg",
"default": null,
- "type": "732"
+ "type": "734"
},
{
"name": "cipher-mode",
"default": null,
- "type": "733"
+ "type": "735"
},
{
"name": "ivgen-alg",
"default": null,
- "type": "734"
+ "type": "736"
},
{
"name": "ivgen-hash-alg",
"default": null,
- "type": "735"
+ "type": "737"
},
{
"name": "hash-alg",
"default": null,
- "type": "735"
+ "type": "737"
},
{
"name": "iter-time",
@@ -18390,12 +18391,12 @@
{
"name": "file",
"default": null,
- "type": "580"
+ "type": "582"
},
{
"name": "header",
"default": null,
- "type": "580"
+ "type": "582"
},
{
"name": "size",
@@ -18404,17 +18405,17 @@
{
"name": "preallocation",
"default": null,
- "type": "731"
+ "type": "733"
}
],
"meta-type": "object"
},
{
- "name": "603",
+ "name": "605",
"members": [
{
"name": "location",
- "type": "336"
+ "type": "337"
},
{
"name": "size",
@@ -18424,11 +18425,11 @@
"meta-type": "object"
},
{
- "name": "604",
+ "name": "606",
"members": [
{
"name": "file",
- "type": "580"
+ "type": "582"
},
{
"name": "size",
@@ -18443,11 +18444,11 @@
"meta-type": "object"
},
{
- "name": "605",
+ "name": "607",
"members": [
{
"name": "file",
- "type": "580"
+ "type": "582"
},
{
"name": "size",
@@ -18461,22 +18462,22 @@
{
"name": "encrypt",
"default": null,
- "type": "736"
+ "type": "738"
}
],
"meta-type": "object"
},
{
- "name": "606",
+ "name": "608",
"members": [
{
"name": "file",
- "type": "580"
+ "type": "582"
},
{
"name": "data-file",
"default": null,
- "type": "580"
+ "type": "582"
},
{
"name": "data-file-raw",
@@ -18495,7 +18496,7 @@
{
"name": "version",
"default": null,
- "type": "737"
+ "type": "739"
},
{
"name": "backing-file",
@@ -18505,12 +18506,12 @@
{
"name": "backing-fmt",
"default": null,
- "type": "316"
+ "type": "317"
},
{
"name": "encrypt",
"default": null,
- "type": "736"
+ "type": "738"
},
{
"name": "cluster-size",
@@ -18520,7 +18521,7 @@
{
"name": "preallocation",
"default": null,
- "type": "731"
+ "type": "733"
},
{
"name": "lazy-refcounts",
@@ -18535,17 +18536,17 @@
{
"name": "compression-type",
"default": null,
- "type": "738"
+ "type": "740"
}
],
"meta-type": "object"
},
{
- "name": "607",
+ "name": "609",
"members": [
{
"name": "file",
- "type": "580"
+ "type": "582"
},
{
"name": "size",
@@ -18559,7 +18560,7 @@
{
"name": "backing-fmt",
"default": null,
- "type": "316"
+ "type": "317"
},
{
"name": "cluster-size",
@@ -18575,11 +18576,11 @@
"meta-type": "object"
},
{
- "name": "608",
+ "name": "610",
"members": [
{
"name": "location",
- "type": "346"
+ "type": "347"
},
{
"name": "size",
@@ -18593,17 +18594,17 @@
{
"name": "encrypt",
"default": null,
- "type": "739"
+ "type": "741"
}
],
"meta-type": "object"
},
{
- "name": "609",
+ "name": "611",
"members": [
{
"name": "location",
- "type": "348"
+ "type": "349"
},
{
"name": "size",
@@ -18613,11 +18614,11 @@
"meta-type": "object"
},
{
- "name": "610",
+ "name": "612",
"members": [
{
"name": "file",
- "type": "580"
+ "type": "582"
},
{
"name": "size",
@@ -18626,17 +18627,17 @@
{
"name": "preallocation",
"default": null,
- "type": "731"
+ "type": "733"
}
],
"meta-type": "object"
},
{
- "name": "611",
+ "name": "613",
"members": [
{
"name": "file",
- "type": "580"
+ "type": "582"
},
{
"name": "size",
@@ -18655,7 +18656,7 @@
{
"name": "subformat",
"default": null,
- "type": "740"
+ "type": "742"
},
{
"name": "block-state-zero",
@@ -18666,11 +18667,11 @@
"meta-type": "object"
},
{
- "name": "612",
+ "name": "614",
"members": [
{
"name": "file",
- "type": "580"
+ "type": "582"
},
{
"name": "size",
@@ -18679,12 +18680,12 @@
{
"name": "extents",
"default": null,
- "type": "[580]"
+ "type": "[582]"
},
{
"name": "subformat",
"default": null,
- "type": "741"
+ "type": "743"
},
{
"name": "backing-file",
@@ -18694,7 +18695,7 @@
{
"name": "adapter-type",
"default": null,
- "type": "742"
+ "type": "744"
},
{
"name": "hwversion",
@@ -18715,11 +18716,11 @@
"meta-type": "object"
},
{
- "name": "613",
+ "name": "615",
"members": [
{
"name": "file",
- "type": "580"
+ "type": "582"
},
{
"name": "size",
@@ -18728,7 +18729,7 @@
{
"name": "subformat",
"default": null,
- "type": "743"
+ "type": "745"
},
{
"name": "force-size",
@@ -18739,11 +18740,11 @@
"meta-type": "object"
},
{
- "name": "614",
+ "name": "616",
"members": [
{
"name": "state",
- "type": "744"
+ "type": "746"
},
{
"name": "new-secret",
@@ -18774,12 +18775,12 @@
"meta-type": "object"
},
{
- "name": "615",
+ "name": "617",
"members": [
{
"name": "encrypt",
"default": null,
- "type": "745"
+ "type": "747"
}
],
"meta-type": "object"
@@ -18790,7 +18791,7 @@
"meta-type": "builtin"
},
{
- "name": "616",
+ "name": "618",
"members": [
{
"name": "inet"
@@ -18814,47 +18815,47 @@
]
},
{
- "name": "617",
+ "name": "619",
"members": [
{
"name": "data",
- "type": "598"
+ "type": "600"
}
],
"meta-type": "object"
},
{
- "name": "618",
+ "name": "620",
"members": [
{
"name": "data",
- "type": "639"
+ "type": "641"
}
],
"meta-type": "object"
},
{
- "name": "619",
+ "name": "621",
"members": [
{
"name": "data",
- "type": "640"
+ "type": "642"
}
],
"meta-type": "object"
},
{
- "name": "620",
+ "name": "622",
"members": [
{
"name": "data",
- "type": "641"
+ "type": "643"
}
],
"meta-type": "object"
},
{
- "name": "621",
+ "name": "623",
"members": [
{
"name": "off"
@@ -18874,7 +18875,7 @@
]
},
{
- "name": "622",
+ "name": "624",
"members": [
{
"name": "file"
@@ -18957,122 +18958,122 @@
]
},
{
- "name": "623",
+ "name": "625",
"members": [
{
"name": "data",
- "type": "746"
+ "type": "748"
}
],
"meta-type": "object"
},
{
- "name": "624",
+ "name": "626",
"members": [
{
"name": "data",
- "type": "747"
+ "type": "749"
}
],
"meta-type": "object"
},
{
- "name": "625",
+ "name": "627",
"members": [
{
"name": "data",
- "type": "748"
+ "type": "750"
}
],
"meta-type": "object"
},
{
- "name": "626",
+ "name": "628",
"members": [
{
"name": "data",
- "type": "749"
+ "type": "751"
}
],
"meta-type": "object"
},
{
- "name": "627",
+ "name": "629",
"members": [
{
"name": "data",
- "type": "750"
+ "type": "752"
}
],
"meta-type": "object"
},
{
- "name": "628",
+ "name": "630",
"members": [
{
"name": "data",
- "type": "751"
+ "type": "753"
}
],
"meta-type": "object"
},
{
- "name": "629",
+ "name": "631",
"members": [
{
"name": "data",
- "type": "752"
+ "type": "754"
}
],
"meta-type": "object"
},
{
- "name": "630",
+ "name": "632",
"members": [
{
"name": "data",
- "type": "753"
+ "type": "755"
}
],
"meta-type": "object"
},
{
- "name": "634",
+ "name": "636",
"members": [
{
"name": "data",
- "type": "757"
+ "type": "759"
}
],
"meta-type": "object"
},
{
- "name": "635",
+ "name": "637",
"members": [
{
"name": "data",
- "type": "758"
+ "type": "760"
}
],
"meta-type": "object"
},
{
- "name": "636",
+ "name": "638",
"members": [
{
"name": "data",
- "type": "759"
+ "type": "761"
}
],
"meta-type": "object"
},
{
- "name": "[637]",
- "element-type": "637",
+ "name": "[639]",
+ "element-type": "639",
"meta-type": "array"
},
{
- "name": "637",
+ "name": "639",
"members": [
{
"name": "str",
@@ -19082,7 +19083,7 @@
"meta-type": "object"
},
{
- "name": "638",
+ "name": "640",
"members": [
{
"name": "native"
@@ -19098,7 +19099,7 @@
]
},
{
- "name": "639",
+ "name": "641",
"members": [
{
"name": "path",
@@ -19118,7 +19119,7 @@
"meta-type": "object"
},
{
- "name": "640",
+ "name": "642",
"members": [
{
"name": "cid",
@@ -19132,7 +19133,7 @@
"meta-type": "object"
},
{
- "name": "641",
+ "name": "643",
"members": [
{
"name": "str",
@@ -19142,27 +19143,27 @@
"meta-type": "object"
},
{
- "name": "642",
+ "name": "644",
"members": [
{
"name": "data",
- "type": "760"
+ "type": "762"
}
],
"meta-type": "object"
},
{
- "name": "643",
+ "name": "645",
"members": [
{
"name": "data",
- "type": "761"
+ "type": "763"
}
],
"meta-type": "object"
},
{
- "name": "644",
+ "name": "646",
"members": [
{
"name": "number"
@@ -19178,7 +19179,7 @@
]
},
{
- "name": "645",
+ "name": "647",
"members": [
{
"name": "data",
@@ -19188,17 +19189,17 @@
"meta-type": "object"
},
{
- "name": "646",
+ "name": "648",
"members": [
{
"name": "data",
- "type": "762"
+ "type": "764"
}
],
"meta-type": "object"
},
{
- "name": "647",
+ "name": "649",
"members": [
{
"name": "key"
@@ -19226,47 +19227,47 @@
]
},
{
- "name": "648",
+ "name": "650",
"members": [
{
"name": "data",
- "type": "763"
+ "type": "765"
}
],
"meta-type": "object"
},
{
- "name": "649",
+ "name": "651",
"members": [
{
"name": "data",
- "type": "764"
+ "type": "766"
}
],
"meta-type": "object"
},
{
- "name": "650",
+ "name": "652",
"members": [
{
"name": "data",
- "type": "765"
+ "type": "767"
}
],
"meta-type": "object"
},
{
- "name": "651",
+ "name": "653",
"members": [
{
"name": "data",
- "type": "766"
+ "type": "768"
}
],
"meta-type": "object"
},
{
- "name": "652",
+ "name": "654",
"members": [
{
"name": "lctrl-lalt"
@@ -19291,12 +19292,12 @@
"meta-type": "builtin"
},
{
- "name": "[653]",
- "element-type": "653",
+ "name": "[655]",
+ "element-type": "655",
"meta-type": "array"
},
{
- "name": "653",
+ "name": "655",
"members": [
{
"name": "name",
@@ -19309,13 +19310,13 @@
{
"name": "transform",
"default": null,
- "type": "767"
+ "type": "769"
}
],
"meta-type": "object"
},
{
- "name": "654",
+ "name": "656",
"members": [
{
"name": "main"
@@ -19327,36 +19328,36 @@
]
},
{
- "name": "655",
+ "name": "657",
"tag": "transport",
"variants": [
{
"case": "socket",
- "type": "390"
+ "type": "391"
},
{
"case": "exec",
- "type": "769"
+ "type": "771"
},
{
"case": "rdma",
- "type": "598"
+ "type": "600"
},
{
"case": "file",
- "type": "770"
+ "type": "772"
}
],
"members": [
{
"name": "transport",
- "type": "768"
+ "type": "770"
}
],
"meta-type": "object"
},
{
- "name": "656",
+ "name": "658",
"members": [
{
"name": "abort"
@@ -19415,17 +19416,17 @@
]
},
{
- "name": "657",
+ "name": "659",
"members": [
{
"name": "data",
- "type": "771"
+ "type": "773"
}
],
"meta-type": "object"
},
{
- "name": "658",
+ "name": "660",
"members": [
{
"name": "data",
@@ -19435,7 +19436,7 @@
"meta-type": "object"
},
{
- "name": "659",
+ "name": "661",
"members": [
{
"name": "data",
@@ -19445,7 +19446,7 @@
"meta-type": "object"
},
{
- "name": "660",
+ "name": "662",
"members": [
{
"name": "data",
@@ -19455,7 +19456,7 @@
"meta-type": "object"
},
{
- "name": "661",
+ "name": "663",
"members": [
{
"name": "data",
@@ -19465,7 +19466,7 @@
"meta-type": "object"
},
{
- "name": "662",
+ "name": "664",
"members": [
{
"name": "data",
@@ -19475,7 +19476,7 @@
"meta-type": "object"
},
{
- "name": "663",
+ "name": "665",
"members": [
{
"name": "data",
@@ -19485,7 +19486,7 @@
"meta-type": "object"
},
{
- "name": "664",
+ "name": "666",
"members": [
{
"name": "data",
@@ -19495,7 +19496,7 @@
"meta-type": "object"
},
{
- "name": "665",
+ "name": "667",
"members": [
{
"name": "data",
@@ -19505,7 +19506,7 @@
"meta-type": "object"
},
{
- "name": "666",
+ "name": "668",
"members": [
{
"name": "individual"
@@ -19521,7 +19522,7 @@
]
},
{
- "name": "667",
+ "name": "669",
"members": [
{
"name": "string"
@@ -19561,12 +19562,12 @@
]
},
{
- "name": "[668]",
- "element-type": "668",
+ "name": "[670]",
+ "element-type": "670",
"meta-type": "array"
},
{
- "name": "668",
+ "name": "670",
"members": [
{
"name": "name",
@@ -19581,12 +19582,12 @@
"meta-type": "object"
},
{
- "name": "[669]",
- "element-type": "669",
+ "name": "[671]",
+ "element-type": "671",
"meta-type": "array"
},
{
- "name": "669",
+ "name": "671",
"members": [
{
"name": "name",
@@ -19610,12 +19611,12 @@
"meta-type": "object"
},
{
- "name": "[670]",
- "element-type": "670",
+ "name": "[672]",
+ "element-type": "672",
"meta-type": "array"
},
{
- "name": "670",
+ "name": "672",
"members": [
{
"name": "case",
@@ -19629,12 +19630,12 @@
"meta-type": "object"
},
{
- "name": "[671]",
- "element-type": "671",
+ "name": "[673]",
+ "element-type": "673",
"meta-type": "array"
},
{
- "name": "671",
+ "name": "673",
"members": [
{
"name": "type",
@@ -19644,7 +19645,7 @@
"meta-type": "object"
},
{
- "name": "672",
+ "name": "674",
"members": [
{
"name": "deny"
@@ -19660,12 +19661,12 @@
]
},
{
- "name": "[673]",
- "element-type": "673",
+ "name": "[675]",
+ "element-type": "675",
"meta-type": "array"
},
{
- "name": "673",
+ "name": "675",
"members": [
{
"name": "match",
@@ -19673,18 +19674,18 @@
},
{
"name": "policy",
- "type": "672"
+ "type": "674"
},
{
"name": "format",
"default": null,
- "type": "772"
+ "type": "774"
}
],
"meta-type": "object"
},
{
- "name": "674",
+ "name": "676",
"members": [
{
"name": "all"
@@ -19704,7 +19705,7 @@
]
},
{
- "name": "675",
+ "name": "677",
"members": [
{
"name": "before"
@@ -19720,7 +19721,7 @@
]
},
{
- "name": "676",
+ "name": "678",
"members": [
{
"name": "ctrl-ctrl"
@@ -19752,7 +19753,7 @@
]
},
{
- "name": "677",
+ "name": "679",
"members": [
{
"name": "raw"
@@ -19768,7 +19769,7 @@
]
},
{
- "name": "678",
+ "name": "680",
"members": [
{
"name": "iops-total",
@@ -19869,7 +19870,7 @@
"meta-type": "object"
},
{
- "name": "679",
+ "name": "681",
"members": [
{
"name": "client"
@@ -19885,7 +19886,7 @@
]
},
{
- "name": "680",
+ "name": "682",
"members": [
{
"name": "uninitialized"
@@ -19913,7 +19914,7 @@
]
},
{
- "name": "681",
+ "name": "683",
"members": [
{
"name": "memory"
@@ -19937,7 +19938,7 @@
]
},
{
- "name": "682",
+ "name": "684",
"members": [
{
"name": "access-latency"
@@ -19969,7 +19970,7 @@
]
},
{
- "name": "683",
+ "name": "685",
"members": [
{
"name": "none"
@@ -19989,7 +19990,7 @@
]
},
{
- "name": "684",
+ "name": "686",
"members": [
{
"name": "none"
@@ -20009,7 +20010,7 @@
]
},
{
- "name": "685",
+ "name": "687",
"members": [
{
"name": "id",
@@ -20048,7 +20049,7 @@
"meta-type": "object"
},
{
- "name": "686",
+ "name": "688",
"members": [
{
"name": "id",
@@ -20071,7 +20072,7 @@
"meta-type": "object"
},
{
- "name": "687",
+ "name": "689",
"members": [
{
"name": "id",
@@ -20110,7 +20111,7 @@
"meta-type": "object"
},
{
- "name": "688",
+ "name": "690",
"members": [
{
"name": "id",
@@ -20137,7 +20138,7 @@
"meta-type": "object"
},
{
- "name": "689",
+ "name": "691",
"members": [
{
"name": "id",
@@ -20162,7 +20163,7 @@
"meta-type": "object"
},
{
- "name": "690",
+ "name": "692",
"members": [
{
"name": "string"
@@ -20186,7 +20187,7 @@
]
},
{
- "name": "691",
+ "name": "693",
"members": [
{
"name": "mixing-engine",
@@ -20216,7 +20217,7 @@
{
"name": "format",
"default": null,
- "type": "773"
+ "type": "775"
},
{
"name": "buffer-length",
@@ -20227,7 +20228,7 @@
"meta-type": "object"
},
{
- "name": "692",
+ "name": "694",
"members": [
{
"name": "mixing-engine",
@@ -20257,7 +20258,7 @@
{
"name": "format",
"default": null,
- "type": "773"
+ "type": "775"
},
{
"name": "buffer-length",
@@ -20283,7 +20284,7 @@
"meta-type": "object"
},
{
- "name": "693",
+ "name": "695",
"members": [
{
"name": "mixing-engine",
@@ -20313,7 +20314,7 @@
{
"name": "format",
"default": null,
- "type": "773"
+ "type": "775"
},
{
"name": "buffer-length",
@@ -20329,7 +20330,7 @@
"meta-type": "object"
},
{
- "name": "694",
+ "name": "696",
"members": [
{
"name": "mixing-engine",
@@ -20359,7 +20360,7 @@
{
"name": "format",
"default": null,
- "type": "773"
+ "type": "775"
},
{
"name": "buffer-length",
@@ -20395,7 +20396,7 @@
"meta-type": "object"
},
{
- "name": "695",
+ "name": "697",
"members": [
{
"name": "mixing-engine",
@@ -20425,7 +20426,7 @@
{
"name": "format",
"default": null,
- "type": "773"
+ "type": "775"
},
{
"name": "buffer-length",
@@ -20451,7 +20452,7 @@
"meta-type": "object"
},
{
- "name": "696",
+ "name": "698",
"members": [
{
"name": "mixing-engine",
@@ -20481,7 +20482,7 @@
{
"name": "format",
"default": null,
- "type": "773"
+ "type": "775"
},
{
"name": "buffer-length",
@@ -20507,7 +20508,7 @@
"meta-type": "object"
},
{
- "name": "697",
+ "name": "699",
"members": [
{
"name": "mixing-engine",
@@ -20537,7 +20538,7 @@
{
"name": "format",
"default": null,
- "type": "773"
+ "type": "775"
},
{
"name": "buffer-length",
@@ -20563,7 +20564,7 @@
"meta-type": "object"
},
{
- "name": "698",
+ "name": "700",
"members": [
{
"name": "mixing-engine",
@@ -20593,7 +20594,7 @@
{
"name": "format",
"default": null,
- "type": "773"
+ "type": "775"
},
{
"name": "buffer-length",
@@ -20609,7 +20610,7 @@
"meta-type": "object"
},
{
- "name": "699",
+ "name": "701",
"members": [
{
"name": "desc",
@@ -20624,7 +20625,7 @@
"meta-type": "object"
},
{
- "name": "700",
+ "name": "702",
"members": [
{
"name": "device",
@@ -20648,27 +20649,27 @@
"meta-type": "object"
},
{
- "name": "701",
+ "name": "703",
"members": [
{
"name": "bus",
- "type": "774"
+ "type": "776"
},
{
"name": "devices",
"default": null,
- "type": "[548]"
+ "type": "[550]"
}
],
"meta-type": "object"
},
{
- "name": "[702]",
- "element-type": "702",
+ "name": "[704]",
+ "element-type": "704",
"meta-type": "array"
},
{
- "name": "702",
+ "name": "704",
"members": [
{
"name": "bar",
@@ -20700,7 +20701,7 @@
"meta-type": "object"
},
{
- "name": "703",
+ "name": "705",
"members": [
{
"type": "int"
@@ -20715,7 +20716,7 @@
"meta-type": "alternate"
},
{
- "name": "704",
+ "name": "706",
"members": [
{
"name": "cumulative"
@@ -20743,7 +20744,7 @@
]
},
{
- "name": "705",
+ "name": "707",
"members": [
{
"name": "bytes"
@@ -20767,7 +20768,7 @@
]
},
{
- "name": "706",
+ "name": "708",
"members": [
{
"name": "protocols",
@@ -20782,7 +20783,7 @@
"meta-type": "object"
},
{
- "name": "707",
+ "name": "709",
"members": [
{
"name": "builtin"
@@ -20802,7 +20803,7 @@
]
},
{
- "name": "708",
+ "name": "710",
"members": [
{
"name": "cache-data-parity"
@@ -20870,7 +20871,7 @@
]
},
{
- "name": "709",
+ "name": "711",
"members": [
{
"name": "unknown"
@@ -20898,7 +20899,7 @@
]
},
{
- "name": "710",
+ "name": "712",
"members": [
{
"name": "qcow2"
@@ -20926,57 +20927,57 @@
]
},
{
- "name": "711",
+ "name": "713",
"members": [
{
"name": "data",
- "type": "775"
+ "type": "777"
}
],
"meta-type": "object"
},
{
- "name": "712",
+ "name": "714",
"members": [
{
"name": "data",
- "type": "776"
+ "type": "778"
}
],
"meta-type": "object"
},
{
- "name": "713",
+ "name": "715",
"members": [
{
"name": "data",
- "type": "777"
+ "type": "779"
}
],
"meta-type": "object"
},
{
- "name": "714",
+ "name": "716",
"members": [
{
"name": "data",
- "type": "778"
+ "type": "780"
}
],
"meta-type": "object"
},
{
- "name": "715",
+ "name": "717",
"members": [
{
"name": "data",
- "type": "779"
+ "type": "781"
}
],
"meta-type": "object"
},
{
- "name": "716",
+ "name": "718",
"members": [
{
"name": "l1_update"
@@ -21176,7 +21177,7 @@
]
},
{
- "name": "717",
+ "name": "719",
"members": [
{
"name": "read"
@@ -21208,7 +21209,7 @@
]
},
{
- "name": "718",
+ "name": "720",
"members": [
{
"name": "inet"
@@ -21220,12 +21221,12 @@
]
},
{
- "name": "719",
+ "name": "721",
"members": [
{
"name": "template",
"default": null,
- "type": "720"
+ "type": "722"
},
{
"name": "main-header",
@@ -21276,7 +21277,7 @@
"meta-type": "object"
},
{
- "name": "720",
+ "name": "722",
"members": [
{
"name": "none"
@@ -21300,7 +21301,7 @@
]
},
{
- "name": "721",
+ "name": "723",
"members": [
{
"name": "aes"
@@ -21316,7 +21317,7 @@
]
},
{
- "name": "722",
+ "name": "724",
"members": [
{
"name": "key-secret",
@@ -21327,7 +21328,7 @@
"meta-type": "object"
},
{
- "name": "723",
+ "name": "725",
"members": [
{
"name": "key-secret",
@@ -21338,7 +21339,7 @@
"meta-type": "object"
},
{
- "name": "724",
+ "name": "726",
"members": [
{
"name": "aes"
@@ -21350,7 +21351,7 @@
]
},
{
- "name": "725",
+ "name": "727",
"members": [
{
"name": "luks"
@@ -21370,7 +21371,7 @@
]
},
{
- "name": "726",
+ "name": "728",
"members": [
{
"name": "key-secret",
@@ -21380,7 +21381,7 @@
"meta-type": "object"
},
{
- "name": "727",
+ "name": "729",
"members": [
{
"name": "key-secret",
@@ -21390,7 +21391,7 @@
"meta-type": "object"
},
{
- "name": "728",
+ "name": "730",
"members": [
{
"name": "key-secret",
@@ -21400,7 +21401,7 @@
"meta-type": "object"
},
{
- "name": "729",
+ "name": "731",
"members": [
{
"name": "none"
@@ -21420,11 +21421,11 @@
]
},
{
- "name": "730",
+ "name": "732",
"members": [
{
"name": "type",
- "type": "780"
+ "type": "782"
},
{
"name": "hash",
@@ -21434,7 +21435,7 @@
"meta-type": "object"
},
{
- "name": "731",
+ "name": "733",
"members": [
{
"name": "off"
@@ -21458,7 +21459,7 @@
]
},
{
- "name": "732",
+ "name": "734",
"members": [
{
"name": "aes-128"
@@ -21518,7 +21519,7 @@
]
},
{
- "name": "733",
+ "name": "735",
"members": [
{
"name": "ecb"
@@ -21542,7 +21543,7 @@
]
},
{
- "name": "734",
+ "name": "736",
"members": [
{
"name": "plain"
@@ -21562,7 +21563,7 @@
]
},
{
- "name": "735",
+ "name": "737",
"members": [
{
"name": "md5"
@@ -21584,6 +21585,9 @@
},
{
"name": "ripemd160"
+ },
+ {
+ "name": "sm3"
}
],
"meta-type": "enum",
@@ -21594,32 +21598,33 @@
"sha256",
"sha384",
"sha512",
- "ripemd160"
+ "ripemd160",
+ "sm3"
]
},
{
- "name": "736",
+ "name": "738",
"tag": "format",
"variants": [
{
"case": "qcow",
- "type": "722"
+ "type": "724"
},
{
"case": "luks",
- "type": "782"
+ "type": "784"
}
],
"members": [
{
"name": "format",
- "type": "781"
+ "type": "783"
}
],
"meta-type": "object"
},
{
- "name": "737",
+ "name": "739",
"members": [
{
"name": "v2"
@@ -21635,7 +21640,7 @@
]
},
{
- "name": "738",
+ "name": "740",
"members": [
{
"name": "zlib"
@@ -21651,16 +21656,16 @@
]
},
{
- "name": "739",
+ "name": "741",
"tag": "format",
"variants": [
{
"case": "luks",
- "type": "783"
+ "type": "785"
},
{
"case": "luks2",
- "type": "784"
+ "type": "786"
},
{
"case": "luks-any",
@@ -21670,13 +21675,13 @@
"members": [
{
"name": "format",
- "type": "725"
+ "type": "727"
}
],
"meta-type": "object"
},
{
- "name": "740",
+ "name": "742",
"members": [
{
"name": "dynamic"
@@ -21692,7 +21697,7 @@
]
},
{
- "name": "741",
+ "name": "743",
"members": [
{
"name": "monolithicSparse"
@@ -21720,7 +21725,7 @@
]
},
{
- "name": "742",
+ "name": "744",
"members": [
{
"name": "ide"
@@ -21744,7 +21749,7 @@
]
},
{
- "name": "743",
+ "name": "745",
"members": [
{
"name": "dynamic"
@@ -21760,7 +21765,7 @@
]
},
{
- "name": "744",
+ "name": "746",
"members": [
{
"name": "active"
@@ -21776,12 +21781,12 @@
]
},
{
- "name": "745",
+ "name": "747",
"tag": "format",
"variants": [
{
"case": "luks",
- "type": "785"
+ "type": "787"
},
{
"case": "qcow",
@@ -21791,13 +21796,13 @@
"members": [
{
"name": "format",
- "type": "781"
+ "type": "783"
}
],
"meta-type": "object"
},
{
- "name": "746",
+ "name": "748",
"members": [
{
"name": "logfile",
@@ -21827,7 +21832,7 @@
"meta-type": "object"
},
{
- "name": "747",
+ "name": "749",
"members": [
{
"name": "logfile",
@@ -21847,7 +21852,7 @@
"meta-type": "object"
},
{
- "name": "748",
+ "name": "750",
"members": [
{
"name": "logfile",
@@ -21861,7 +21866,7 @@
},
{
"name": "addr",
- "type": "360"
+ "type": "361"
},
{
"name": "tls-creds",
@@ -21920,7 +21925,7 @@
"meta-type": "object"
},
{
- "name": "749",
+ "name": "751",
"members": [
{
"name": "logfile",
@@ -21934,18 +21939,18 @@
},
{
"name": "remote",
- "type": "360"
+ "type": "361"
},
{
"name": "local",
"default": null,
- "type": "360"
+ "type": "361"
}
],
"meta-type": "object"
},
{
- "name": "750",
+ "name": "752",
"members": [
{
"name": "logfile",
@@ -21966,7 +21971,7 @@
"meta-type": "object"
},
{
- "name": "751",
+ "name": "753",
"members": [
{
"name": "logfile",
@@ -21982,7 +21987,7 @@
"meta-type": "object"
},
{
- "name": "752",
+ "name": "754",
"members": [
{
"name": "logfile",
@@ -22002,7 +22007,7 @@
"meta-type": "object"
},
{
- "name": "753",
+ "name": "755",
"members": [
{
"name": "logfile",
@@ -22023,7 +22028,7 @@
"meta-type": "object"
},
{
- "name": "757",
+ "name": "759",
"members": [
{
"name": "logfile",
@@ -22043,7 +22048,7 @@
"meta-type": "object"
},
{
- "name": "758",
+ "name": "760",
"members": [
{
"name": "logfile",
@@ -22079,7 +22084,7 @@
"meta-type": "object"
},
{
- "name": "759",
+ "name": "761",
"members": [
{
"name": "logfile",
@@ -22100,7 +22105,7 @@
"meta-type": "object"
},
{
- "name": "760",
+ "name": "762",
"members": [
{
"name": "path",
@@ -22116,7 +22121,7 @@
"meta-type": "object"
},
{
- "name": "761",
+ "name": "763",
"members": [
{
"name": "chardev",
@@ -22126,7 +22131,7 @@
"meta-type": "object"
},
{
- "name": "762",
+ "name": "764",
"members": [
{
"name": "unmapped"
@@ -22782,11 +22787,11 @@
]
},
{
- "name": "763",
+ "name": "765",
"members": [
{
"name": "key",
- "type": "414"
+ "type": "415"
},
{
"name": "down",
@@ -22796,11 +22801,11 @@
"meta-type": "object"
},
{
- "name": "764",
+ "name": "766",
"members": [
{
"name": "button",
- "type": "786"
+ "type": "788"
},
{
"name": "down",
@@ -22810,11 +22815,11 @@
"meta-type": "object"
},
{
- "name": "765",
+ "name": "767",
"members": [
{
"name": "axis",
- "type": "787"
+ "type": "789"
},
{
"name": "value",
@@ -22824,11 +22829,11 @@
"meta-type": "object"
},
{
- "name": "766",
+ "name": "768",
"members": [
{
"name": "type",
- "type": "788"
+ "type": "790"
},
{
"name": "slot",
@@ -22840,7 +22845,7 @@
},
{
"name": "axis",
- "type": "787"
+ "type": "789"
},
{
"name": "value",
@@ -22850,7 +22855,7 @@
"meta-type": "object"
},
{
- "name": "767",
+ "name": "769",
"members": [
{
"name": "persistent",
@@ -22861,7 +22866,7 @@
"meta-type": "object"
},
{
- "name": "768",
+ "name": "770",
"members": [
{
"name": "socket"
@@ -22885,7 +22890,7 @@
]
},
{
- "name": "769",
+ "name": "771",
"members": [
{
"name": "args",
@@ -22895,7 +22900,7 @@
"meta-type": "object"
},
{
- "name": "770",
+ "name": "772",
"members": [
{
"name": "filename",
@@ -22909,12 +22914,12 @@
"meta-type": "object"
},
{
- "name": "771",
+ "name": "773",
"members": [],
"meta-type": "object"
},
{
- "name": "772",
+ "name": "774",
"members": [
{
"name": "exact"
@@ -22930,7 +22935,7 @@
]
},
{
- "name": "773",
+ "name": "775",
"members": [
{
"name": "u8"
@@ -22966,7 +22971,7 @@
]
},
{
- "name": "774",
+ "name": "776",
"members": [
{
"name": "number",
@@ -22982,21 +22987,21 @@
},
{
"name": "io_range",
- "type": "789"
+ "type": "791"
},
{
"name": "memory_range",
- "type": "789"
+ "type": "791"
},
{
"name": "prefetchable_range",
- "type": "789"
+ "type": "791"
}
],
"meta-type": "object"
},
{
- "name": "775",
+ "name": "777",
"members": [
{
"name": "compat",
@@ -23034,22 +23039,22 @@
{
"name": "encrypt",
"default": null,
- "type": "790"
+ "type": "792"
},
{
"name": "bitmaps",
"default": null,
- "type": "[791]"
+ "type": "[793]"
},
{
"name": "compression-type",
- "type": "738"
+ "type": "740"
}
],
"meta-type": "object"
},
{
- "name": "776",
+ "name": "778",
"members": [
{
"name": "create-type",
@@ -23065,34 +23070,34 @@
},
{
"name": "extents",
- "type": "[792]"
+ "type": "[794]"
}
],
"meta-type": "object"
},
{
- "name": "777",
+ "name": "779",
"members": [
{
"name": "cipher-alg",
- "type": "732"
+ "type": "734"
},
{
"name": "cipher-mode",
- "type": "733"
+ "type": "735"
},
{
"name": "ivgen-alg",
- "type": "734"
+ "type": "736"
},
{
"name": "ivgen-hash-alg",
"default": null,
- "type": "735"
+ "type": "737"
},
{
"name": "hash-alg",
- "type": "735"
+ "type": "737"
},
{
"name": "detached-header",
@@ -23112,24 +23117,24 @@
},
{
"name": "slots",
- "type": "[793]"
+ "type": "[795]"
}
],
"meta-type": "object"
},
{
- "name": "778",
+ "name": "780",
"members": [
{
"name": "encryption-format",
"default": null,
- "type": "725"
+ "type": "727"
}
],
"meta-type": "object"
},
{
- "name": "779",
+ "name": "781",
"members": [
{
"name": "extent-size-hint",
@@ -23140,7 +23145,7 @@
"meta-type": "object"
},
{
- "name": "780",
+ "name": "782",
"members": [
{
"name": "md5"
@@ -23160,7 +23165,7 @@
]
},
{
- "name": "781",
+ "name": "783",
"members": [
{
"name": "qcow"
@@ -23176,7 +23181,7 @@
]
},
{
- "name": "782",
+ "name": "784",
"members": [
{
"name": "key-secret",
@@ -23186,27 +23191,27 @@
{
"name": "cipher-alg",
"default": null,
- "type": "732"
+ "type": "734"
},
{
"name": "cipher-mode",
"default": null,
- "type": "733"
+ "type": "735"
},
{
"name": "ivgen-alg",
"default": null,
- "type": "734"
+ "type": "736"
},
{
"name": "ivgen-hash-alg",
"default": null,
- "type": "735"
+ "type": "737"
},
{
"name": "hash-alg",
"default": null,
- "type": "735"
+ "type": "737"
},
{
"name": "iter-time",
@@ -23217,7 +23222,7 @@
"meta-type": "object"
},
{
- "name": "783",
+ "name": "785",
"members": [
{
"name": "key-secret",
@@ -23226,13 +23231,13 @@
{
"name": "cipher-alg",
"default": null,
- "type": "732"
+ "type": "734"
}
],
"meta-type": "object"
},
{
- "name": "784",
+ "name": "786",
"members": [
{
"name": "key-secret",
@@ -23241,17 +23246,17 @@
{
"name": "cipher-alg",
"default": null,
- "type": "732"
+ "type": "734"
}
],
"meta-type": "object"
},
{
- "name": "785",
+ "name": "787",
"members": [
{
"name": "state",
- "type": "744"
+ "type": "746"
},
{
"name": "new-secret",
@@ -23282,7 +23287,7 @@
"meta-type": "object"
},
{
- "name": "786",
+ "name": "788",
"members": [
{
"name": "left"
@@ -23330,7 +23335,7 @@
]
},
{
- "name": "787",
+ "name": "789",
"members": [
{
"name": "x"
@@ -23346,7 +23351,7 @@
]
},
{
- "name": "788",
+ "name": "790",
"members": [
{
"name": "begin"
@@ -23374,7 +23379,7 @@
]
},
{
- "name": "789",
+ "name": "791",
"members": [
{
"name": "base",
@@ -23388,12 +23393,12 @@
"meta-type": "object"
},
{
- "name": "790",
+ "name": "792",
"tag": "format",
"variants": [
{
"case": "luks",
- "type": "777"
+ "type": "779"
},
{
"case": "aes",
@@ -23403,18 +23408,18 @@
"members": [
{
"name": "format",
- "type": "721"
+ "type": "723"
}
],
"meta-type": "object"
},
{
- "name": "[791]",
- "element-type": "791",
+ "name": "[793]",
+ "element-type": "793",
"meta-type": "array"
},
{
- "name": "791",
+ "name": "793",
"members": [
{
"name": "name",
@@ -23426,18 +23431,18 @@
},
{
"name": "flags",
- "type": "[794]"
+ "type": "[796]"
}
],
"meta-type": "object"
},
{
- "name": "[792]",
- "element-type": "792",
+ "name": "[794]",
+ "element-type": "794",
"meta-type": "array"
},
{
- "name": "792",
+ "name": "794",
"members": [
{
"name": "filename",
@@ -23465,12 +23470,12 @@
"meta-type": "object"
},
{
- "name": "[793]",
- "element-type": "793",
+ "name": "[795]",
+ "element-type": "795",
"meta-type": "array"
},
{
- "name": "793",
+ "name": "795",
"members": [
{
"name": "active",
@@ -23494,12 +23499,12 @@
"meta-type": "object"
},
{
- "name": "[794]",
- "element-type": "794",
+ "name": "[796]",
+ "element-type": "796",
"meta-type": "array"
},
{
- "name": "794",
+ "name": "796",
"members": [
{
"name": "in-use"
@@ -25112,6 +25117,12 @@
"name": "romfile",
"type": "str"
},
+ {
+ "default-value": true,
+ "name": "x-pcie-ext-tag",
+ "description": "on/off",
+ "type": "bool"
+ },
{
"default-value": -1,
"name": "addr",
@@ -25158,6 +25169,10 @@
"description": "on/off",
"type": "bool"
},
+ {
+ "name": "busnr",
+ "type": "busnr"
+ },
{
"default-value": 0,
"name": "acpi-index",
@@ -25547,6 +25562,12 @@
"name": "romfile",
"type": "str"
},
+ {
+ "default-value": true,
+ "name": "x-pcie-ext-tag",
+ "description": "on/off",
+ "type": "bool"
+ },
{
"default-value": -1,
"name": "addr",
@@ -25593,6 +25614,10 @@
"description": "on/off",
"type": "bool"
},
+ {
+ "name": "busnr",
+ "type": "busnr"
+ },
{
"default-value": 0,
"name": "acpi-index",
@@ -26032,6 +26057,12 @@
"name": "romfile",
"type": "str"
},
+ {
+ "default-value": true,
+ "name": "x-pcie-ext-tag",
+ "description": "on/off",
+ "type": "bool"
+ },
{
"default-value": -1,
"name": "addr",
@@ -26078,6 +26109,10 @@
"description": "on/off",
"type": "bool"
},
+ {
+ "name": "busnr",
+ "type": "busnr"
+ },
{
"default-value": 0,
"name": "acpi-index",
@@ -26316,11 +26351,6 @@
{
"return": [
- {
- "name": "loadparm",
- "description": "Up to 8 chars in set of [A-Za-z0-9. ] to pass to the guest loader/kernel",
- "type": "ccw_loadparm"
- },
{
"name": "dev_id",
"description": "Read-only identifier of an I/O device in the channel subsystem, example: fe.1.23ab",
@@ -26336,6 +26366,11 @@
"description": "Read-only identifier of an I/O device in the channel subsystem, example: fe.1.23ab",
"type": "str"
},
+ {
+ "name": "loadparm",
+ "description": "Up to 8 chars in set of [A-Za-z0-9. ] to pass to the guest loader/kernel",
+ "type": "ccw_loadparm"
+ },
{
"default-value": 2,
"name": "max_revision",
@@ -26607,11 +26642,6 @@
{
"return": [
- {
- "name": "loadparm",
- "description": "Up to 8 chars in set of [A-Za-z0-9. ] to pass to the guest loader/kernel",
- "type": "ccw_loadparm"
- },
{
"name": "dev_id",
"description": "Read-only identifier of an I/O device in the channel subsystem, example: fe.1.23ab",
@@ -26627,6 +26657,11 @@
"description": "Read-only identifier of an I/O device in the channel subsystem, example: fe.1.23ab",
"type": "str"
},
+ {
+ "name": "loadparm",
+ "description": "Up to 8 chars in set of [A-Za-z0-9. ] to pass to the guest loader/kernel",
+ "type": "ccw_loadparm"
+ },
{
"default-value": 2,
"name": "max_revision",
@@ -26953,11 +26988,6 @@
{
"return": [
- {
- "name": "loadparm",
- "description": "Up to 8 chars in set of [A-Za-z0-9. ] to pass to the guest loader/kernel",
- "type": "ccw_loadparm"
- },
{
"name": "dev_id",
"description": "Read-only identifier of an I/O device in the channel subsystem, example: fe.1.23ab",
@@ -27114,6 +27144,12 @@
"name": "romfile",
"type": "str"
},
+ {
+ "default-value": true,
+ "name": "x-pcie-ext-tag",
+ "description": "on/off",
+ "type": "bool"
+ },
{
"default-value": -1,
"name": "addr",
@@ -27160,6 +27196,10 @@
"description": "on/off",
"type": "bool"
},
+ {
+ "name": "busnr",
+ "type": "busnr"
+ },
{
"default-value": 0,
"name": "acpi-index",
@@ -27509,6 +27549,11 @@
"description": "A power of two between 512 B and 2 MiB",
"type": "size"
},
+ {
+ "name": "loadparm",
+ "description": "load parameter (s390x only)",
+ "type": "string"
+ },
{
"default-value": true,
"name": "migrate-emulated-scsi-request",
@@ -27811,6 +27856,12 @@
"name": "romfile",
"type": "str"
},
+ {
+ "default-value": true,
+ "name": "x-pcie-ext-tag",
+ "description": "on/off",
+ "type": "bool"
+ },
{
"default-value": -1,
"name": "addr",
@@ -27857,6 +27908,10 @@
"description": "on/off",
"type": "bool"
},
+ {
+ "name": "busnr",
+ "type": "busnr"
+ },
{
"default-value": 0,
"name": "acpi-index",
@@ -28239,6 +28294,12 @@
"name": "romfile",
"type": "str"
},
+ {
+ "default-value": true,
+ "name": "x-pcie-ext-tag",
+ "description": "on/off",
+ "type": "bool"
+ },
{
"default-value": -1,
"name": "addr",
@@ -28285,6 +28346,10 @@
"description": "on/off",
"type": "bool"
},
+ {
+ "name": "busnr",
+ "type": "busnr"
+ },
{
"default-value": 0,
"name": "acpi-index",
@@ -28512,11 +28577,6 @@
{
"return": [
- {
- "name": "loadparm",
- "description": "Up to 8 chars in set of [A-Za-z0-9. ] to pass to the guest loader/kernel",
- "type": "ccw_loadparm"
- },
{
"name": "dev_id",
"description": "Read-only identifier of an I/O device in the channel subsystem, example: fe.1.23ab",
@@ -28783,11 +28843,6 @@
{
"return": [
- {
- "name": "loadparm",
- "description": "Up to 8 chars in set of [A-Za-z0-9. ] to pass to the guest loader/kernel",
- "type": "ccw_loadparm"
- },
{
"name": "dev_id",
"description": "Read-only identifier of an I/O device in the channel subsystem, example: fe.1.23ab",
@@ -29149,6 +29204,12 @@
"name": "romfile",
"type": "str"
},
+ {
+ "default-value": true,
+ "name": "x-pcie-ext-tag",
+ "description": "on/off",
+ "type": "bool"
+ },
{
"default-value": -1,
"name": "addr",
@@ -29195,6 +29256,10 @@
"description": "on/off",
"type": "bool"
},
+ {
+ "name": "busnr",
+ "type": "busnr"
+ },
{
"default-value": 0,
"name": "acpi-index",
@@ -29411,11 +29476,6 @@
{
"return": [
- {
- "name": "loadparm",
- "description": "Up to 8 chars in set of [A-Za-z0-9. ] to pass to the guest loader/kernel",
- "type": "ccw_loadparm"
- },
{
"name": "dev_id",
"description": "Read-only identifier of an I/O device in the channel subsystem, example: fe.1.23ab",
@@ -29431,6 +29491,11 @@
"description": "Read-only identifier of an I/O device in the channel subsystem, example: fe.1.23ab",
"type": "str"
},
+ {
+ "name": "loadparm",
+ "description": "Up to 8 chars in set of [A-Za-z0-9. ] to pass to the guest loader/kernel",
+ "type": "ccw_loadparm"
+ },
{
"default-value": 2,
"name": "max_revision",
@@ -29992,7 +30057,7 @@
"default-cpu-type": "host-s390x-cpu",
"acpi": false,
"cpu-max": 248,
- "deprecated": false,
+ "deprecated": true,
"default-ram-id": "s390.ram"
},
{
@@ -30221,6 +30286,11 @@
"description": "Overrides the \"compatible\" property of the dt root node",
"type": "string"
},
+ {
+ "name": "suppress-vmdesc",
+ "description": "Set on to disable self-describing migration",
+ "type": "bool"
+ },
{
"name": "boot",
"description": "Boot configuration",
@@ -30272,39 +30342,39 @@
"type": "bool"
},
{
- "name": "phandle-start",
- "description": "The first phandle ID we may generate dynamically",
- "type": "int"
+ "name": "smp-cache",
+ "description": "Cache properties list for SMP machine",
+ "type": "SmpCachePropertiesWrapper"
},
{
"name": "dumpdtb",
"description": "Dump current dtb to a file and quit",
"type": "string"
},
+ {
+ "name": "phandle-start",
+ "description": "The first phandle ID we may generate dynamically",
+ "type": "int"
+ },
{
"name": "memory-backend",
"description": "Set RAM backendValid value is ID of hostmem based backend",
"type": "link<memory-backend>"
},
- {
- "name": "dtb",
- "description": "Linux kernel device tree file",
- "type": "string"
- },
{
"name": "mem-merge",
"description": "Enable/disable memory merge support",
"type": "bool"
},
{
- "name": "append",
- "description": "Linux kernel command line",
+ "name": "dtb",
+ "description": "Linux kernel device tree file",
"type": "string"
},
{
- "name": "suppress-vmdesc",
- "description": "Set on to disable self-describing migration",
- "type": "bool"
+ "name": "append",
+ "description": "Linux kernel command line",
+ "type": "string"
},
{
"name": "peripheral-anon",
@@ -31013,6 +31083,11 @@
"help": "Overrides the \"compatible\" property of the dt root node",
"type": "string"
},
+ {
+ "name": "suppress-vmdesc",
+ "help": "Set on to disable self-describing migration",
+ "type": "boolean"
+ },
{
"name": "boot",
"help": "Boot configuration",
@@ -31064,9 +31139,9 @@
"type": "boolean"
},
{
- "name": "phandle-start",
- "help": "The first phandle ID we may generate dynamically",
- "type": "number"
+ "name": "smp-cache",
+ "help": "Cache properties list for SMP machine",
+ "type": "string"
},
{
"name": "dumpdtb",
@@ -31074,13 +31149,13 @@
"type": "string"
},
{
- "name": "memory-backend",
- "help": "Set RAM backendValid value is ID of hostmem based backend",
- "type": "string"
+ "name": "phandle-start",
+ "help": "The first phandle ID we may generate dynamically",
+ "type": "number"
},
{
- "name": "dtb",
- "help": "Linux kernel device tree file",
+ "name": "memory-backend",
+ "help": "Set RAM backendValid value is ID of hostmem based backend",
"type": "string"
},
{
@@ -31089,14 +31164,14 @@
"type": "boolean"
},
{
- "name": "append",
- "help": "Linux kernel command line",
+ "name": "dtb",
+ "help": "Linux kernel device tree file",
"type": "string"
},
{
- "name": "suppress-vmdesc",
- "help": "Set on to disable self-describing migration",
- "type": "boolean"
+ "name": "append",
+ "help": "Linux kernel command line",
+ "type": "string"
},
{
"name": "loadparm",
@@ -32433,12 +32508,27 @@
"model": {
"name": "gen16a-base",
"props": {
+ "pfmfi": false,
+ "exrl": true,
+ "stfle45": true,
"nnpa": true,
+ "cmma": false,
+ "dateh2": true,
"aen": true,
+ "gen13ptff": true,
+ "dateh": true,
"cmmnt": true,
+ "iacc2": true,
+ "parseh": true,
+ "csst": true,
+ "idter": false,
+ "idtes": true,
+ "msa": true,
"vxpdeh": true,
"aefsi": true,
"diag318": true,
+ "hpma2": false,
+ "csst2": true,
"csske": true,
"mepoch": true,
"msa9": true,
@@ -32451,42 +32541,96 @@
"msa2": true,
"msa1": true,
"sthyi": true,
+ "stckf": true,
+ "stfle": true,
+ "etf3": true,
+ "etf2": true,
"edat": true,
+ "hfpm": true,
"ri": true,
"deflate": true,
"edat2": true,
+ "hfpue": true,
+ "unpack": false,
+ "dfp": true,
+ "mvcos": true,
"etoken": true,
+ "sprogp": true,
+ "sigpif": false,
+ "ldisphp": true,
"vx": true,
"ipter": true,
"pai": true,
+ "emon": true,
+ "cei": false,
+ "cmpsceh": true,
+ "ginste": true,
"paie": true,
+ "dfppc": true,
+ "dfpzc": true,
+ "dfphp": true,
+ "stfle49": true,
"mepochptff": true,
+ "opc": true,
"ap": true,
+ "asnlxr": true,
+ "gpereh": false,
+ "minste2": true,
"vxeh": true,
"vxpd": true,
"esop": true,
+ "ectg": true,
+ "ib": false,
"msa9_pckmo": true,
+ "siif": false,
"vxeh2": true,
+ "tsi": true,
+ "tpei": false,
+ "esan3": true,
"esort": true,
+ "fpe": true,
+ "ibs": false,
+ "zarch": true,
"appv": true,
"apqi": true,
"apft": true,
+ "stfle53": true,
"els": true,
+ "sief2": false,
+ "eimm": true,
"iep": true,
+ "irbm": false,
+ "srs": true,
"appvi": true,
"apqci": true,
+ "kss": false,
"cte": true,
"ais": true,
+ "fpseh": true,
+ "ltlbc": true,
+ "ldisp": true,
"bpb": true,
+ "64bscao": false,
"ctop": true,
"gs": true,
+ "sema": true,
+ "etf3eh": true,
+ "etf2eh": true,
+ "eec": true,
"ppa15": true,
"zpci": true,
"rdp": true,
+ "nonqks": true,
"sea_esop2": true,
+ "minste3": true,
"beareh": true,
+ "pfpo": true,
"te": true,
"cmm": true,
+ "tods": true,
+ "plo": true,
+ "gsls": false,
+ "skey": false,
"vxpdeh2": true
}
}
@@ -36879,7 +37023,7 @@
"default-cpu-type": "qemu-s390x-cpu",
"acpi": false,
"cpu-max": 248,
- "deprecated": false,
+ "deprecated": true,
"default-ram-id": "s390.ram"
},
{
diff --git a/tests/qemucapabilitiesdata/caps_9.2.0_s390x.xml b/tests/qemucapabilitiesdata/caps_9.2.0_s390x.xml
index 767a95bd3e..49a4a14dc1 100644
--- a/tests/qemucapabilitiesdata/caps_9.2.0_s390x.xml
+++ b/tests/qemucapabilitiesdata/caps_9.2.0_s390x.xml
@@ -138,9 +138,9 @@
<flag name='netdev-stream-reconnect-miliseconds'/>
<flag name='query-cpu-model-expansion.deprecated-props'/>
<flag name='migrate-incoming.exit-on-error'/>
- <version>9001050</version>
+ <version>9002000</version>
<microcodeVersion>39100247</microcodeVersion>
- <package>v9.1.0-1348-g11b8920ed2</package>
+ <package>v9.2.0</package>
<arch>s390x</arch>
<hostCPU type='kvm' model='gen16a-base' migratability='no'>
<property name='nnpa' type='boolean' value='true'/>
@@ -293,7 +293,7 @@
<machine type='kvm' name='s390-ccw-virtio-2.8' hotplugCpus='yes' maxCpus='248' defaultCPU='host-s390x-cpu' defaultRAMid='s390.ram' deprecated='yes' acpi='no'/>
<machine type='kvm' name='s390-ccw-virtio-4.0' hotplugCpus='yes' maxCpus='248' defaultCPU='host-s390x-cpu' defaultRAMid='s390.ram' deprecated='yes' acpi='no'/>
<machine type='kvm' name='s390-ccw-virtio-8.2' hotplugCpus='yes' maxCpus='248' defaultCPU='host-s390x-cpu' defaultRAMid='s390.ram' acpi='no'/>
- <machine type='kvm' name='s390-ccw-virtio-6.2' hotplugCpus='yes' maxCpus='248' defaultCPU='host-s390x-cpu' defaultRAMid='s390.ram' acpi='no'/>
+ <machine type='kvm' name='s390-ccw-virtio-6.2' hotplugCpus='yes' maxCpus='248' defaultCPU='host-s390x-cpu' defaultRAMid='s390.ram' deprecated='yes' acpi='no'/>
<machine type='kvm' name='s390-ccw-virtio-3.0' hotplugCpus='yes' maxCpus='248' defaultCPU='host-s390x-cpu' defaultRAMid='s390.ram' deprecated='yes' acpi='no'/>
<machine type='kvm' name='s390-ccw-virtio-2.5' hotplugCpus='yes' maxCpus='248' defaultCPU='host-s390x-cpu' defaultRAMid='s390.ram' deprecated='yes' acpi='no'/>
<machine type='kvm' name='s390-ccw-virtio-7.2' hotplugCpus='yes' maxCpus='248' defaultCPU='host-s390x-cpu' defaultRAMid='s390.ram' acpi='no'/>
@@ -3743,7 +3743,7 @@
<machine type='tcg' name='s390-ccw-virtio-2.8' hotplugCpus='yes' maxCpus='248' defaultCPU='qemu-s390x-cpu' defaultRAMid='s390.ram' deprecated='yes' acpi='no'/>
<machine type='tcg' name='s390-ccw-virtio-4.0' hotplugCpus='yes' maxCpus='248' defaultCPU='qemu-s390x-cpu' defaultRAMid='s390.ram' deprecated='yes' acpi='no'/>
<machine type='tcg' name='s390-ccw-virtio-8.2' hotplugCpus='yes' maxCpus='248' defaultCPU='qemu-s390x-cpu' defaultRAMid='s390.ram' acpi='no'/>
- <machine type='tcg' name='s390-ccw-virtio-6.2' hotplugCpus='yes' maxCpus='248' defaultCPU='qemu-s390x-cpu' defaultRAMid='s390.ram' acpi='no'/>
+ <machine type='tcg' name='s390-ccw-virtio-6.2' hotplugCpus='yes' maxCpus='248' defaultCPU='qemu-s390x-cpu' defaultRAMid='s390.ram' deprecated='yes' acpi='no'/>
<machine type='tcg' name='s390-ccw-virtio-3.0' hotplugCpus='yes' maxCpus='248' defaultCPU='qemu-s390x-cpu' defaultRAMid='s390.ram' deprecated='yes' acpi='no'/>
<machine type='tcg' name='s390-ccw-virtio-2.5' hotplugCpus='yes' maxCpus='248' defaultCPU='qemu-s390x-cpu' defaultRAMid='s390.ram' deprecated='yes' acpi='no'/>
<machine type='tcg' name='s390-ccw-virtio-7.2' hotplugCpus='yes' maxCpus='248' defaultCPU='qemu-s390x-cpu' defaultRAMid='s390.ram' acpi='no'/>
--
2.47.0
2
2
11 Mar '25
This series starts the work needed to obsolete the libvirt-guests.sh
script which has grown a surprisingly large amount of functionality.
Currently the virt daemons will acquire inhibitors to delay OS shutdown
when VMs are running. The libvirt-guests.service unit can be used to
call libvirt-guests.sh to shutdown running VMs on system shutdown.
This split is a bad architecture because libvirt-guests.service will
only run once the system has decided to initiate the shutdown sequence.
When the user requests as shutdown while inhibitors are present, logind
will emit a "PrepareForShutdown" signal over dbus. Applications are
supposed to respond to this by preserving state & releasing their
inhibitors, which in turns allows shutdown to be initiated.
The remote daemon already has support for listening for the
"PrepareForShutdown" signal, but only does this for session instances,
not system instances.
This series essentially takes that logic and expands it to run in the
system instances too, thus conceptually making libvirt-guests.service
obsolete.
It is slightly more complicated than that though for many reasons...
Saving running VMs can take a very long time. The inhibitor delay
can be as low as 5 seconds, and when killing a service, systemd may
not wait very long for it to terminate. libvirt-guests.service deals
with this by setting TimeoutStopSecs=0 to make systemd wait forever.
This is undesirable to set in libvirtd.service though, as we would
like systemd to kill the daemon aggressively if it hangs. The series
thus uses the notification protocol to request systemd give it more
time to shutdown, as long as we're in the phase of saving running
VMs. A bug in this code will still result in systemd waiting forever,
which is no different from libvirt-guests.service, but a bug in any
other part of the libvirt daemon shutdown code will result in systemd
killing us.
The existing logic for saving VMs in the session daemons had many
feature gaps compared to libvirt-guests.sh. Thus there is code to
add support
* Requesting graceful OS shutdown if managed save failed
* Force poweroff of VMs if no other action worked
* Optionally enabling/disabling use of managed save,
graceful shutdown and force poweroff, which is more flexible
than ON_SHUTDOWN=nnn, as we can try the whole sequence of
options
* Ability to bypass cache in managed save
* Support for one-time autostart of VMs as an official API
To aid in testing this logic, virt-admin gains a new command
'virt-admin daemon-shutdown --preserve'
All this new functionality is wired up into the QEMU driver, and is
made easily accessible to other hypervisor drivers, so would easily
be extendable to Xen, CH, LXC drivers, but this is not done in this
series. IOW, libvirt-guests.service is not yet fully obsolete.
The new functionality is also not enabled by default for the system
daemon, it requires explicit admin changes to /etc/libvirt/qemu.conf
to enable it. This is because it would clash with execution of the
libvirt-guests.service if both were enabled.
It is highly desirable that we enable this by default though, so we
need to figure out a upgrade story wrt libvirt-guests.service.
The only libvirt-guests.sh features not implemented are:
* PARALLEL_SHUTDOWN=nn.
When doing a graceful shutdown we initiate it on every single VM
at once, and then monitor progress of all of them in parallel.
* SYNC_TIME=nn
When make not attempt to sync guest time when restoring from
managed save. This ought to be fixed
Daniel P. Berrangé (26):
util: add APIs for more systemd notifications
remote: notify systemd when reloading config
hypervisor: introduce helper for autostart
src: convert drivers over to use new autostart helper
hypervisor: add support for delay interval during autostart
qemu: add 'auto_start_delay' configuration parameter
hypervisor: move support for auto-shutdown out of QEMU driver
remote: always invoke virStateStop for all daemons
hypervisor: expand available shutdown actions
hypervisor: custom shutdown actions for transient vs persistent VMs
qemu: support automatic VM managed save in system daemon
qemu: improve shutdown defaults for session daemon
qemu: configurable delay for shutdown before poweroff
hypervisor: support bypassing cache for managed save
qemu: add config parameter to control auto-save bypass cache
src: add new APIs for marking a domain to autostart once
conf: implement support for autostart once feature
hypervisor: wire up support for auto restore of running domains
qemu: wire up support for once only autostart
qemu: add config to control if auto-shutdown VMs are restored
rpc: move state stop into virNetDaemon class
rpc: don't unconditionally quit after preserving state
rpc: fix shutdown sequence when preserving state
admin: add 'daemon-shutdown' command
rpc: don't let systemd shutdown daemon while saving VMs
hypervisor: send systemd status messages while saving
include/libvirt/libvirt-admin.h | 13 ++
include/libvirt/libvirt-domain.h | 4 +
src/admin/admin_protocol.x | 11 +-
src/admin/admin_server_dispatch.c | 13 ++
src/admin/libvirt-admin.c | 33 ++++
src/admin/libvirt_admin_public.syms | 5 +
src/bhyve/bhyve_driver.c | 53 ++----
src/conf/domain_conf.c | 6 +-
src/conf/domain_conf.h | 1 +
src/conf/virdomainobjlist.c | 7 +-
src/driver-hypervisor.h | 10 ++
src/hypervisor/domain_driver.c | 250 ++++++++++++++++++++++++++++
src/hypervisor/domain_driver.h | 42 +++++
src/libvirt-domain.c | 87 ++++++++++
src/libvirt_private.syms | 10 +-
src/libvirt_public.syms | 6 +
src/libvirt_remote.syms | 2 +-
src/libxl/libxl_driver.c | 36 ++--
src/lxc/lxc_driver.c | 13 +-
src/lxc/lxc_process.c | 18 +-
src/lxc/lxc_process.h | 2 +
src/qemu/libvirtd_qemu.aug | 7 +
src/qemu/qemu.conf.in | 59 +++++++
src/qemu/qemu_conf.c | 63 +++++++
src/qemu/qemu_conf.h | 7 +
src/qemu/qemu_driver.c | 203 +++++++++++++---------
src/qemu/test_libvirtd_qemu.aug.in | 7 +
src/remote/libvirtd.service.in | 2 +-
src/remote/remote_daemon.c | 78 +++------
src/remote/remote_driver.c | 2 +
src/remote/remote_protocol.x | 30 +++-
src/remote_protocol-structs | 12 ++
src/rpc/gendispatch.pl | 4 +-
src/rpc/virnetdaemon.c | 212 +++++++++++++++++++----
src/rpc/virnetdaemon.h | 20 ++-
src/util/virsystemd.c | 41 ++++-
src/util/virsystemd.h | 6 +-
src/virtd.service.in | 2 +-
tools/virsh-domain-monitor.c | 5 +
tools/virsh-domain.c | 39 ++++-
tools/virt-admin.c | 41 +++++
41 files changed, 1181 insertions(+), 281 deletions(-)
--
2.47.1
2
73
Builds for Linux without libnl is broken since commit
582f0966f9b9e2148d8887d072364e2a91aed000 so make libnl mandatory for
Linux.
Another option is to fix such builds, but it can bring more problems
than benefits. libnl is available on all supported distributions so the
only practical situation to lack libnl is that a developer does not have
a development package of libnl installed. Enabling builds in such a
situation make developers use builds divergent from CI and end-user
scenarios, which has some implications.
Builds without libnl lack several features such as SR-IOV,
bridge/tap, switchdev, macvlan, veth, and vlan. Some part of libvirt
may expect these features are readily available on Linux, and the lack
of libnl may cause a build failure like one mentioned earlier or runtime
errors even harder to debug.
Developers will then be forced to debug such bugs and to choose either
fixing the build configuration that has no real user or work around the
issue by installing the development package.
In any case, the bridge/tap configuration is one of the fundamental
features and developers are likely to want libnl for it.
Save the potential trouble for developers by requiring libnl for Linux
and let Meson direct them to install libnl.
Signed-off-by: Akihiko Odaki <akihiko.odaki(a)daynix.com>
---
Supersedes: <20250307-nl-v1-1-c66fc2bf8703(a)daynix.com>
("[PATCH] util: Check libnl function availability")
---
libvirt.spec.in | 2 -
meson.build | 16 +--
meson_options.txt | 1 -
src/util/virnetdev.c | 223 +++++++++++++++----------------------
src/util/virnetdevbridge.c | 27 +----
src/util/virnetdevip.c | 230 +++++++++++++++++++--------------------
src/util/virnetdevmacvlan.c | 6 +-
src/util/virnetdevveth.c | 35 ------
src/util/virnetdevvportprofile.c | 8 +-
src/util/virnetlink.c | 8 +-
src/util/virnetlink.h | 4 +-
tests/virnetdevtest.c | 8 --
12 files changed, 222 insertions(+), 346 deletions(-)
diff --git a/libvirt.spec.in b/libvirt.spec.in
index cb41ea1de1c6cd3d3d5f8c810d0df7be4f7d490f..9396029dd394d218f2c1c01740ad41754786dd04 100644
--- a/libvirt.spec.in
+++ b/libvirt.spec.in
@@ -1421,7 +1421,6 @@ export SOURCE_DATE_EPOCH=$(stat --printf='%Y' %{_specdir}/libvirt.spec)
-Dlibpcap=enabled \
%{?arg_nbdkit} \
%{?arg_nbdkit_config_default} \
- -Dlibnl=enabled \
-Daudit=enabled \
-Ddtrace=enabled \
-Dfirewalld=enabled \
@@ -1493,7 +1492,6 @@ export SOURCE_DATE_EPOCH=$(stat --printf='%Y' %{_specdir}/libvirt.spec)
-Dlibiscsi=disabled \
-Dnbdkit=disabled \
-Dnbdkit_config_default=disabled \
- -Dlibnl=disabled \
-Dlibpcap=disabled \
-Dlibssh2=disabled \
-Dlibssh=disabled \
diff --git a/meson.build b/meson.build
index 2d76a0846c6b94f8d168d25f09dd60954db770cb..fd90bb5b3005ac7ece24da4432fad78bdffdefe7 100644
--- a/meson.build
+++ b/meson.build
@@ -1086,18 +1086,10 @@ endif
conf.set10('USE_NBDKIT_DEFAULT', use_nbdkit_default)
libnl_version = '3.0'
-if not get_option('libnl').disabled() and host_machine.system() == 'linux'
- libnl_dep = dependency('libnl-3.0', version: '>=' + libnl_version, required: get_option('libnl'))
- libnl_route_dep = dependency('libnl-route-3.0', version: '>=' + libnl_version, required: get_option('libnl'))
-
- if libnl_dep.found() and libnl_route_dep.found()
- libnl_dep = declare_dependency(
- dependencies: [ libnl_dep, libnl_route_dep ],
- )
- conf.set('WITH_LIBNL', 1)
- endif
-elif get_option('libnl').enabled()
- error('libnl can be enabled only on linux')
+if host_machine.system() == 'linux'
+ libnl_dep = dependency('libnl-3.0', version: '>=' + libnl_version)
+ libnl_route_dep = dependency('libnl-route-3.0', version: '>=' + libnl_version)
+ libnl_dep = declare_dependency(dependencies: [ libnl_dep, libnl_route_dep ])
else
libnl_dep = dependency('', required: false)
endif
diff --git a/meson_options.txt b/meson_options.txt
index 3dc3e8667bb2cf73d96cd1ebe046590be55a5df8..bbcc13e8d8efa4c56cc3e0dc17386ccfd45b2b50 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -30,7 +30,6 @@ option('fuse', type: 'feature', value: 'auto', description: 'fuse support')
option('glusterfs', type: 'feature', value: 'auto', description: 'glusterfs support')
option('json_c', type: 'feature', value: 'auto', description: 'JSON-C support')
option('libiscsi', type: 'feature', value: 'auto', description: 'libiscsi support')
-option('libnl', type: 'feature', value: 'auto', description: 'libnl support')
option('libpcap', type: 'feature', value: 'auto', description: 'libpcap support')
option('libssh', type: 'feature', value: 'auto', description: 'libssh support')
option('libssh2', type: 'feature', value: 'auto', description: 'libssh2 support')
diff --git a/src/util/virnetdev.c b/src/util/virnetdev.c
index 8ae854245ed99dc1a3aa4c225b614ddbb449caf8..4129768bd42e7b1b2a9e7b24148627d1abe5458a 100644
--- a/src/util/virnetdev.c
+++ b/src/util/virnetdev.c
@@ -884,7 +884,7 @@ int virNetDevGetIndex(const char *ifname G_GNUC_UNUSED,
#endif /* ! SIOCGIFINDEX */
-#if defined(WITH_LIBNL)
+#if defined(__linux__)
/**
* virNetDevGetMaster:
* @ifname: name of interface we're interested in
@@ -914,29 +914,6 @@ virNetDevGetMaster(const char *ifname, char **master)
return 0;
}
-#elif defined(__linux__)
-
-/* libnl isn't available, so we can't use netlink.
- * Fall back to using sysfs
- */
-int
-virNetDevGetMaster(const char *ifname, char **master)
-{
- g_autofree char *path = NULL;
- g_autofree char *canonical = NULL;
-
- if (virNetDevSysfsFile(&path, ifname, "master") < 0)
- return -1;
-
- if (!(canonical = virFileCanonicalizePath(path)))
- return -1;
-
- *master = g_path_get_basename(canonical);
-
- VIR_DEBUG("IFLA_MASTER for %s is %s", ifname, *master ? *master : "(none)");
- return 0;
-}
-
#else
int
@@ -949,7 +926,7 @@ virNetDevGetMaster(const char *ifname G_GNUC_UNUSED,
}
-#endif /* defined(WITH_LIBNL) */
+#endif /* defined(__linux__) */
#if __linux__
@@ -1079,8 +1056,6 @@ virNetDevSysfsDeviceFile(char **pf_sysfs_device_link, const char *ifname,
}
-# if defined(WITH_LIBNL)
-
/**
* Determine if the device path specified in devpath is a PCI Device
* by resolving the 'subsystem'-link in devpath and looking for
@@ -1133,7 +1108,6 @@ virNetDevGetPCIDevice(const char *devName)
return virPCIDeviceNew(vfPCIAddr);
}
-# endif
/* A wrapper to get content of file from ifname SYSFS_NET_DIR
@@ -1381,99 +1355,6 @@ virNetDevGetVirtualFunctionInfo(const char *vfname, char **pfname,
return ret;
}
-#else /* !__linux__ */
-int
-virNetDevGetPhysPortID(const char *ifname G_GNUC_UNUSED,
- char **physPortID)
-{
- /* this actually should never be called, and is just here to
- * satisfy the linker.
- */
- *physPortID = NULL;
- return 0;
-}
-
-int
-virNetDevGetPhysPortName(const char *ifname G_GNUC_UNUSED,
- char **physPortName)
-{
- /* this actually should never be called, and is just here to
- * satisfy the linker.
- */
- *physPortName = NULL;
- return 0;
-}
-
-int
-virNetDevGetVirtualFunctions(const char *pfname G_GNUC_UNUSED,
- virPCIVirtualFunctionList **vfs G_GNUC_UNUSED)
-{
- virReportSystemError(ENOSYS, "%s",
- _("Unable to get virtual functions on this platform"));
- return -1;
-}
-
-int
-virNetDevIsVirtualFunction(const char *ifname G_GNUC_UNUSED)
-{
- virReportSystemError(ENOSYS, "%s",
- _("Unable to check virtual function status on this platform"));
- return -1;
-}
-
-int
-virNetDevGetVirtualFunctionIndex(const char *pfname G_GNUC_UNUSED,
- const char *vfname G_GNUC_UNUSED,
- int *vf_index G_GNUC_UNUSED)
-{
- virReportSystemError(ENOSYS, "%s",
- _("Unable to get virtual function index on this platform"));
- return -1;
-}
-
-int
-virNetDevGetPhysicalFunction(const char *ifname G_GNUC_UNUSED,
- char **pfname G_GNUC_UNUSED)
-{
- virReportSystemError(ENOSYS, "%s",
- _("Unable to get physical function status on this platform"));
- return -1;
-}
-
-int
-virNetDevPFGetVF(const char *pfname G_GNUC_UNUSED,
- int vf G_GNUC_UNUSED,
- char **vfname G_GNUC_UNUSED)
-{
- virReportSystemError(ENOSYS, "%s",
- _("Unable to get virtual function name on this platform"));
- return -1;
-}
-
-int
-virNetDevGetVirtualFunctionInfo(const char *vfname G_GNUC_UNUSED,
- char **pfname G_GNUC_UNUSED,
- int *vf G_GNUC_UNUSED)
-{
- virReportSystemError(ENOSYS, "%s",
- _("Unable to get virtual function info on this platform"));
- return -1;
-}
-
-int
-virNetDevSysfsFile(char **pf_sysfs_device_link G_GNUC_UNUSED,
- const char *ifname G_GNUC_UNUSED,
- const char *file G_GNUC_UNUSED)
-{
- virReportSystemError(ENOSYS, "%s",
- _("Unable to get sysfs info on this platform"));
- return -1;
-}
-
-
-#endif /* !__linux__ */
-#if defined(WITH_LIBNL)
-
static virMacAddr zeroMAC = { .addr = { 0, 0, 0, 0, 0, 0 } };
@@ -2379,8 +2260,94 @@ virNetDevSetNetConfig(const char *linkdev, int vf,
return 0;
}
+#else /* !__linux__ */
+int
+virNetDevGetPhysPortID(const char *ifname G_GNUC_UNUSED,
+ char **physPortID)
+{
+ /* this actually should never be called, and is just here to
+ * satisfy the linker.
+ */
+ *physPortID = NULL;
+ return 0;
+}
+
+int
+virNetDevGetPhysPortName(const char *ifname G_GNUC_UNUSED,
+ char **physPortName)
+{
+ /* this actually should never be called, and is just here to
+ * satisfy the linker.
+ */
+ *physPortName = NULL;
+ return 0;
+}
+
+int
+virNetDevGetVirtualFunctions(const char *pfname G_GNUC_UNUSED,
+ virPCIVirtualFunctionList **vfs G_GNUC_UNUSED)
+{
+ virReportSystemError(ENOSYS, "%s",
+ _("Unable to get virtual functions on this platform"));
+ return -1;
+}
+
+int
+virNetDevIsVirtualFunction(const char *ifname G_GNUC_UNUSED)
+{
+ virReportSystemError(ENOSYS, "%s",
+ _("Unable to check virtual function status on this platform"));
+ return -1;
+}
+
+int
+virNetDevGetVirtualFunctionIndex(const char *pfname G_GNUC_UNUSED,
+ const char *vfname G_GNUC_UNUSED,
+ int *vf_index G_GNUC_UNUSED)
+{
+ virReportSystemError(ENOSYS, "%s",
+ _("Unable to get virtual function index on this platform"));
+ return -1;
+}
+
+int
+virNetDevGetPhysicalFunction(const char *ifname G_GNUC_UNUSED,
+ char **pfname G_GNUC_UNUSED)
+{
+ virReportSystemError(ENOSYS, "%s",
+ _("Unable to get physical function status on this platform"));
+ return -1;
+}
-#else /* defined(WITH_LIBNL) */
+int
+virNetDevPFGetVF(const char *pfname G_GNUC_UNUSED,
+ int vf G_GNUC_UNUSED,
+ char **vfname G_GNUC_UNUSED)
+{
+ virReportSystemError(ENOSYS, "%s",
+ _("Unable to get virtual function name on this platform"));
+ return -1;
+}
+
+int
+virNetDevGetVirtualFunctionInfo(const char *vfname G_GNUC_UNUSED,
+ char **pfname G_GNUC_UNUSED,
+ int *vf G_GNUC_UNUSED)
+{
+ virReportSystemError(ENOSYS, "%s",
+ _("Unable to get virtual function info on this platform"));
+ return -1;
+}
+
+int
+virNetDevSysfsFile(char **pf_sysfs_device_link G_GNUC_UNUSED,
+ const char *ifname G_GNUC_UNUSED,
+ const char *file G_GNUC_UNUSED)
+{
+ virReportSystemError(ENOSYS, "%s",
+ _("Unable to get sysfs info on this platform"));
+ return -1;
+}
int
@@ -2477,7 +2444,7 @@ virNetDevSetVfConfig(const char *ifname G_GNUC_UNUSED,
}
-#endif /* defined(WITH_LIBNL) */
+#endif /* defined(__linux__) */
VIR_ENUM_IMPL(virNetDevIfState,
VIR_NETDEV_IF_STATE_LAST,
@@ -3095,8 +3062,6 @@ virNetDevGetEthtoolFeatures(const char *ifname,
}
-# if defined(WITH_LIBNL)
-
/**
* virNetDevGetFamilyId:
* This function supplies the devlink family id
@@ -3237,14 +3202,6 @@ virNetDevSwitchdevFeature(const char *ifname,
nlmsg_free(nl_msg);
return ret;
}
-# else
-static int
-virNetDevSwitchdevFeature(const char *ifname G_GNUC_UNUSED,
- virBitmap **out G_GNUC_UNUSED)
-{
- return 0;
-}
-# endif
/**
diff --git a/src/util/virnetdevbridge.c b/src/util/virnetdevbridge.c
index c79d0c79b7b16a0a070b5013ed7df9d0a63b1c38..45f8dd7e15286b875f5b54ad147b32323886e1f0 100644
--- a/src/util/virnetdevbridge.c
+++ b/src/util/virnetdevbridge.c
@@ -30,9 +30,7 @@
#endif
#ifdef __linux__
-# if defined(WITH_LIBNL)
-# include "virnetlink.h"
-# endif
+# include "virnetlink.h"
# include <linux/sockios.h>
# include <linux/param.h> /* HZ */
# include <linux/in6.h>
@@ -479,7 +477,7 @@ virNetDevBridgeCreateWithIoctl(const char *brname,
}
#endif
-#if defined(WITH_LIBNL)
+#if defined(__linux__)
int
virNetDevBridgeCreate(const char *brname,
const virMacAddr *mac)
@@ -509,15 +507,6 @@ virNetDevBridgeCreate(const char *brname,
}
-#elif defined(WITH_STRUCT_IFREQ) && defined(SIOCBRADDBR)
-int
-virNetDevBridgeCreate(const char *brname,
- const virMacAddr *mac)
-{
- return virNetDevBridgeCreateWithIoctl(brname, mac);
-}
-
-
#elif defined(WITH_STRUCT_IFREQ) && defined(SIOCIFCREATE2)
int
virNetDevBridgeCreate(const char *brname,
@@ -590,7 +579,7 @@ virNetDevBridgeDeleteWithIoctl(const char *brname)
#endif
-#if defined(WITH_LIBNL)
+#if defined(__linux__)
int
virNetDevBridgeDelete(const char *brname)
{
@@ -606,14 +595,6 @@ virNetDevBridgeDelete(const char *brname)
}
-#elif defined(WITH_STRUCT_IFREQ) && defined(SIOCBRDELBR)
-int
-virNetDevBridgeDelete(const char *brname)
-{
- return virNetDevBridgeDeleteWithIoctl(brname);
-}
-
-
#elif defined(WITH_STRUCT_IFREQ) && defined(SIOCIFDESTROY)
int
virNetDevBridgeDelete(const char *brname)
@@ -1020,7 +1001,7 @@ virNetDevBridgeSetVlanFiltering(const char *brname G_GNUC_UNUSED,
#endif
-#if defined(WITH_LIBNL)
+#if defined(__linux__)
# ifndef NTF_SELF
# define NTF_SELF 0x02
diff --git a/src/util/virnetdevip.c b/src/util/virnetdevip.c
index f365c1999c3d358a6a7b56ebda9f318c25fe96fd..acb0f41321b3d1d0f83fcf808ea9f95ffd9ddd46 100644
--- a/src/util/virnetdevip.c
+++ b/src/util/virnetdevip.c
@@ -52,7 +52,7 @@
VIR_LOG_INIT("util.netdevip");
-#if defined(WITH_LIBNL)
+#if defined(__linux__)
static int
virNetDevGetIPAddressBinary(virSocketAddr *addr, void **data, size_t *len)
@@ -361,7 +361,118 @@ virNetDevIPRouteAdd(const char *ifname,
}
-#else /* defined(WITH_LIBNL) */
+static int
+virNetDevIPGetAcceptRA(const char *ifname)
+{
+ g_autofree char *path = NULL;
+ g_autofree char *buf = NULL;
+ char *suffix;
+ int accept_ra = -1;
+
+ path = g_strdup_printf("/proc/sys/net/ipv6/conf/%s/accept_ra",
+ ifname ? ifname : "all");
+
+ if ((virFileReadAll(path, 512, &buf) < 0) ||
+ (virStrToLong_i(buf, &suffix, 10, &accept_ra) < 0))
+ return -1;
+
+ return accept_ra;
+}
+
+/**
+ * virNetDevIPCheckIPv6Forwarding
+ *
+ * This function checks if IPv6 routes have the RTF_ADDRCONF flag set,
+ * indicating they have been created by the kernel's RA configuration
+ * handling. These routes are subject to being flushed when ipv6
+ * forwarding is enabled unless accept_ra is explicitly set to "2".
+ * This will most likely result in ipv6 networking being broken.
+ *
+ * Returns: true if it is safe to enable forwarding, or false if
+ * breakable routes are found.
+ *
+ **/
+bool
+virNetDevIPCheckIPv6Forwarding(void)
+{
+ int len;
+ char *cur;
+ g_autofree char *buf = NULL;
+ /* lines are 150 chars */
+ enum {MAX_ROUTE_SIZE = 150*1000000};
+
+ /* This is /proc/sys/net/ipv6/conf/all/accept_ra */
+ int all_accept_ra = virNetDevIPGetAcceptRA(NULL);
+
+ /* Read ipv6 routes */
+ if ((len = virFileReadAll(PROC_NET_IPV6_ROUTE,
+ MAX_ROUTE_SIZE, &buf)) < 0) {
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ _("Unable to read %1$s for ipv6 forwarding checks"),
+ PROC_NET_IPV6_ROUTE);
+ return false;
+ }
+
+ /* Dropping the last character to stop the loop */
+ if (len > 0)
+ buf[len-1] = '\0';
+
+ cur = buf;
+ while (cur) {
+ char route[33], flags[9], iface[9];
+ unsigned int flags_val;
+ char *iface_val;
+ int num;
+ char *nl = strchr(cur, '\n');
+
+ if (nl)
+ *nl++ = '\0';
+
+ num = sscanf(cur, "%32s %*s %*s %*s %*s %*s %*s %*s %8s %8s",
+ route, flags, iface);
+
+ cur = nl;
+ if (num != 3) {
+ VIR_DEBUG("Failed to parse route line: %s", cur);
+ continue;
+ }
+
+ if (virStrToLong_ui(flags, NULL, 16, &flags_val)) {
+ VIR_DEBUG("Failed to parse flags: %s", flags);
+ continue;
+ }
+
+ /* This is right justified, strip leading spaces */
+ iface_val = &iface[0];
+ while (*iface_val && g_ascii_isspace(*iface_val))
+ iface_val++;
+
+ VIR_DEBUG("%s iface %s flags %s : RTF_ADDRCONF %sset",
+ route, iface_val, flags,
+ (flags_val & RTF_ADDRCONF ? "" : "not "));
+
+ if (flags_val & RTF_ADDRCONF) {
+ int ret = virNetDevIPGetAcceptRA(iface_val);
+ VIR_DEBUG("%s reports accept_ra of %d",
+ iface_val, ret);
+ /* If the interface for this autoconfigured route
+ * has accept_ra == 1, or it is default and the "all"
+ * value of accept_ra == 1, it will be subject to
+ * flushing if forwarding is enabled.
+ */
+ if (ret == 1 || (ret == 0 && all_accept_ra == 1)) {
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ _("Check the host setup: interface %1$s has kernel autoconfigured IPv6 routes and enabling forwarding without accept_ra set to 2 will cause the kernel to flush them, breaking networking."),
+ iface_val);
+ return false;
+ }
+ }
+ }
+ return true;
+}
+
+
+#else /* defined(__linux__) */
int
@@ -482,121 +593,6 @@ virNetDevIPRouteAdd(const char *ifname,
return 0;
}
-#endif /* defined(HAVE_LIBNL) */
-
-
-#if defined(__linux__)
-
-static int
-virNetDevIPGetAcceptRA(const char *ifname)
-{
- g_autofree char *path = NULL;
- g_autofree char *buf = NULL;
- char *suffix;
- int accept_ra = -1;
-
- path = g_strdup_printf("/proc/sys/net/ipv6/conf/%s/accept_ra",
- ifname ? ifname : "all");
-
- if ((virFileReadAll(path, 512, &buf) < 0) ||
- (virStrToLong_i(buf, &suffix, 10, &accept_ra) < 0))
- return -1;
-
- return accept_ra;
-}
-
-/**
- * virNetDevIPCheckIPv6Forwarding
- *
- * This function checks if IPv6 routes have the RTF_ADDRCONF flag set,
- * indicating they have been created by the kernel's RA configuration
- * handling. These routes are subject to being flushed when ipv6
- * forwarding is enabled unless accept_ra is explicitly set to "2".
- * This will most likely result in ipv6 networking being broken.
- *
- * Returns: true if it is safe to enable forwarding, or false if
- * breakable routes are found.
- *
- **/
-bool
-virNetDevIPCheckIPv6Forwarding(void)
-{
- int len;
- char *cur;
- g_autofree char *buf = NULL;
- /* lines are 150 chars */
- enum {MAX_ROUTE_SIZE = 150*1000000};
-
- /* This is /proc/sys/net/ipv6/conf/all/accept_ra */
- int all_accept_ra = virNetDevIPGetAcceptRA(NULL);
-
- /* Read ipv6 routes */
- if ((len = virFileReadAll(PROC_NET_IPV6_ROUTE,
- MAX_ROUTE_SIZE, &buf)) < 0) {
- virReportError(VIR_ERR_INTERNAL_ERROR,
- _("Unable to read %1$s for ipv6 forwarding checks"),
- PROC_NET_IPV6_ROUTE);
- return false;
- }
-
- /* Dropping the last character to stop the loop */
- if (len > 0)
- buf[len-1] = '\0';
-
- cur = buf;
- while (cur) {
- char route[33], flags[9], iface[9];
- unsigned int flags_val;
- char *iface_val;
- int num;
- char *nl = strchr(cur, '\n');
-
- if (nl)
- *nl++ = '\0';
-
- num = sscanf(cur, "%32s %*s %*s %*s %*s %*s %*s %*s %8s %8s",
- route, flags, iface);
-
- cur = nl;
- if (num != 3) {
- VIR_DEBUG("Failed to parse route line: %s", cur);
- continue;
- }
-
- if (virStrToLong_ui(flags, NULL, 16, &flags_val)) {
- VIR_DEBUG("Failed to parse flags: %s", flags);
- continue;
- }
-
- /* This is right justified, strip leading spaces */
- iface_val = &iface[0];
- while (*iface_val && g_ascii_isspace(*iface_val))
- iface_val++;
-
- VIR_DEBUG("%s iface %s flags %s : RTF_ADDRCONF %sset",
- route, iface_val, flags,
- (flags_val & RTF_ADDRCONF ? "" : "not "));
-
- if (flags_val & RTF_ADDRCONF) {
- int ret = virNetDevIPGetAcceptRA(iface_val);
- VIR_DEBUG("%s reports accept_ra of %d",
- iface_val, ret);
- /* If the interface for this autoconfigured route
- * has accept_ra == 1, or it is default and the "all"
- * value of accept_ra == 1, it will be subject to
- * flushing if forwarding is enabled.
- */
- if (ret == 1 || (ret == 0 && all_accept_ra == 1)) {
- virReportError(VIR_ERR_INTERNAL_ERROR,
- _("Check the host setup: interface %1$s has kernel autoconfigured IPv6 routes and enabling forwarding without accept_ra set to 2 will cause the kernel to flush them, breaking networking."),
- iface_val);
- return false;
- }
- }
- }
- return true;
-}
-#else
bool
virNetDevIPCheckIPv6Forwarding(void)
diff --git a/src/util/virnetdevmacvlan.c b/src/util/virnetdevmacvlan.c
index cde9d70eefd047dc5c16056f6697cf4d05bc0795..c8a7a92eb6d8bedc3b1a838ac867e9b104cc5cb0 100644
--- a/src/util/virnetdevmacvlan.c
+++ b/src/util/virnetdevmacvlan.c
@@ -35,7 +35,7 @@ VIR_ENUM_IMPL(virNetDevMacVLanMode,
"passthrough",
);
-#if defined(WITH_LIBNL)
+#if defined(__linux__)
# include <fcntl.h>
# include <net/if.h>
@@ -859,7 +859,7 @@ int virNetDevMacVLanRestartWithVPortProfile(const char *cr_ifname,
}
-#else /* ! WITH_LIBNL */
+#else /* ! __linux__ */
bool virNetDevMacVLanIsMacvtap(const char *ifname G_GNUC_UNUSED)
{
virReportSystemError(ENOSYS, "%s",
@@ -959,4 +959,4 @@ int virNetDevMacVLanVPortProfileRegisterCallback(const char *ifname G_GNUC_UNUSE
_("Cannot create macvlan devices on this platform"));
return -1;
}
-#endif /* ! WITH_LIBNL */
+#endif /* ! __linux__ */
diff --git a/src/util/virnetdevveth.c b/src/util/virnetdevveth.c
index 4365345664c50f47680d5fdb74d616ac989a57c9..7c4a36d3d54c4da34cb2049966d142f1b6974278 100644
--- a/src/util/virnetdevveth.c
+++ b/src/util/virnetdevveth.c
@@ -32,7 +32,6 @@
VIR_LOG_INIT("util.netdevveth");
-#if defined(WITH_LIBNL)
static int
virNetDevVethCreateInternal(const char *veth1, const char *veth2)
{
@@ -56,40 +55,6 @@ virNetDevVethDeleteInternal(const char *veth)
{
return virNetlinkDelLink(veth, NULL);
}
-#else
-static int
-virNetDevVethCreateInternal(const char *veth1, const char *veth2)
-{
- g_autoptr(virCommand) cmd = virCommandNew("ip");
- virCommandAddArgList(cmd, "link", "add", veth1, "type", "veth",
- "peer", "name", veth2, NULL);
-
- return virCommandRun(cmd, NULL);
-}
-
-static int
-virNetDevVethDeleteInternal(const char *veth)
-{
- int status;
- g_autoptr(virCommand) cmd = virCommandNewArgList("ip", "link",
- "del", veth, NULL);
-
- if (virCommandRun(cmd, &status) < 0)
- return -1;
-
- if (status != 0) {
- if (!virNetDevExists(veth)) {
- VIR_DEBUG("Device %s already deleted (by kernel namespace cleanup)", veth);
- return 0;
- }
- virReportError(VIR_ERR_INTERNAL_ERROR,
- _("Failed to delete veth device %1$s"), veth);
- return -1;
- }
-
- return 0;
-}
-#endif /* WITH_LIBNL */
/**
* virNetDevVethCreate:
diff --git a/src/util/virnetdevvportprofile.c b/src/util/virnetdevvportprofile.c
index c755fa79ec02e0e77b06bf6a3b6f42e24421e7dc..26be6e91319b98539927e6079596b976af207642 100644
--- a/src/util/virnetdevvportprofile.c
+++ b/src/util/virnetdevvportprofile.c
@@ -46,7 +46,7 @@ VIR_ENUM_IMPL(virNetDevVPortProfileOp,
"no-op",
);
-#if defined(WITH_LIBNL)
+#if defined(__linux__)
# include <fcntl.h>
@@ -446,7 +446,7 @@ int virNetDevVPortProfileMerge3(virNetDevVPortProfile **result,
}
-#if defined(WITH_LIBNL)
+#if defined(__linux__)
static struct nla_policy ifla_port_policy[IFLA_PORT_MAX + 1] =
{
@@ -1327,7 +1327,7 @@ virNetDevVPortProfileDisassociate(const char *macvtap_ifname,
return rc;
}
-#else /* !WITH_LIBNL */
+#else /* !__linux__ */
int virNetDevVPortProfileAssociate(const char *macvtap_ifname G_GNUC_UNUSED,
const virNetDevVPortProfile *virtPort G_GNUC_UNUSED,
const virMacAddr *macvtap_macaddr G_GNUC_UNUSED,
@@ -1353,4 +1353,4 @@ int virNetDevVPortProfileDisassociate(const char *macvtap_ifname G_GNUC_UNUSED,
_("Virtual port profile association not supported on this platform"));
return -1;
}
-#endif /* !WITH_LIBNL */
+#endif /* !__linux__ */
diff --git a/src/util/virnetlink.c b/src/util/virnetlink.c
index 206646d9d794d833de90266d4ab7cec015552137..0bb0ef23da28f2810d4e31c1bf9017545f11d0b9 100644
--- a/src/util/virnetlink.c
+++ b/src/util/virnetlink.c
@@ -37,7 +37,7 @@ VIR_LOG_INIT("util.netlink");
#define NETLINK_ACK_TIMEOUT_S (2*1000)
-#if defined(WITH_LIBNL)
+#if defined(__linux__)
# include <linux/veth.h>
@@ -1267,11 +1267,7 @@ virNetlinkEventRemoveClient(int watch, const virMacAddr *macaddr,
#else
-# if defined(__linux__)
-static const char *unsupported = N_("libnl was not available at build time");
-# else
static const char *unsupported = N_("not supported on non-linux platforms");
-# endif
int
virNetlinkStartup(void)
@@ -1435,4 +1431,4 @@ virNetlinkGetErrorCode(struct nlmsghdr *resp G_GNUC_UNUSED,
return -EINVAL;
}
-#endif /* WITH_LIBNL */
+#endif /* __linux__ */
diff --git a/src/util/virnetlink.h b/src/util/virnetlink.h
index 327fb426a1d898398a60e46d3ee8fc554a2db548..56ee48161ada307e8af0bd2d4b8d7497a43e075c 100644
--- a/src/util/virnetlink.h
+++ b/src/util/virnetlink.h
@@ -22,7 +22,7 @@
#include "internal.h"
#include "virmacaddr.h"
-#if defined(WITH_LIBNL)
+#if defined(__linux__)
# include <netlink/msg.h>
# include <linux/if_bridge.h>
@@ -41,7 +41,7 @@ struct sockaddr_nl;
struct nlattr;
struct nlmsghdr;
-#endif /* WITH_LIBNL */
+#endif /* __linux__ */
int virNetlinkStartup(void);
void virNetlinkShutdown(void);
diff --git a/tests/virnetdevtest.c b/tests/virnetdevtest.c
index 42f1a74ee9ad66f40150920670a4f71518c9d610..99cf347934911aa4ae40bf61145e7817efbee97b 100644
--- a/tests/virnetdevtest.c
+++ b/tests/virnetdevtest.c
@@ -63,8 +63,6 @@ testVirNetDevGetLinkInfo(const void *opaque)
return 0;
}
-# if defined(WITH_LIBNL)
-
int
(*real_virNetDevSendVfSetLinkRequest)(const char *ifname,
int vfInfoType,
@@ -301,8 +299,6 @@ testVirNetDevSetVfConfig(const void *opaque G_GNUC_UNUSED)
return 0;
}
-# endif /* defined(WITH_LIBNL) */
-
static int
mymain(void)
{
@@ -320,8 +316,6 @@ mymain(void)
DO_TEST_LINK("lo", VIR_NETDEV_IF_STATE_UNKNOWN, 0);
DO_TEST_LINK("eth0-broken", VIR_NETDEV_IF_STATE_DOWN, 0);
-# if defined(WITH_LIBNL)
-
if (virTestRun("Set VF MAC", testVirNetDevSetVfMac, NULL) < 0)
ret = -1;
if (virTestRun("Set VF MAC: missing MAC pointer", testVirNetDevSetVfMissingMac, NULL) < 0)
@@ -331,8 +325,6 @@ mymain(void)
if (virTestRun("Set VF Config", testVirNetDevSetVfConfig, NULL) < 0)
ret = -1;
-# endif /* defined(WITH_LIBNL) */
-
return ret == 0 ? EXIT_SUCCESS : EXIT_FAILURE;
}
---
base-commit: e5299ddf86121d3c792ca271ffcb54900eb19dc3
change-id: 20250308-require-289966671f9d
Best regards,
--
Akihiko Odaki <akihiko.odaki(a)daynix.com>
3
2
[PATCH v2 00/23] Add typed param constants for guest info and domain stats APIs
by Daniel P. Berrangé 11 Mar '25
by Daniel P. Berrangé 11 Mar '25
11 Mar '25
Contrary to most APIs returning typed parameters, there are no constants
defined for the domain stats data keys. This is was because many of the
keys needs to be dynamically constructed using one or more array index
values.
It is possible to define constants while still supporting dynamic
array indexes by simply defining the prefixes and suffixes as constants.
The consuming code can then combine the constants with array index
value.
With this approach, it is practical to add constants for the domain stats
API keys.
The pattern for array entries is as follows
* VIR_DOMAIN_GUEST_INFO_blah_COUNT - the number of items in the array
* VIR_DOMAIN_GUEST_INFO_blah_PREFIX - the key prefix, including the
trailing '.' - eg "disk."
* VIR_DOMAIN_GUEST_INFO_blah_SUFFIX_blah - the key suffix, including
the leading '.' - eg ".name"
Where there are nested arrays, this repeats in the natural way
* VIR_DOMAIN_GUEST_INFO_blah_SUFFIX_blah_COUNT - the number of items in the array
* VIR_DOMAIN_GUEST_INFO_blah_SUFFIX_blah_PREFIX - the key prefix, including the
leading and trailing '.' - eg ".addr."
* VIR_DOMAIN_GUEST_INFO_blah_SUFFIX_blah_SUFFIX_blah - the key suffix, including
the leading '.' - eg ".name"
A usage of this would look like, relying on CPP string concatenation
asprintf(&str, VIR_DOMAIN_STATS_VCPU_PREFIX "%d" VIR_DOMAIN_STATS_VCPU_SUFFIX_DELAY, idx);
Or in language bindings such as Golang
fmt.Sprintf(C.VIR_DOMAIN_STATS_VCPU_PREFIX+"%d"+C.VIR_DOMAIN_STATS_VCPU_SUFFIX_HALTED, idx)
Adding these constants has a few benefits:
* We can ensure that different drivers are all consistent in keys
used for typed parameters
* Language bindings can query the API XML to identify any gaps
in their API coverage
A note on "Since" tags. We use the "Since" tags to express when an API
was added to libvirt. In this case we're adding constants long /after/
we first introduced these APIs. So the question is whether the Since
tags reflect when the typed parameter key was first used or when the
API constant was added.
For convenience I chose the latter, because the Golang bnidings use
the Since tags to auto generate code with #if !LIBVIRT_CHECK_VERSION()
around its usage of the constants. This would break if we retroactively
dated the Since tags to when the keys were first used.
As proof of the value, adding these constants has lead to be find
sooooooooooo many mistakes in the Golang bindings where we forgot
to add new domain stats/guest info data items, and one place where
we typod the name.
https://gitlab.com/libvirt/libvirt-go-module/-/merge_requests/67
Changes in v2:
* Don't line wrap concatenation of the macros
* Fix a couple of typos in constants
* Rebase for changes to virt typed paramater list API usage in
guest info
* Add docs explaining the usage pattern
* Add docs explaining the 11.2.0 version number caveat vs
historical introduction
Daniel P. Berrangé (23):
src: add constants for guest info 'user.' parameters
src: add constants for guest info 'os.' parameters
src: add constants for guest info 'timezone.' parameters
src: add constant for the guest info 'hostname' parameter
src: add constants for guest info 'fs.' parameters
src: add constants for guest info 'disk.' parameters
src: add constants for guest info 'if.' parameters
src: add constants for guest info 'load.' parameters
src: expand docs for guest info array handling
src: expand docs for guest info constant version handling
src: add constants for domain stats 'state.' parameters
src: add constants for domain stats 'cpu.' parameters
src: add constants for domain stats 'balloon.' parameters
src: add constants for domain stats 'vcpu.' parameters
src: add constants for domain stats 'net.' parameters
src: add constants for domain stats 'block.' parameters
src: add constants for domain stats 'perf.' parameters
src: add constants for domain stats 'iothread.' parameters
src: add constants for domain stats 'memory.' parameters
src: add constants for domain stats 'dirtyrate.' parameters
src: document that no constants are provided for custom VM stats
src: expand docs for guest info array handling
src: expand docs for guest stats constant version handling
include/libvirt/libvirt-domain.h | 6605 +++++++++++++++++++-----------
src/libvirt-domain.c | 547 +--
src/qemu/qemu_agent.c | 35 +-
src/qemu/qemu_driver.c | 377 +-
4 files changed, 4573 insertions(+), 2991 deletions(-)
--
2.48.1
2
35
[libvirt PATCH v2] qemu: snapshot: error out early when reverting snapshot for VM with non-file disk
by Pavel Hrdina 11 Mar '25
by Pavel Hrdina 11 Mar '25
11 Mar '25
Before this patch the code would start the revert process by destroying
the VM and preparing to revert where it would fail with following error:
error: unsupported configuration: source for disk 'sdb' is not a regular file; refusing to generate external snapshot name
and leaving user with offline VM even if it was running.
Make the check before we start the revert process to not destroy VMs.
Resolves: https://issues.redhat.com/browse/RHEL-30971
Resolves: https://issues.redhat.com/browse/RHEL-79928
Signed-off-by: Pavel Hrdina <phrdina(a)redhat.com>
---
Changes in v2:
- add comments
- limit the check for external snapshots
src/qemu/qemu_snapshot.c | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/src/qemu/qemu_snapshot.c b/src/qemu/qemu_snapshot.c
index 891e67e98b..dab841ef5b 100644
--- a/src/qemu/qemu_snapshot.c
+++ b/src/qemu/qemu_snapshot.c
@@ -2203,6 +2203,8 @@ qemuSnapshotRevertValidate(virDomainObj *vm,
virDomainSnapshotDef *snapdef,
unsigned int flags)
{
+ size_t i;
+
if (!vm->persistent &&
snapdef->state != VIR_DOMAIN_SNAPSHOT_RUNNING &&
snapdef->state != VIR_DOMAIN_SNAPSHOT_PAUSED &&
@@ -2230,6 +2232,22 @@ qemuSnapshotRevertValidate(virDomainObj *vm,
}
}
+ /* Reverting to external snapshot creates overlay files for every disk and
+ * it would fail for non-file based disks.
+ * See qemuSnapshotRevertExternalPrepare for more details. */
+ if (virDomainSnapshotIsExternal(snap)) {
+ for (i = 0; i < snap->def->dom->ndisks; i++) {
+ virDomainDiskDef *disk = snap->def->dom->disks[i];
+
+ if (disk->src->type != VIR_STORAGE_TYPE_FILE) {
+ virReportError(VIR_ERR_OPERATION_UNSUPPORTED,
+ _("source disk for '%1$s' is not a regular file, reverting to snapshot is not supported"),
+ disk->dst);
+ return -1;
+ }
+ }
+ }
+
return 0;
}
@@ -2381,6 +2399,9 @@ qemuSnapshotRevertExternalPrepare(virDomainObj *vm,
if (virDomainMomentDefPostParse(&tmpsnapdef->parent) < 0)
return -1;
+ /* Force default location to be external in order to create overlay files
+ * for every disk. In qemuSnapshotRevertValidate we make sure that each
+ * disk is regular file otherwise this would fail. */
if (virDomainSnapshotAlignDisks(tmpsnapdef, domdef,
VIR_DOMAIN_SNAPSHOT_LOCATION_EXTERNAL,
false, true) < 0) {
--
2.48.1
2
1
[PATCH RFC-v2 00/11] qemu: Add support for iothread to virtqueue mapping for 'virtio-scsi'
by Peter Krempa 11 Mar '25
by Peter Krempa 11 Mar '25
11 Mar '25
Unfortunately still RFC as the qemu support is still not merged.
Once again there are a few patches that are applicable:
qemu: Use modern header formatting in 'qemu_command.h'
virXMLNodeGetSubelementList: Document return value semantics
virDomainIothreadMappingDefParse: Fix usage of
virXMLNodeGetSubelementList
docs: formatdomain: Clarify configuration of iothread <-> virtqueue
mapping
The patches below are RFC:
qemucapabilitiestest: Update 'caps_10.0.0_x86_64' to XXXXXX
qemu: capabilities: Introduce QEMU_CAPS_VIRTIO_SCSI_IOTHREAD_MAPPING
virDomainIothreadMapping: Add support for naming certain virt queues
conf: Add support for iothread to queue mapping config for
'virtio-scsi'
qemu: Implement support for iothread <-> virtqueue mapping for
'virtio-scsi' controllers
qemuxmlconftest: Add 'iothreads-virtio-scsi-mapping' case
NEWS: Mention multiple iothread support for 'virtio-scsi' controller
Changes to v1:
- pushed the non-RFC refactors
- few new cleanups added
- new docs patch emphasizing the auto-assignment (in example XML
and description) in qemu and improved wording of docs for
'virtio-blk' miltiqueue mapping
- changed code to use names for 'ctrl' and 'event' virtqueues of
'virtio-scsi'
- used the improved docs also for virtio scsi
- added NEWS
NEWS.rst | 6 +
docs/formatdomain.rst | 66 ++++++++++-
src/conf/domain_conf.c | 32 ++++--
src/conf/domain_conf.h | 4 +-
src/conf/domain_validate.c | 10 +-
src/conf/schemas/domaincommon.rng | 9 +-
src/hypervisor/domain_driver.c | 3 +-
src/qemu/qemu_capabilities.c | 2 +
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_command.c | 86 ++++++++++++--
src/qemu/qemu_command.h | 95 ++++++++++------
src/qemu/qemu_domain.c | 10 +-
src/qemu/qemu_validate.c | 105 ++++++++++++------
src/util/virxml.c | 2 +
.../caps_10.0.0_x86_64.replies | 7 +-
.../caps_10.0.0_x86_64.xml | 3 +-
...ads-virtio-scsi-mapping.x86_64-latest.args | 40 +++++++
...eads-virtio-scsi-mapping.x86_64-latest.xml | 65 +++++++++++
.../iothreads-virtio-scsi-mapping.xml | 57 ++++++++++
tests/qemuxmlconftest.c | 1 +
20 files changed, 495 insertions(+), 109 deletions(-)
create mode 100644 tests/qemuxmlconfdata/iothreads-virtio-scsi-mapping.x86_64-latest.args
create mode 100644 tests/qemuxmlconfdata/iothreads-virtio-scsi-mapping.x86_64-latest.xml
create mode 100644 tests/qemuxmlconfdata/iothreads-virtio-scsi-mapping.xml
--
2.48.1
2
16
[PATCH 00/19] Add typed param constants for guest info and domain stats APIs
by Daniel P. Berrangé 11 Mar '25
by Daniel P. Berrangé 11 Mar '25
11 Mar '25
Contrary to most APIs returning typed parameters, there are no constants
defined for the domain stats data keys. This is was because many of the
keys needs to be dynamically constructed using one or more array index
values.
It is possible to define constants while still supporting dynamic
array indexes by simply defining the prefixes and suffixes as constants.
The consuming code can then combine the constants with array index
value.
With this approach, it is practical to add constants for the domain stats
API keys.
The pattern for array entries is as follows
* VIR_DOMAIN_GUEST_INFO_blah_COUNT - the number of items in the array
* VIR_DOMAIN_GUEST_INFO_blah_PREFIX - the key prefix, including the
trailing '.' - eg "disk."
* VIR_DOMAIN_GUEST_INFO_blah_SUFFIX_blah - the key suffix, including
the leading '.' - eg ".name"
Where there are nested arrays, this repeats in the natural way
* VIR_DOMAIN_GUEST_INFO_blah_SUFFIX_blah_COUNT - the number of items in the array
* VIR_DOMAIN_GUEST_INFO_blah_SUFFIX_blah_PREFIX - the key prefix, including the
leading and trailing '.' - eg ".addr."
* VIR_DOMAIN_GUEST_INFO_blah_SUFFIX_blah_SUFFIX_blah - the key suffix, including
the leading '.' - eg ".name"
A usage of this would look like, relying on CPP string concatenation
asprintf(&str, VIR_DOMAIN_STATS_VCPU_PREFIX "%d" VIR_DOMAIN_STATS_VCPU_SUFFIX_DELAY, idx);
Or in language bindings such as Golang
fmt.Sprintf(C.VIR_DOMAIN_STATS_VCPU_PREFIX+"%d"+C.VIR_DOMAIN_STATS_VCPU_SUFFIX_HALTED, idx)
Adding these constants has a few benefits:
* We can ensure that different drivers are all consistent in keys
used for typed parameters
* Language bindings can query the API XML to identify any gaps
in their API coverage
A note on "Since" tags. We use the "Since" tags to express when an API
was added to libvirt. In this case we're adding constants long /after/
we first introduced these APIs. So the question is whether the Since
tags reflect when the typed parameter key was first used or when the
API constant was added.
For convenience I chose the latter, because the Golang bnidings use
the Since tags to auto generate code with #if !LIBVIRT_CHECK_VERSION()
around its usage of the constants. This would break if we retroactively
dated the Since tags to when the keys were first used.
As proof of the value, adding these constants has lead to be find
sooooooooooo many mistakes in the Golang bindings where we forgot
to add new domain stats/guest info data items, and one place where
we typod the name.
Daniel P. Berrangé (19):
src: add constants for guest info 'user.' parameters
src: add constants for guest info 'os.' parameters
src: add constants for guest info 'timezone.' parameters
src: add constant for the guest info 'hostname' parameter
src: add constants for guest info 'fs.' parameters
src: add constants for guest info 'disk.' parameters
src: add constants for guest info 'if.' parameters
src: add constants for domain stats 'state.' parameters
src: add constants for domain stats 'cpu.' parameters
src: add constants for domain stats 'balloon.' parameters
src: add constants for domain stats 'vcpu.' parameters
src: add constants for domain stats 'net.' parameters
src: add constants for domain stats 'block.' parameters
src: add constants for domain stats 'perf.' parameters
src: add constants for domain stats 'iothread.' parameters
src: add constants for domain stats 'memory.' parameters
src: add constants for domain stats 'dirtyrate.' parameters
src: add constants for domain stats 'dirtyrate.' parameters
src: document that no constants are provided for custom VM stats
include/libvirt/libvirt-domain.h | 1614 ++++++++++++++++++++++++++++++
src/libvirt-domain.c | 424 ++------
src/qemu/qemu_agent.c | 36 +-
src/qemu/qemu_driver.c | 425 +++++---
4 files changed, 1996 insertions(+), 503 deletions(-)
--
2.48.1
2
41
The point of virSecurityManagerRestoreAllLabel() function is to
restore ALL labels and be tolerant to possible errors, i.e.
continue restoring seclabels and NOT return early.
Well, in two implementations of this internal API this type of
problem was found:
1) virSecurityDACRestoreAllLabel() returned early if
virSecurityDACRestoreGraphicsLabel() failed, or when
def->sec->sectype equals to an impossible value.
2) virSecuritySELinuxRestoreAllLabel() returned early if
virSecuritySELinuxRestoreMemoryLabel() failed.
Fix all three places.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
Inspired by this Peter's patch:
https://marc.info/?l=libvir-list&m=174169408218982&w=2
src/security/security_dac.c | 4 ++--
src/security/security_selinux.c | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/security/security_dac.c b/src/security/security_dac.c
index e07977300f..3ecbc7277d 100644
--- a/src/security/security_dac.c
+++ b/src/security/security_dac.c
@@ -1973,7 +1973,7 @@ virSecurityDACRestoreAllLabel(virSecurityManager *mgr,
for (i = 0; i < def->ngraphics; i++) {
if (virSecurityDACRestoreGraphicsLabel(mgr, def, def->graphics[i]) < 0)
- return -1;
+ rc = -1;
}
for (i = 0; i < def->ninputs; i++) {
@@ -2021,7 +2021,7 @@ virSecurityDACRestoreAllLabel(virSecurityManager *mgr,
case VIR_DOMAIN_LAUNCH_SECURITY_NONE:
case VIR_DOMAIN_LAUNCH_SECURITY_LAST:
virReportEnumRangeError(virDomainLaunchSecurity, def->sec->sectype);
- return -1;
+ rc = -1;
}
}
diff --git a/src/security/security_selinux.c b/src/security/security_selinux.c
index 38e611f567..64e7f41ce0 100644
--- a/src/security/security_selinux.c
+++ b/src/security/security_selinux.c
@@ -2969,7 +2969,7 @@ virSecuritySELinuxRestoreAllLabel(virSecurityManager *mgr,
for (i = 0; i < def->nmems; i++) {
if (virSecuritySELinuxRestoreMemoryLabel(mgr, def, def->mems[i]) < 0)
- return -1;
+ rc = -1;
}
for (i = 0; i < def->ntpms; i++) {
--
2.48.1
2
1
11 Mar '25
Peter Krempa (3):
qemuDomainGetLaunchSecurityInfo: Don't forget unlock VM object on
(impossible) error
qemuDomainGetLaunchSecurityInfo: Use virTypedParamList to construct
return value
qemuNodeGetSEVInfo: Use virTypedParamList to construct return value
src/qemu/qemu_driver.c | 107 ++++++++++++-----------------------------
1 file changed, 31 insertions(+), 76 deletions(-)
--
2.48.1
2
5
The attribute is used (and formatted) as virTristateBool() and even in
schema defined as virYesNo, so the values are supposed to be `yes` and
`no`.
Signed-off-by: Martin Kletzander <mkletzan(a)redhat.com>
---
docs/formatdomain.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/formatdomain.rst b/docs/formatdomain.rst
index 4d03768c5f4e..3bbf94e192c9 100644
--- a/docs/formatdomain.rst
+++ b/docs/formatdomain.rst
@@ -6740,7 +6740,7 @@ interaction with the admin.
<graphics type='dbus'/>
- ``p2p`` (accepts ``on`` or ``off``) enables peer-to-peer connections,
+ ``p2p`` (accepts ``yes`` or ``no``) enables peer-to-peer connections,
established through virDomainOpenGraphics() APIs.
``address`` (accepts a `D-Bus address
--
2.48.1
2
1
11 Mar '25
Use the common check which produces hard errors instead of the
post-start check adding a warning which wasn't updated with the new
logic.
Peter Krempa (3):
qemuxmlconftest: Include shared memory 'net-vhostuser' test cases
qemuValidateDomainDeviceDefNetwork: Require shared memory for all
vhost-user interfaces
qemu: process: Remove un-updated 'qemuProcessStartWarnShmem'
src/qemu/qemu_process.c | 54 -------------------
src/qemu/qemu_validate.c | 9 ++--
.../net-vhostuser-fail.x86_64-latest.xml | 3 ++
tests/qemuxmlconfdata/net-vhostuser-fail.xml | 3 ++
.../net-vhostuser-multiq.x86_64-latest.args | 2 +-
.../net-vhostuser-multiq.x86_64-latest.xml | 3 ++
.../qemuxmlconfdata/net-vhostuser-multiq.xml | 3 ++
...vhostuser-passt-no-shmem.x86_64-latest.err | 2 +-
.../net-vhostuser.x86_64-latest.args | 2 +-
.../net-vhostuser.x86_64-latest.xml | 3 ++
tests/qemuxmlconfdata/net-vhostuser.xml | 3 ++
11 files changed, 24 insertions(+), 63 deletions(-)
--
2.48.1
2
4
11 Mar '25
With a specific combination of compiler options gcc reported the
following bogus warning (I added a context to it to make the issue
visible):
../src/esx/esx_vi.c: In function ‘esxVI_LookupHostScsiTopologyLunListByTargetName’:
../src/esx/esx_vi.c:4674:32: error: potential null pointer dereference [-Werror=null-dereference]
4671 | if (!found || !hostScsiTopologyTarget)
4672 | goto cleanup;
4673 |
4674 | if (!hostScsiTopologyTarget->lun) {
| ~~~~~~~~~~~~~~~~~~~~~~^~~~~
Most likely this is caused by found and hostScsiTopologyTarget doing
essentially the same thing as found is true if and only if
hostScsiTopologyTarget is non-NULL. The found variable is completely
redundant. Removing it would be enough, but I decided to make the code a
little bit easier to read by not using the iterator variable directly.
Signed-off-by: Jiri Denemark <jdenemar(a)redhat.com>
---
src/esx/esx_vi.c | 14 ++++++--------
1 file changed, 6 insertions(+), 8 deletions(-)
diff --git a/src/esx/esx_vi.c b/src/esx/esx_vi.c
index e2589aa69a..aee649b86e 100644
--- a/src/esx/esx_vi.c
+++ b/src/esx/esx_vi.c
@@ -4616,7 +4616,6 @@ esxVI_LookupHostScsiTopologyLunListByTargetName
esxVI_HostScsiTopologyInterface *hostScsiInterfaceList = NULL;
esxVI_HostScsiTopologyInterface *hostScsiInterface = NULL;
esxVI_HostScsiTopologyTarget *hostScsiTopologyTarget = NULL;
- bool found = false;
esxVI_HostInternetScsiTargetTransport *candidate = NULL;
ESX_VI_CHECK_ARG_LIST(hostScsiTopologyLunList);
@@ -4653,22 +4652,21 @@ esxVI_LookupHostScsiTopologyLunListByTargetName
/* See vSphere API documentation about HostScsiTopologyInterface */
for (hostScsiInterface = hostScsiInterfaceList;
- hostScsiInterface && !found;
+ hostScsiInterface && !hostScsiTopologyTarget;
hostScsiInterface = hostScsiInterface->_next) {
- for (hostScsiTopologyTarget = hostScsiInterface->target;
- hostScsiTopologyTarget;
- hostScsiTopologyTarget = hostScsiTopologyTarget->_next) {
+ esxVI_HostScsiTopologyTarget *target;
+ for (target = hostScsiInterface->target; target; target = target->_next) {
candidate = esxVI_HostInternetScsiTargetTransport_DynamicCast
- (hostScsiTopologyTarget->transport);
+ (target->transport);
if (candidate && STREQ(candidate->iScsiName, name)) {
- found = true;
+ hostScsiTopologyTarget = target;
break;
}
}
}
- if (!found || !hostScsiTopologyTarget)
+ if (!hostScsiTopologyTarget)
goto cleanup;
if (!hostScsiTopologyTarget->lun) {
--
2.48.1
2
1
This series adds on s390x full boot order support which has been
introduced recently in QEMU with the PR
https://lore.kernel.org/qemu-devel/20241023131710.906748-1-thuth@redhat.com/
The replies and xml files are removed from the patch in this series and
are available in https://gitlab.com/fiuczy/libvirt/-/commits/fullbootorder
Boris Fiuczynski (3):
qemu: capabilities: Add QEMU_CAPS_VIRTIO_CCW_DEVICE_LOADPARM
tests: add capabilities for QEMU 9.2.0 on s390x
qemu: command: add multi boot device support on s390x
src/qemu/qemu_capabilities.c | 8 +
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_command.c | 40 +-
src/qemu/qemu_command.h | 6 +-
src/qemu/qemu_hotplug.c | 6 +-
tests/domaincapsdata/qemu_9.2.0.s390x.xml | 311 +
.../caps_5.2.0_s390x.replies | 321 +-
.../caps_6.0.0_s390x.replies | 321 +-
.../caps_8.1.0_s390x.replies | 321 +-
.../caps_8.2.0_s390x.replies | 321 +-
.../caps_9.1.0_s390x.replies | 321 +-
.../caps_9.2.0_s390x.replies | 36741 ++++++++++++++++
.../qemucapabilitiesdata/caps_9.2.0_s390x.xml | 3752 ++
.../machine-loadparm-hostdev.s390x-9.1.0.args | 33 +
.../machine-loadparm-hostdev.s390x-9.1.0.xml | 33 +
...machine-loadparm-hostdev.s390x-latest.args | 4 +-
...-multiple-disks-nets-s390.s390x-9.1.0.args | 40 +
...m-multiple-disks-nets-s390.s390x-9.1.0.xml | 51 +
...multiple-disks-nets-s390.s390x-latest.args | 8 +-
...machine-loadparm-net-s390.s390x-9.1.0.args | 34 +
.../machine-loadparm-net-s390.s390x-9.1.0.xml | 32 +
...achine-loadparm-net-s390.s390x-latest.args | 4 +-
.../machine-loadparm-s390.s390x-9.1.0.args | 34 +
.../machine-loadparm-s390.s390x-9.1.0.xml | 33 +
.../machine-loadparm-s390.s390x-latest.args | 4 +-
tests/qemuxmlconftest.c | 4 +
26 files changed, 42664 insertions(+), 120 deletions(-)
create mode 100644 tests/domaincapsdata/qemu_9.2.0.s390x.xml
create mode 100644 tests/qemucapabilitiesdata/caps_9.2.0_s390x.replies
create mode 100644 tests/qemucapabilitiesdata/caps_9.2.0_s390x.xml
create mode 100644 tests/qemuxmlconfdata/machine-loadparm-hostdev.s390x-9.1.0.args
create mode 100644 tests/qemuxmlconfdata/machine-loadparm-hostdev.s390x-9.1.0.xml
create mode 100644 tests/qemuxmlconfdata/machine-loadparm-multiple-disks-nets-s390.s390x-9.1.0.args
create mode 100644 tests/qemuxmlconfdata/machine-loadparm-multiple-disks-nets-s390.s390x-9.1.0.xml
create mode 100644 tests/qemuxmlconfdata/machine-loadparm-net-s390.s390x-9.1.0.args
create mode 100644 tests/qemuxmlconfdata/machine-loadparm-net-s390.s390x-9.1.0.xml
create mode 100644 tests/qemuxmlconfdata/machine-loadparm-s390.s390x-9.1.0.args
create mode 100644 tests/qemuxmlconfdata/machine-loadparm-s390.s390x-9.1.0.xml
--
2.45.0
2
11
11 Mar '25
From: Hyman Huang <yong.huang(a)smartx.com>
This patchset is the prerequisite for the vCPU dirty-limit feature:
https://patchew.org/Libvirt/cover.1703135535.git.yong.huang@smartx.com/
As suggested by Daniel:
We've generally tried to avoid adding single purpose APIs for
tunable parameters, instead using APIs with virTypedParameter
arrays to allow bulk updates.
I note that we don't appear to have any mechanism currently
to set the VCPU scheduler tunables either
Perhaps we should have a more general
virDomainSetVCPUTuneParameters(virDomainPtr domain,
int vcpu,
virTypedParameterPtr params,
unsigned int params,
unsigned int flags);
Refer the following link to see more details:
https://patchew.org/Libvirt/169397083100.4628.15196043252714532301-0@git.sr…
We present the qemuDomainSetVcpuTuneParameters API separately
because the patchset is somewhat self-contained.
Please review,
Yong
Hyman Huang (3):
libvirt: Add virDomainSetVcpuTuneParameters API
qemu_driver: Implement qemuDomainSetVcpuTuneParameters
virsh: Use the new API to implement cmdSetvcpu
include/libvirt/libvirt-domain.h | 25 ++++++++++++++
src/driver-hypervisor.h | 8 +++++
src/libvirt-domain.c | 56 ++++++++++++++++++++++++++++++++
src/libvirt_public.syms | 5 +++
src/qemu/qemu_driver.c | 29 +++++++++++++++++
src/remote/remote_driver.c | 1 +
src/remote/remote_protocol.x | 20 +++++++++++-
tools/virsh-domain.c | 10 +++++-
8 files changed, 152 insertions(+), 2 deletions(-)
--
2.27.0
4
6
[PATCH] conf: parse interface/source/@dev for all interface types (with backend type='passt')
by Laine Stump 10 Mar '25
by Laine Stump 10 Mar '25
10 Mar '25
The original implementation of the passt backend for vhost-user
interfaces erroneously forgot to parse:
<source dev='blah'/>
for interface type='vhostuser', so it wasn't being added to the passt
commandline, and also wasn't being saved to the domain config. Now we
parse it no matter what the interface type, and then throw an error
during validation if source/@dev was specified and backend type !=
'passt' (or if interface type != 'user|vhostuser').
Fixes: 1e9054b9c79d721a55f413c2983c5370044f8f60
Resolves: https://issues.redhat.com/browse/RHEL-82539
Signed-off-by: Laine Stump <laine(a)redhat.com>
---
src/conf/domain_conf.c | 10 +++++++---
src/conf/domain_validate.c | 5 +++++
.../net-vhostuser-passt.x86_64-latest.xml | 2 ++
3 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index d555873848..5daa1f89e8 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -9938,14 +9938,18 @@ virDomainNetDefParseXML(virDomainXMLOption *xmlopt,
break;
case VIR_DOMAIN_NET_TYPE_USER:
- def->sourceDev = virXMLPropString(source_node, "dev");
- break;
-
case VIR_DOMAIN_NET_TYPE_NULL:
case VIR_DOMAIN_NET_TYPE_LAST:
break;
}
+ /* source/@dev is used for two different interface types and *not*
+ * stored inside the union, so we can parse it out always, and
+ * then log an error during validation if it was specified for one
+ * of the interface types that doesn't support it.
+ */
+ def->sourceDev = virXMLPropString(source_node, "dev");
+
if ((virtualport_node = virXPathNode("./virtualport", ctxt))) {
if (virtualport_flags == 0) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
diff --git a/src/conf/domain_validate.c b/src/conf/domain_validate.c
index f2a98f143d..9de442d7d7 100644
--- a/src/conf/domain_validate.c
+++ b/src/conf/domain_validate.c
@@ -2196,6 +2196,11 @@ virDomainNetDefValidate(const virDomainNetDef *net)
}
}
+ if (net->sourceDev && net->backend.type != VIR_DOMAIN_NET_BACKEND_PASST) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
+ _("The 'dev' attribute of the <source> element can only be used with interface type='user' or type='vhostuser' and backend='passt'."));
+ }
+
if (net->nPortForwards > 0) {
size_t p;
diff --git a/tests/qemuxmlconfdata/net-vhostuser-passt.x86_64-latest.xml b/tests/qemuxmlconfdata/net-vhostuser-passt.x86_64-latest.xml
index a1f9366722..529aff11f8 100644
--- a/tests/qemuxmlconfdata/net-vhostuser-passt.x86_64-latest.xml
+++ b/tests/qemuxmlconfdata/net-vhostuser-passt.x86_64-latest.xml
@@ -33,6 +33,7 @@
<controller type='pci' index='0' model='pci-root'/>
<interface type='vhostuser'>
<mac address='00:11:22:33:44:55'/>
+ <source dev='eth42'/>
<ip address='172.17.2.0' family='ipv4' prefix='24'/>
<ip address='2001:db8:ac10:fd01::feed' family='ipv6'/>
<portForward proto='tcp' address='2001:db8:ac10:fd01::1:10'>
@@ -63,6 +64,7 @@
</interface>
<interface type='vhostuser'>
<mac address='00:11:22:33:44:11'/>
+ <source dev='eth43'/>
<model type='virtio'/>
<backend type='passt'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
--
2.48.1
2
2
This version introduces virStringFormatHex method and uses this method while sending host_data to cloud-hypervisor.
Praveen K Paladugu (2):
util: Introduce virStringFormatHex
ch: Enable SEV SNP support
src/ch/ch_monitor.c | 65 ++++++++++++++++++++++++++++++++--------
src/libvirt_private.syms | 1 +
src/util/virstring.c | 19 ++++++++++++
src/util/virstring.h | 1 +
4 files changed, 74 insertions(+), 12 deletions(-)
--
2.47.0
2
6
[PATCH 0/4] hw/s390x: Alias @dump-skeys -> @dump-s390-skey and deprecate
by Philippe Mathieu-Daudé 10 Mar '25
by Philippe Mathieu-Daudé 10 Mar '25
10 Mar '25
We are trying to unify all qemu-system-FOO to a single binary.
In order to do that we need to remove QAPI target specific code.
@dump-skeys is only available on qemu-system-s390x. This series
rename it as @dump-s390-skey, making it available on other
binaries. We take care of backward compatibility via deprecation.
Philippe Mathieu-Daudé (4):
hw/s390x: Introduce the @dump-s390-skeys QMP command
hw/s390x: Introduce the 'dump_s390_skeys' HMP command
hw/s390x: Deprecate the HMP 'dump_skeys' command
hw/s390x: Deprecate the QMP @dump-skeys command
docs/about/deprecated.rst | 5 +++++
qapi/misc-target.json | 5 +++++
qapi/misc.json | 18 ++++++++++++++++++
include/monitor/hmp.h | 1 +
hw/s390x/s390-skeys-stub.c | 24 ++++++++++++++++++++++++
hw/s390x/s390-skeys.c | 19 +++++++++++++++++--
hmp-commands.hx | 17 +++++++++++++++--
hw/s390x/meson.build | 5 +++++
8 files changed, 90 insertions(+), 4 deletions(-)
create mode 100644 hw/s390x/s390-skeys-stub.c
--
2.41.0
7
24
[PATCH 00/16] qemu: Bump minimum qemu to qemu-6.2.0 and clean up capabilities
by Peter Krempa 10 Mar '25
by Peter Krempa 10 Mar '25
10 Mar '25
Summary:
This series was originally just meant to clean up non-release
capabilities but it grew since we dropped debian-11 and Michal asked me
to add dev-version for amdsev variant.
Some of the long patches were truncated, fetch the proper patches at
git fetch https://gitlab.com/pipo.sk/libvirt.git qemu_caps
Note that this series also drops caps dumps which were not updated from
the development version after final version was released. This includes:
- caps_6.2.0_aarch64
- caps_7.0.0_aarch64
- caps_8.0.0_riscv64
If anyone cares enough I'll accept a replacement patch updating the caps
but as outlined in the commit message I don't think we need to do
archaeology for these as we have newer versions.
I also pinged the original author of caps_9.2.0_s390x who promised to
update the caps.
This series also contains current git caps for the 'amdsev' variant per
Michal's request.
Peter Krempa (16):
conf: Drop support for 'sheepdog' disks
qemuxmlconftest: Drop tests pinned to qemu-5.2
qemuxmlconftest: Drop tests pinned to qemu-6.0
qemuxmlconftest: Drop tests pinned to qemu-6.1
qemucapabilitiestest: Drop qemu-5.2 data
qemucapabilitiestest: Drop qemu-6.0 data
qemucapabilitiestest: Drop qemu-6.1 data
qemucapabilitiestest: Add 'qemu_9.2.0.aarch64+hvf' test data
qemucapabilitiestest: Drop unused fake data 'caps_7.0.0_aarch64+hvf'
qemucapabilitiesdata: Drop un-updated 'qemu_6.2.0_aarch64' data
qemucapabilitiesdata: Drop un-updated 'caps_7.0.0_aarch64' data
qemucapabilitiesdata: Drop un-updated 'qemu_8.0.0_riscv64' data
qemu: capabilities: Bump minimum qemu to qemu-6.2
qemu: block: Drop 'sheepdog' protocol support
qemucapabilitiestest: Update 'caps_10.0.0_x86_64' to
'v9.2.0-2369-g98c7362b1e'
qemucapabilitiestest: Add data for the qemu-10.0 dev cycle on x86_64
for the '+amdsev' variant
src/conf/domain_validate.c | 7 +
src/qemu/qemu_block.c | 44 +-
src/qemu/qemu_capabilities.c | 2 +-
....xml => qemu_10.0.0-q35.x86_64+amdsev.xml} | 870 +-
....xml => qemu_10.0.0-tcg.x86_64+amdsev.xml} | 1245 +-
...6_64.xml => qemu_10.0.0.x86_64+amdsev.xml} | 868 +-
.../qemu_5.2.0-tcg-virt.riscv64.xml | 163 -
.../domaincapsdata/qemu_5.2.0-tcg.x86_64.xml | 1643 -
.../qemu_5.2.0-virt.aarch64.xml | 221 -
.../qemu_5.2.0-virt.riscv64.xml | 166 -
tests/domaincapsdata/qemu_5.2.0.aarch64.xml | 221 -
tests/domaincapsdata/qemu_5.2.0.ppc64.xml | 187 -
tests/domaincapsdata/qemu_5.2.0.s390x.xml | 288 -
.../domaincapsdata/qemu_6.0.0-q35.x86_64.xml | 1047 -
.../domaincapsdata/qemu_6.0.0-tcg.x86_64.xml | 1744 -
.../qemu_6.0.0-virt.aarch64.xml | 227 -
tests/domaincapsdata/qemu_6.0.0.aarch64.xml | 227 -
tests/domaincapsdata/qemu_6.0.0.s390x.xml | 293 -
tests/domaincapsdata/qemu_6.0.0.x86_64.xml | 1047 -
.../domaincapsdata/qemu_6.1.0-q35.x86_64.xml | 1139 -
tests/domaincapsdata/qemu_6.1.0.x86_64.xml | 1139 -
.../qemu_6.2.0-virt.aarch64.xml | 234 -
tests/domaincapsdata/qemu_6.2.0.aarch64.xml | 234 -
.../qemu_7.0.0-virt.aarch64.xml | 233 -
tests/domaincapsdata/qemu_7.0.0.aarch64.xml | 233 -
.../qemu_8.0.0-tcg-virt.riscv64.xml | 174 -
.../qemu_8.0.0-virt.riscv64.xml | 177 -
...hvf.xml => qemu_9.2.0-hvf.aarch64+hvf.xml} | 26 +-
...lies => caps_10.0.0_x86_64+amdsev.replies} | 26336 +++++++++----
...6_64.xml => caps_10.0.0_x86_64+amdsev.xml} | 2994 +-
.../caps_10.0.0_x86_64.replies | 388 +-
.../caps_10.0.0_x86_64.xml | 70 +-
.../caps_5.2.0_aarch64.replies | 24859 ------------
.../caps_5.2.0_aarch64.xml | 428 -
.../caps_5.2.0_ppc64.replies | 28246 -------------
.../qemucapabilitiesdata/caps_5.2.0_ppc64.xml | 1081 -
.../caps_5.2.0_riscv64.replies | 20531 ----------
.../caps_5.2.0_riscv64.xml | 131 -
.../caps_5.2.0_s390x.replies | 25181 ------------
.../qemucapabilitiesdata/caps_5.2.0_s390x.xml | 3221 --
.../caps_5.2.0_x86_64.replies | 30637 ---------------
.../caps_5.2.0_x86_64.xml | 3113 --
.../caps_6.0.0_aarch64.replies | 26869 -------------
.../caps_6.0.0_aarch64.xml | 454 -
.../caps_6.0.0_s390x.replies | 26878 -------------
.../qemucapabilitiesdata/caps_6.0.0_s390x.xml | 3235 --
.../caps_6.0.0_x86_64.replies | 32715 ----------------
.../caps_6.0.0_x86_64.xml | 3261 --
.../caps_6.2.0_aarch64.replies | 28023 -------------
.../caps_6.2.0_aarch64.xml | 485 -
.../caps_7.0.0_aarch64.replies | 31776 ---------------
.../caps_7.0.0_aarch64.xml | 501 -
.../caps_8.0.0_riscv64.replies | 27913 -------------
.../caps_8.0.0_riscv64.xml | 157 -
...replies => caps_9.2.0_aarch64+hvf.replies} | 27603 +++++++------
...h64+hvf.xml => caps_9.2.0_aarch64+hvf.xml} | 647 +-
tests/qemusecuritytest.c | 1 -
.../cpu-fallback.x86_64-5.2.0.args | 34 -
.../cpu-fallback.x86_64-5.2.0.xml | 40 -
...-host-model-fallback-kvm.x86_64-5.2.0.args | 34 -
...u-host-model-fallback-kvm.x86_64-5.2.0.xml | 29 -
...-host-model-fallback-kvm.x86_64-6.0.0.args | 34 -
...u-host-model-fallback-kvm.x86_64-6.0.0.xml | 29 -
...-host-model-fallback-kvm.x86_64-6.1.0.args | 34 -
...u-host-model-fallback-kvm.x86_64-6.1.0.xml | 29 -
...-host-model-fallback-tcg.x86_64-5.2.0.args | 34 -
...u-host-model-fallback-tcg.x86_64-5.2.0.xml | 29 -
...-host-model-fallback-tcg.x86_64-6.0.0.args | 34 -
...u-host-model-fallback-tcg.x86_64-6.0.0.xml | 29 -
...-host-model-fallback-tcg.x86_64-6.1.0.args | 34 -
...u-host-model-fallback-tcg.x86_64-6.1.0.xml | 29 -
.../cpu-host-model-kvm.x86_64-5.2.0.args | 39 -
.../cpu-host-model-kvm.x86_64-5.2.0.xml | 48 -
.../cpu-host-model-kvm.x86_64-6.0.0.args | 39 -
.../cpu-host-model-kvm.x86_64-6.0.0.xml | 48 -
.../cpu-host-model-kvm.x86_64-6.1.0.args | 39 -
.../cpu-host-model-kvm.x86_64-6.1.0.xml | 48 -
...ost-model-nofallback-kvm.x86_64-5.2.0.args | 34 -
...host-model-nofallback-kvm.x86_64-5.2.0.xml | 29 -
...ost-model-nofallback-kvm.x86_64-6.0.0.args | 34 -
...host-model-nofallback-kvm.x86_64-6.0.0.xml | 29 -
...ost-model-nofallback-kvm.x86_64-6.1.0.args | 34 -
...host-model-nofallback-kvm.x86_64-6.1.0.xml | 29 -
...ost-model-nofallback-tcg.x86_64-5.2.0.args | 34 -
...host-model-nofallback-tcg.x86_64-5.2.0.xml | 29 -
...ost-model-nofallback-tcg.x86_64-6.0.0.args | 34 -
...host-model-nofallback-tcg.x86_64-6.0.0.xml | 29 -
...ost-model-nofallback-tcg.x86_64-6.1.0.args | 34 -
...host-model-nofallback-tcg.x86_64-6.1.0.xml | 29 -
.../cpu-host-model-tcg.x86_64-5.2.0.args | 39 -
.../cpu-host-model-tcg.x86_64-5.2.0.xml | 48 -
.../cpu-host-model-tcg.x86_64-6.0.0.args | 39 -
.../cpu-host-model-tcg.x86_64-6.0.0.xml | 48 -
.../cpu-host-model-tcg.x86_64-6.1.0.args | 39 -
.../cpu-host-model-tcg.x86_64-6.1.0.xml | 48 -
.../cpu-nofallback.x86_64-5.2.0.err | 1 -
.../cpu-nofallback.x86_64-5.2.0.xml | 40 -
...sk-network-rbd-encryption.x86_64-6.0.0.err | 1 -
.../disk-network-sheepdog.x86_64-6.0.0.args | 39 -
.../disk-network-sheepdog.x86_64-6.0.0.xml | 46 -
.../disk-network-sheepdog.x86_64-latest.err | 1 +
...disk-network-tlsx509-nbd.x86_64-5.2.0.args | 38 -
.../disk-network-tlsx509-nbd.x86_64-5.2.0.xml | 37 -
...virtio-scsi-reservations.x86_64-5.2.0.args | 43 -
...-virtio-scsi-reservations.x86_64-5.2.0.xml | 53 -
.../graphics-vnc-tls-secret.x86_64-5.2.0.args | 37 -
.../graphics-vnc-tls-secret.x86_64-5.2.0.xml | 39 -
...ch64-virt-headless.aarch64-latest+hvf.args | 8 +-
.../hyperv-passthrough.x86_64-6.1.0.args | 32 -
.../hyperv-passthrough.x86_64-6.1.0.xml | 34 -
...othreads-virtio-scsi-pci.x86_64-5.2.0.args | 42 -
...iothreads-virtio-scsi-pci.x86_64-5.2.0.xml | 49 -
...ev-missing-platform-info.x86_64-6.0.0.args | 37 -
...sev-missing-platform-info.x86_64-6.0.0.xml | 43 -
.../launch-security-sev.x86_64-6.0.0.args | 37 -
.../launch-security-sev.x86_64-6.0.0.xml | 45 -
.../luks-disks-source-qcow2.x86_64-5.2.0.args | 62 -
.../luks-disks-source-qcow2.x86_64-5.2.0.xml | 107 -
...ory-hotplug-nvdimm-align.x86_64-5.2.0.args | 40 -
...mory-hotplug-nvdimm-align.x86_64-5.2.0.xml | 60 -
...ory-hotplug-nvdimm-label.x86_64-5.2.0.args | 40 -
...mory-hotplug-nvdimm-label.x86_64-5.2.0.xml | 62 -
...mory-hotplug-nvdimm-pmem.x86_64-5.2.0.args | 40 -
...emory-hotplug-nvdimm-pmem.x86_64-5.2.0.xml | 60 -
...-hotplug-nvdimm-readonly.x86_64-5.2.0.args | 40 -
...y-hotplug-nvdimm-readonly.x86_64-5.2.0.xml | 60 -
...mory-hotplug-virtio-pmem.x86_64-5.2.0.args | 40 -
...emory-hotplug-virtio-pmem.x86_64-5.2.0.xml | 55 -
.../misc-no-reboot.x86_64-5.2.0.args | 36 -
.../misc-no-reboot.x86_64-5.2.0.xml | 38 -
.../numatune-memnode.x86_64-5.2.0.args | 39 -
.../numatune-memnode.x86_64-5.2.0.xml | 41 -
...0-async-teardown-disabled.s390x-6.0.0.args | 35 -
...90-async-teardown-disabled.s390x-6.0.0.xml | 36 -
.../s390-async-teardown.s390x-6.0.0.err | 1 -
.../virtio-iommu-x86_64.x86_64-6.1.0.err | 1 -
.../virtio-rng-builtin.x86_64-5.2.0.args | 36 -
.../virtio-rng-builtin.x86_64-5.2.0.xml | 35 -
.../virtio-rng-egd-unix.x86_64-5.2.0.args | 37 -
.../virtio-rng-egd-unix.x86_64-5.2.0.xml | 37 -
tests/qemuxmlconftest.c | 47 +-
141 files changed, 37729 insertions(+), 357243 deletions(-)
rename tests/domaincapsdata/{qemu_5.2.0-q35.x86_64.xml => qemu_10.0.0-q35.x86_64+amdsev.xml} (51%)
rename tests/domaincapsdata/{qemu_6.1.0-tcg.x86_64.xml => qemu_10.0.0-tcg.x86_64+amdsev.xml} (67%)
rename tests/domaincapsdata/{qemu_5.2.0.x86_64.xml => qemu_10.0.0.x86_64+amdsev.xml} (51%)
delete mode 100644 tests/domaincapsdata/qemu_5.2.0-tcg-virt.riscv64.xml
delete mode 100644 tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml
delete mode 100644 tests/domaincapsdata/qemu_5.2.0-virt.aarch64.xml
delete mode 100644 tests/domaincapsdata/qemu_5.2.0-virt.riscv64.xml
delete mode 100644 tests/domaincapsdata/qemu_5.2.0.aarch64.xml
delete mode 100644 tests/domaincapsdata/qemu_5.2.0.ppc64.xml
delete mode 100644 tests/domaincapsdata/qemu_5.2.0.s390x.xml
delete mode 100644 tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml
delete mode 100644 tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml
delete mode 100644 tests/domaincapsdata/qemu_6.0.0-virt.aarch64.xml
delete mode 100644 tests/domaincapsdata/qemu_6.0.0.aarch64.xml
delete mode 100644 tests/domaincapsdata/qemu_6.0.0.s390x.xml
delete mode 100644 tests/domaincapsdata/qemu_6.0.0.x86_64.xml
delete mode 100644 tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml
delete mode 100644 tests/domaincapsdata/qemu_6.1.0.x86_64.xml
delete mode 100644 tests/domaincapsdata/qemu_6.2.0-virt.aarch64.xml
delete mode 100644 tests/domaincapsdata/qemu_6.2.0.aarch64.xml
delete mode 100644 tests/domaincapsdata/qemu_7.0.0-virt.aarch64.xml
delete mode 100644 tests/domaincapsdata/qemu_7.0.0.aarch64.xml
delete mode 100644 tests/domaincapsdata/qemu_8.0.0-tcg-virt.riscv64.xml
delete mode 100644 tests/domaincapsdata/qemu_8.0.0-virt.riscv64.xml
rename tests/domaincapsdata/{qemu_7.0.0-hvf.aarch64+hvf.xml => qemu_9.2.0-hvf.aarch64+hvf.xml} (91%)
rename tests/qemucapabilitiesdata/{caps_6.1.0_x86_64.replies => caps_10.0.0_x86_64+amdsev.replies} (68%)
rename tests/qemucapabilitiesdata/{caps_6.1.0_x86_64.xml => caps_10.0.0_x86_64+amdsev.xml} (63%)
delete mode 100644 tests/qemucapabilitiesdata/caps_5.2.0_aarch64.replies
delete mode 100644 tests/qemucapabilitiesdata/caps_5.2.0_aarch64.xml
delete mode 100644 tests/qemucapabilitiesdata/caps_5.2.0_ppc64.replies
delete mode 100644 tests/qemucapabilitiesdata/caps_5.2.0_ppc64.xml
delete mode 100644 tests/qemucapabilitiesdata/caps_5.2.0_riscv64.replies
delete mode 100644 tests/qemucapabilitiesdata/caps_5.2.0_riscv64.xml
delete mode 100644 tests/qemucapabilitiesdata/caps_5.2.0_s390x.replies
delete mode 100644 tests/qemucapabilitiesdata/caps_5.2.0_s390x.xml
delete mode 100644 tests/qemucapabilitiesdata/caps_5.2.0_x86_64.replies
delete mode 100644 tests/qemucapabilitiesdata/caps_5.2.0_x86_64.xml
delete mode 100644 tests/qemucapabilitiesdata/caps_6.0.0_aarch64.replies
delete mode 100644 tests/qemucapabilitiesdata/caps_6.0.0_aarch64.xml
delete mode 100644 tests/qemucapabilitiesdata/caps_6.0.0_s390x.replies
delete mode 100644 tests/qemucapabilitiesdata/caps_6.0.0_s390x.xml
delete mode 100644 tests/qemucapabilitiesdata/caps_6.0.0_x86_64.replies
delete mode 100644 tests/qemucapabilitiesdata/caps_6.0.0_x86_64.xml
delete mode 100644 tests/qemucapabilitiesdata/caps_6.2.0_aarch64.replies
delete mode 100644 tests/qemucapabilitiesdata/caps_6.2.0_aarch64.xml
delete mode 100644 tests/qemucapabilitiesdata/caps_7.0.0_aarch64.replies
delete mode 100644 tests/qemucapabilitiesdata/caps_7.0.0_aarch64.xml
delete mode 100644 tests/qemucapabilitiesdata/caps_8.0.0_riscv64.replies
delete mode 100644 tests/qemucapabilitiesdata/caps_8.0.0_riscv64.xml
rename tests/qemucapabilitiesdata/{caps_7.0.0_aarch64+hvf.replies => caps_9.2.0_aarch64+hvf.replies} (82%)
rename tests/qemucapabilitiesdata/{caps_7.0.0_aarch64+hvf.xml => caps_9.2.0_aarch64+hvf.xml} (58%)
delete mode 100644 tests/qemuxmlconfdata/cpu-fallback.x86_64-5.2.0.args
delete mode 100644 tests/qemuxmlconfdata/cpu-fallback.x86_64-5.2.0.xml
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-fallback-kvm.x86_64-5.2.0.args
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-fallback-kvm.x86_64-5.2.0.xml
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-fallback-kvm.x86_64-6.0.0.args
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-fallback-kvm.x86_64-6.0.0.xml
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-fallback-kvm.x86_64-6.1.0.args
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-fallback-kvm.x86_64-6.1.0.xml
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-fallback-tcg.x86_64-5.2.0.args
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-fallback-tcg.x86_64-5.2.0.xml
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-fallback-tcg.x86_64-6.0.0.args
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-fallback-tcg.x86_64-6.0.0.xml
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-fallback-tcg.x86_64-6.1.0.args
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-fallback-tcg.x86_64-6.1.0.xml
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-kvm.x86_64-5.2.0.args
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-kvm.x86_64-5.2.0.xml
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-kvm.x86_64-6.0.0.args
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-kvm.x86_64-6.0.0.xml
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-kvm.x86_64-6.1.0.args
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-kvm.x86_64-6.1.0.xml
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-nofallback-kvm.x86_64-5.2.0.args
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-nofallback-kvm.x86_64-5.2.0.xml
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-nofallback-kvm.x86_64-6.0.0.args
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-nofallback-kvm.x86_64-6.0.0.xml
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-nofallback-kvm.x86_64-6.1.0.args
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-nofallback-kvm.x86_64-6.1.0.xml
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-nofallback-tcg.x86_64-5.2.0.args
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-nofallback-tcg.x86_64-5.2.0.xml
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-nofallback-tcg.x86_64-6.0.0.args
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-nofallback-tcg.x86_64-6.0.0.xml
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-nofallback-tcg.x86_64-6.1.0.args
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-nofallback-tcg.x86_64-6.1.0.xml
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-tcg.x86_64-5.2.0.args
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-tcg.x86_64-5.2.0.xml
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-tcg.x86_64-6.0.0.args
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-tcg.x86_64-6.0.0.xml
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-tcg.x86_64-6.1.0.args
delete mode 100644 tests/qemuxmlconfdata/cpu-host-model-tcg.x86_64-6.1.0.xml
delete mode 100644 tests/qemuxmlconfdata/cpu-nofallback.x86_64-5.2.0.err
delete mode 100644 tests/qemuxmlconfdata/cpu-nofallback.x86_64-5.2.0.xml
delete mode 100644 tests/qemuxmlconfdata/disk-network-rbd-encryption.x86_64-6.0.0.err
delete mode 100644 tests/qemuxmlconfdata/disk-network-sheepdog.x86_64-6.0.0.args
delete mode 100644 tests/qemuxmlconfdata/disk-network-sheepdog.x86_64-6.0.0.xml
create mode 100644 tests/qemuxmlconfdata/disk-network-sheepdog.x86_64-latest.err
delete mode 100644 tests/qemuxmlconfdata/disk-network-tlsx509-nbd.x86_64-5.2.0.args
delete mode 100644 tests/qemuxmlconfdata/disk-network-tlsx509-nbd.x86_64-5.2.0.xml
delete mode 100644 tests/qemuxmlconfdata/disk-virtio-scsi-reservations.x86_64-5.2.0.args
delete mode 100644 tests/qemuxmlconfdata/disk-virtio-scsi-reservations.x86_64-5.2.0.xml
delete mode 100644 tests/qemuxmlconfdata/graphics-vnc-tls-secret.x86_64-5.2.0.args
delete mode 100644 tests/qemuxmlconfdata/graphics-vnc-tls-secret.x86_64-5.2.0.xml
delete mode 100644 tests/qemuxmlconfdata/hyperv-passthrough.x86_64-6.1.0.args
delete mode 100644 tests/qemuxmlconfdata/hyperv-passthrough.x86_64-6.1.0.xml
delete mode 100644 tests/qemuxmlconfdata/iothreads-virtio-scsi-pci.x86_64-5.2.0.args
delete mode 100644 tests/qemuxmlconfdata/iothreads-virtio-scsi-pci.x86_64-5.2.0.xml
delete mode 100644 tests/qemuxmlconfdata/launch-security-sev-missing-platform-info.x86_64-6.0.0.args
delete mode 100644 tests/qemuxmlconfdata/launch-security-sev-missing-platform-info.x86_64-6.0.0.xml
delete mode 100644 tests/qemuxmlconfdata/launch-security-sev.x86_64-6.0.0.args
delete mode 100644 tests/qemuxmlconfdata/launch-security-sev.x86_64-6.0.0.xml
delete mode 100644 tests/qemuxmlconfdata/luks-disks-source-qcow2.x86_64-5.2.0.args
delete mode 100644 tests/qemuxmlconfdata/luks-disks-source-qcow2.x86_64-5.2.0.xml
delete mode 100644 tests/qemuxmlconfdata/memory-hotplug-nvdimm-align.x86_64-5.2.0.args
delete mode 100644 tests/qemuxmlconfdata/memory-hotplug-nvdimm-align.x86_64-5.2.0.xml
delete mode 100644 tests/qemuxmlconfdata/memory-hotplug-nvdimm-label.x86_64-5.2.0.args
delete mode 100644 tests/qemuxmlconfdata/memory-hotplug-nvdimm-label.x86_64-5.2.0.xml
delete mode 100644 tests/qemuxmlconfdata/memory-hotplug-nvdimm-pmem.x86_64-5.2.0.args
delete mode 100644 tests/qemuxmlconfdata/memory-hotplug-nvdimm-pmem.x86_64-5.2.0.xml
delete mode 100644 tests/qemuxmlconfdata/memory-hotplug-nvdimm-readonly.x86_64-5.2.0.args
delete mode 100644 tests/qemuxmlconfdata/memory-hotplug-nvdimm-readonly.x86_64-5.2.0.xml
delete mode 100644 tests/qemuxmlconfdata/memory-hotplug-virtio-pmem.x86_64-5.2.0.args
delete mode 100644 tests/qemuxmlconfdata/memory-hotplug-virtio-pmem.x86_64-5.2.0.xml
delete mode 100644 tests/qemuxmlconfdata/misc-no-reboot.x86_64-5.2.0.args
delete mode 100644 tests/qemuxmlconfdata/misc-no-reboot.x86_64-5.2.0.xml
delete mode 100644 tests/qemuxmlconfdata/numatune-memnode.x86_64-5.2.0.args
delete mode 100644 tests/qemuxmlconfdata/numatune-memnode.x86_64-5.2.0.xml
delete mode 100644 tests/qemuxmlconfdata/s390-async-teardown-disabled.s390x-6.0.0.args
delete mode 100644 tests/qemuxmlconfdata/s390-async-teardown-disabled.s390x-6.0.0.xml
delete mode 100644 tests/qemuxmlconfdata/s390-async-teardown.s390x-6.0.0.err
delete mode 100644 tests/qemuxmlconfdata/virtio-iommu-x86_64.x86_64-6.1.0.err
delete mode 100644 tests/qemuxmlconfdata/virtio-rng-builtin.x86_64-5.2.0.args
delete mode 100644 tests/qemuxmlconfdata/virtio-rng-builtin.x86_64-5.2.0.xml
delete mode 100644 tests/qemuxmlconfdata/virtio-rng-egd-unix.x86_64-5.2.0.args
delete mode 100644 tests/qemuxmlconfdata/virtio-rng-egd-unix.x86_64-5.2.0.xml
--
2.48.1
3
18
Hi,
i just playing around with the "new" backup API for switching from the old way and simply want
to do full backup's in push mode. If i do so,
virsh backup-begin <domain>
the backup-Image files are always created in the image directory
As the place on the fast nvme's, where the images are lying is very limited, i want to place the
backup-image files to be on another harddisk on an mounted dir whithout temporary save them
in the image directory.
To do so, an --targetdir option on backup-begin would be very useful.
best regards
Michael
2
1
[PATCH RESEND 0/6] Add support for configuring PCI high memory MMIO size
by Matthew R. Ochs 08 Mar '25
by Matthew R. Ochs 08 Mar '25
08 Mar '25
Resending this series since it appears my first attempt was not sent to
the list due to the "first post" manual moderation delay. =)
This patch series adds support for configuring the PCI high memory MMIO
window size for aarch64 virt machine types. This feature was recently merged
into the QEMU upstream master branch [1] and will be available in QEMU 10.0.
It allows users to configure the size of the high memory MMIO window above
4GB, which is particularly useful for systems with large amounts of PCI
memory requirements.
The feature is exposed through the domain XML as a new PCI feature:
<features>
<pci>
<highmem-mmio-size unit='G'>512</highmem-mmio-size>
</pci>
</features>
When enabled, this configures the size of the PCI high memory MMIO window
via QEMU's highmem-mmio-size machine property. The feature is only
available for aarch64 virt machine types and requires QEMU support.
This series depends on [2] and should be applied on top of those patches.
For your convenience, this series is also available on Github [3].
[1] https://github.com/qemu/qemu/commit/f10104aeae3a17f181d5bb37b7fd7dad7fe86cba
[2] https://lists.libvirt.org/archives/list/devel@lists.libvirt.org/thread/Z4NQ…
[3] git fetch https://github.com/nvmochs/libvirt.git pci_highmem_mmio_size
Signed-off-by: Matthew R. Ochs <mochs(a)nvidia.com>
Matthew R. Ochs (6):
domain: Add PCI configuration feature infrastructure
schema: Add PCI configuration feature schema
conf: Add PCI configuration XML parsing and formatting
qemu: Add capability for PCI high memory MMIO size
qemu: Add command line support for PCI high memory MMIO size
tests: Add tests for machine PCI features
src/conf/domain_conf.c | 103 ++++++++++++++++++
src/conf/domain_conf.h | 6 +
src/conf/schemas/domaincommon.rng | 9 ++
src/qemu/qemu_capabilities.c | 2 +
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_command.c | 6 +
src/qemu/qemu_validate.c | 15 +++
.../caps_10.0.0_aarch64.replies | 10 ++
.../caps_10.0.0_aarch64.xml | 1 +
...rch64-virt-machine-pci.aarch64-latest.args | 31 ++++++
...arch64-virt-machine-pci.aarch64-latest.xml | 30 +++++
.../aarch64-virt-machine-pci.xml | 20 ++++
tests/qemuxmlconftest.c | 2 +
13 files changed, 236 insertions(+)
create mode 100644 tests/qemuxmlconfdata/aarch64-virt-machine-pci.aarch64-latest.args
create mode 100644 tests/qemuxmlconfdata/aarch64-virt-machine-pci.aarch64-latest.xml
create mode 100644 tests/qemuxmlconfdata/aarch64-virt-machine-pci.xml
--
2.46.0
1
6