[PATCH 0/5] qemu: Introduce nvme disk emulation support
by honglei.wang@smartx.com
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 weeks, 1 day
[PATCH v1] tests: update capabilities for QEMU 9.2.0 on s390x
by Shalini Chellathurai Saroja
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
3 weeks, 1 day
[PATCH v2 0/4] Adding POWER11 CPU Support
by Narayana Murty N
This patch series introduces the necessary changes to
support the POWER11 CPU and POWER11 host in libvirt.
Additionally, it updates the QEMU capabilities with
the latest QEMU version 9.2.1 to include POWER11 in
the capabilities tests.
Patch Summary:
Patch 0001: Remove test cases for the QEMU-dropped pseries-2.7 machine.
Patch 0002: Add capabilities test support for QEMU 9.2.0 on PPC64.
Patch 0003: Add POWER11 CPU model support.
Patch 0004: Add POWER11 host model support.
The corresponding patches for the Linux kernel and QEMU
are already upstream. Relevant links are provided below:
Linux kernel patches:
1. Linux P11 support: commit c2ed087ed35c ("powerpc: Add Power11 architected and raw mode")
2. Linux P11 KVM support: commit 96e266e3bcd6 ("KVM: PPC: Book3S HV: Add Power11 capability support for Nested PAPR guests")
Qemu patches:
3. Qemu P11 support: commit 273db89bcaf4 ("ppc/pseries: Add Power11 cpu type")
4. Qemu P11 DD02.0 support: commit c0d964076c3e ("target/ppc: Add Power11 DD2.0 processor")
Signed-off-by: Narayana Murty N <nnmlinux(a)linux.ibm.com>
----
Changelog:
-V1:https://lists.libvirt.org/archives/list/devel@lists.libvirt.org/thread/4A3IND2QP5CE654XE755ICRZKLUNYXAE/
*Addressed v2 patch readability issues.
*Fixed the Unit test failures at individual patch levels.
Narayana Murty N (4):
tests: Remove pseries-2.7 machine type
tests: add capabilities for QEMU 9.2.0 on ppc64
cpu_map: Add POWER11 cpu model support
cpu_ppc64: Add POWER11 host-model support
src/cpu/cpu_ppc64.c | 8 +-
src/cpu_map/index.xml | 1 +
src/cpu_map/meson.build | 1 +
src/cpu_map/ppc64_POWER11.xml | 6 +
tests/domaincapsdata/qemu_9.2.0.ppc64.xml | 190 +
.../caps_9.2.0_ppc64.replies | 39302 ++++++++++++++++
.../qemucapabilitiesdata/caps_9.2.0_ppc64.xml | 1095 +
.../ppc64-modern-bulk-result-conf.xml | 2 +-
.../ppc64-modern-bulk-result-live.xml | 2 +-
.../ppc64-modern-individual-result-conf.xml | 2 +-
.../ppc64-modern-individual-result-live.xml | 2 +-
.../disk-floppy-pseries.ppc64-latest.xml | 2 +-
...-nvdimm-ppc64.ppc64-latest.abi-update.args | 2 +-
...g-nvdimm-ppc64.ppc64-latest.abi-update.xml | 2 +-
...ory-hotplug-nvdimm-ppc64.ppc64-latest.args | 2 +-
...mory-hotplug-nvdimm-ppc64.ppc64-latest.xml | 2 +-
...-ppc64-nonuma.ppc64-latest.abi-update.args | 2 +-
...g-ppc64-nonuma.ppc64-latest.abi-update.xml | 2 +-
...ory-hotplug-ppc64-nonuma.ppc64-latest.args | 2 +-
...mory-hotplug-ppc64-nonuma.ppc64-latest.xml | 2 +-
.../panic-pseries.ppc64-latest.args | 2 +-
.../panic-pseries.ppc64-latest.xml | 2 +-
...ault-cpu-kvm-pseries-2.7.ppc64-latest.args | 38 -
...fault-cpu-kvm-pseries-2.7.ppc64-latest.xml | 49 -
.../ppc64-default-cpu-kvm-pseries-2.7.xml | 22 -
...ault-cpu-kvm-pseries-3.1.ppc64-latest.args | 2 +-
...fault-cpu-kvm-pseries-3.1.ppc64-latest.xml | 2 +-
...ault-cpu-kvm-pseries-4.2.ppc64-latest.args | 2 +-
...fault-cpu-kvm-pseries-4.2.ppc64-latest.xml | 2 +-
...ault-cpu-tcg-pseries-2.7.ppc64-latest.args | 38 -
...fault-cpu-tcg-pseries-2.7.ppc64-latest.xml | 49 -
.../ppc64-default-cpu-tcg-pseries-2.7.xml | 22 -
...ault-cpu-tcg-pseries-4.2.ppc64-latest.args | 2 +-
...fault-cpu-tcg-pseries-4.2.ppc64-latest.xml | 2 +-
...efault-models.ppc64-latest.abi-update.args | 4 +-
...default-models.ppc64-latest.abi-update.xml | 2 +-
...4-pseries-default-models.ppc64-latest.args | 4 +-
...64-pseries-default-models.ppc64-latest.xml | 2 +-
.../ppc64-pseries-graphics.ppc64-latest.args | 4 +-
.../ppc64-pseries-graphics.ppc64-latest.xml | 2 +-
.../ppc64-pseries-headless.ppc64-latest.args | 4 +-
.../ppc64-pseries-headless.ppc64-latest.xml | 2 +-
...eries-minimal.ppc64-latest.abi-update.args | 2 +-
...series-minimal.ppc64-latest.abi-update.xml | 2 +-
.../ppc64-pseries-minimal.ppc64-latest.args | 2 +-
.../ppc64-pseries-minimal.ppc64-latest.xml | 2 +-
.../ppc64-tpmproxy-single.ppc64-latest.args | 2 +-
.../ppc64-tpmproxy-single.ppc64-latest.xml | 2 +-
.../ppc64-tpmproxy-with-tpm.ppc64-latest.args | 2 +-
.../ppc64-tpmproxy-with-tpm.ppc64-latest.xml | 2 +-
.../pseries-basic.ppc64-latest.args | 2 +-
.../pseries-basic.ppc64-latest.xml | 2 +-
.../pseries-console-virtio.ppc64-latest.args | 2 +-
.../pseries-console-virtio.ppc64-latest.xml | 2 +-
...eries-cpu-compat-power11.ppc64-latest.args | 31 +
...series-cpu-compat-power11.ppc64-latest.err | 1 +
...series-cpu-compat-power11.ppc64-latest.xml | 29 +
.../pseries-cpu-compat-power11.xml | 19 +
.../pseries-cpu-le.ppc64-latest.args | 2 +-
.../pseries-cpu-le.ppc64-latest.xml | 2 +-
.../pseries-features.ppc64-latest.args | 2 +-
.../pseries-features.ppc64-latest.xml | 2 +-
.../pseries-hostdevs-1.ppc64-latest.args | 2 +-
.../pseries-hostdevs-1.ppc64-latest.xml | 2 +-
.../pseries-hostdevs-2.ppc64-latest.args | 2 +-
.../pseries-hostdevs-2.ppc64-latest.xml | 2 +-
.../pseries-hostdevs-3.ppc64-latest.args | 2 +-
.../pseries-hostdevs-3.ppc64-latest.xml | 2 +-
.../pseries-many-buses-1.ppc64-latest.args | 2 +-
.../pseries-many-buses-1.ppc64-latest.xml | 2 +-
.../pseries-many-buses-2.ppc64-latest.args | 2 +-
.../pseries-many-buses-2.ppc64-latest.xml | 2 +-
.../pseries-many-devices.ppc64-latest.args | 2 +-
.../pseries-many-devices.ppc64-latest.xml | 2 +-
.../pseries-nvram.ppc64-latest.args | 2 +-
.../pseries-nvram.ppc64-latest.xml | 2 +-
.../pseries-panic-missing.ppc64-latest.args | 2 +-
.../pseries-panic-missing.ppc64-latest.xml | 2 +-
...pseries-panic-no-address.ppc64-latest.args | 2 +-
.../pseries-panic-no-address.ppc64-latest.xml | 2 +-
...ries-phb-default-missing.ppc64-latest.args | 2 +-
...eries-phb-default-missing.ppc64-latest.xml | 2 +-
.../pseries-phb-numa-node.ppc64-latest.args | 2 +-
.../pseries-phb-numa-node.ppc64-latest.xml | 2 +-
.../pseries-phb-simple.ppc64-latest.args | 6 +-
.../pseries-phb-simple.ppc64-latest.xml | 2 +-
.../pseries-phb-user-alias.ppc64-latest.args | 6 +-
.../pseries-phb-user-alias.ppc64-latest.xml | 2 +-
.../pseries-serial-native.ppc64-latest.args | 2 +-
.../pseries-serial-native.ppc64-latest.xml | 2 +-
.../pseries-serial-pci.ppc64-latest.args | 2 +-
.../pseries-serial-pci.ppc64-latest.xml | 2 +-
.../pseries-serial-usb.ppc64-latest.args | 2 +-
.../pseries-serial-usb.ppc64-latest.xml | 2 +-
.../pseries-usb-default.ppc64-latest.args | 2 +-
.../pseries-usb-default.ppc64-latest.xml | 2 +-
.../pseries-usb-kbd.ppc64-latest.args | 2 +-
.../pseries-usb-kbd.ppc64-latest.xml | 2 +-
.../pseries-usb-multi.ppc64-latest.args | 2 +-
.../pseries-usb-multi.ppc64-latest.xml | 2 +-
...series-vio-user-assigned.ppc64-latest.args | 7 +-
...pseries-vio-user-assigned.ppc64-latest.xml | 2 +-
.../pseries-vio.ppc64-latest.args | 7 +-
.../pseries-vio.ppc64-latest.xml | 2 +-
...fault-pseries.ppc64-latest.abi-update.args | 2 +-
...efault-pseries.ppc64-latest.abi-update.xml | 2 +-
...ntroller-default-pseries.ppc64-latest.args | 2 +-
...ontroller-default-pseries.ppc64-latest.xml | 2 +-
...fault-unavailable-pseries.ppc64-latest.xml | 2 +-
tests/qemuxmlconftest.c | 6 +-
tests/testutilshostcpus.h | 11 +
tests/testutilsqemu.c | 4 +
tests/testutilsqemu.h | 1 +
113 files changed, 40803 insertions(+), 330 deletions(-)
create mode 100644 src/cpu_map/ppc64_POWER11.xml
create mode 100644 tests/domaincapsdata/qemu_9.2.0.ppc64.xml
create mode 100644 tests/qemucapabilitiesdata/caps_9.2.0_ppc64.replies
create mode 100644 tests/qemucapabilitiesdata/caps_9.2.0_ppc64.xml
delete mode 100644 tests/qemuxmlconfdata/ppc64-default-cpu-kvm-pseries-2.7.ppc64-latest.args
delete mode 100644 tests/qemuxmlconfdata/ppc64-default-cpu-kvm-pseries-2.7.ppc64-latest.xml
delete mode 100644 tests/qemuxmlconfdata/ppc64-default-cpu-kvm-pseries-2.7.xml
delete mode 100644 tests/qemuxmlconfdata/ppc64-default-cpu-tcg-pseries-2.7.ppc64-latest.args
delete mode 100644 tests/qemuxmlconfdata/ppc64-default-cpu-tcg-pseries-2.7.ppc64-latest.xml
delete mode 100644 tests/qemuxmlconfdata/ppc64-default-cpu-tcg-pseries-2.7.xml
create mode 100644 tests/qemuxmlconfdata/pseries-cpu-compat-power11.ppc64-latest.args
create mode 100644 tests/qemuxmlconfdata/pseries-cpu-compat-power11.ppc64-latest.err
create mode 100644 tests/qemuxmlconfdata/pseries-cpu-compat-power11.ppc64-latest.xml
create mode 100644 tests/qemuxmlconfdata/pseries-cpu-compat-power11.xml
--
2.48.1
3 weeks, 1 day
[PATCH 00/26] integrate auto-shutdown of VMs with daemons
by Daniel P. Berrangé
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
3 weeks, 2 days
[PATCH] util: Require libnl for Linux
by Akihiko Odaki
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 weeks, 2 days
[PATCH v2 00/23] Add typed param constants for guest info and domain stats APIs
by Daniel P. Berrangé
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
3 weeks, 2 days
[libvirt PATCH v2] qemu: snapshot: error out early when reverting snapshot for VM with non-file disk
by Pavel Hrdina
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
3 weeks, 2 days
[PATCH 0/3] qemu: Replace usb-storage with usb-bot
by Akihiko Odaki
usb-storage is a compound device that automatically creates a USB mass
storage device and a SCSI device as its backend. Unfortunately it lacks
some configuration options that are usually present with a SCSI device,
and cannot represent CD-ROM in particular.
Replace usb-storage with usb-bot, which can be combined with a manually
created SCSI device. libvirt will configure the SCSI device in a way
identical with how QEMU does for usb-storage except that now it respects
a configuration option to represent CD-ROM.
Resolves: https://gitlab.com/libvirt/libvirt/-/issues/368
Signed-off-by: Akihiko Odaki <akihiko.odaki(a)daynix.com>
---
Akihiko Odaki (3):
qemu_capabilities: Introduce QEMU_CAPS_DEVICE_USB_BOT
qemu: Replace usb-storage with usb-bot
qemu_capabilities: Retire QEMU_CAPS_DEVICE_USB_STORAGE
src/qemu/qemu_alias.c | 3 +-
src/qemu/qemu_capabilities.c | 19 +-
src/qemu/qemu_capabilities.h | 3 +-
src/qemu/qemu_command.c | 55 +++++-
src/qemu/qemu_command.h | 5 +
src/qemu/qemu_hotplug.c | 34 +++-
src/qemu/qemu_validate.c | 4 +-
.../qemucapabilitiesdata/caps_10.0.0_s390x.replies | 186 ++++---------------
tests/qemucapabilitiesdata/caps_10.0.0_s390x.xml | 2 +-
.../caps_10.0.0_x86_64.replies | 206 +++++----------------
tests/qemucapabilitiesdata/caps_10.0.0_x86_64.xml | 2 +-
.../caps_5.2.0_aarch64.replies | 174 ++++-------------
tests/qemucapabilitiesdata/caps_5.2.0_aarch64.xml | 2 +-
.../qemucapabilitiesdata/caps_5.2.0_ppc64.replies | 178 +++++-------------
tests/qemucapabilitiesdata/caps_5.2.0_ppc64.xml | 2 +-
.../caps_5.2.0_riscv64.replies | 170 ++++-------------
tests/qemucapabilitiesdata/caps_5.2.0_riscv64.xml | 2 +-
.../qemucapabilitiesdata/caps_5.2.0_x86_64.replies | 190 +++++--------------
tests/qemucapabilitiesdata/caps_5.2.0_x86_64.xml | 2 +-
.../caps_6.0.0_aarch64.replies | 172 ++++-------------
tests/qemucapabilitiesdata/caps_6.0.0_aarch64.xml | 2 +-
.../qemucapabilitiesdata/caps_6.0.0_x86_64.replies | 188 +++++--------------
tests/qemucapabilitiesdata/caps_6.0.0_x86_64.xml | 2 +-
.../qemucapabilitiesdata/caps_6.1.0_x86_64.replies | 194 +++++--------------
tests/qemucapabilitiesdata/caps_6.1.0_x86_64.xml | 2 +-
.../caps_6.2.0_aarch64.replies | 178 ++++--------------
tests/qemucapabilitiesdata/caps_6.2.0_aarch64.xml | 2 +-
.../qemucapabilitiesdata/caps_6.2.0_ppc64.replies | 182 +++++-------------
tests/qemucapabilitiesdata/caps_6.2.0_ppc64.xml | 2 +-
.../qemucapabilitiesdata/caps_6.2.0_x86_64.replies | 194 +++++--------------
tests/qemucapabilitiesdata/caps_6.2.0_x86_64.xml | 2 +-
.../caps_7.0.0_aarch64+hvf.replies | 182 +++++-------------
.../caps_7.0.0_aarch64+hvf.xml | 2 +-
.../caps_7.0.0_aarch64.replies | 182 +++++-------------
tests/qemucapabilitiesdata/caps_7.0.0_aarch64.xml | 2 +-
.../qemucapabilitiesdata/caps_7.0.0_ppc64.replies | 182 +++++-------------
tests/qemucapabilitiesdata/caps_7.0.0_ppc64.xml | 2 +-
.../qemucapabilitiesdata/caps_7.0.0_x86_64.replies | 194 +++++--------------
tests/qemucapabilitiesdata/caps_7.0.0_x86_64.xml | 2 +-
.../qemucapabilitiesdata/caps_7.1.0_ppc64.replies | 182 +++++-------------
tests/qemucapabilitiesdata/caps_7.1.0_ppc64.xml | 2 +-
.../qemucapabilitiesdata/caps_7.1.0_x86_64.replies | 194 +++++--------------
tests/qemucapabilitiesdata/caps_7.1.0_x86_64.xml | 2 +-
tests/qemucapabilitiesdata/caps_7.2.0_ppc.replies | 186 ++++---------------
tests/qemucapabilitiesdata/caps_7.2.0_ppc.xml | 2 +-
.../caps_7.2.0_x86_64+hvf.replies | 206 +++++----------------
.../qemucapabilitiesdata/caps_7.2.0_x86_64+hvf.xml | 2 +-
.../qemucapabilitiesdata/caps_7.2.0_x86_64.replies | 206 +++++----------------
tests/qemucapabilitiesdata/caps_7.2.0_x86_64.xml | 2 +-
.../caps_8.0.0_riscv64.replies | 182 ++++--------------
tests/qemucapabilitiesdata/caps_8.0.0_riscv64.xml | 2 +-
.../qemucapabilitiesdata/caps_8.0.0_x86_64.replies | 206 +++++----------------
tests/qemucapabilitiesdata/caps_8.0.0_x86_64.xml | 2 +-
.../qemucapabilitiesdata/caps_8.1.0_s390x.replies | 182 ++++--------------
tests/qemucapabilitiesdata/caps_8.1.0_s390x.xml | 2 +-
.../qemucapabilitiesdata/caps_8.1.0_x86_64.replies | 206 +++++----------------
tests/qemucapabilitiesdata/caps_8.1.0_x86_64.xml | 2 +-
.../caps_8.2.0_aarch64.replies | 190 ++++---------------
tests/qemucapabilitiesdata/caps_8.2.0_aarch64.xml | 2 +-
.../qemucapabilitiesdata/caps_8.2.0_armv7l.replies | 190 ++++---------------
tests/qemucapabilitiesdata/caps_8.2.0_armv7l.xml | 2 +-
.../caps_8.2.0_loongarch64.replies | 186 ++++---------------
.../caps_8.2.0_loongarch64.xml | 2 +-
.../qemucapabilitiesdata/caps_8.2.0_s390x.replies | 182 ++++--------------
tests/qemucapabilitiesdata/caps_8.2.0_s390x.xml | 2 +-
.../qemucapabilitiesdata/caps_8.2.0_x86_64.replies | 206 +++++----------------
tests/qemucapabilitiesdata/caps_8.2.0_x86_64.xml | 2 +-
.../qemucapabilitiesdata/caps_9.0.0_x86_64.replies | 206 +++++----------------
tests/qemucapabilitiesdata/caps_9.0.0_x86_64.xml | 2 +-
.../caps_9.1.0_riscv64.replies | 182 ++++--------------
tests/qemucapabilitiesdata/caps_9.1.0_riscv64.xml | 2 +-
.../qemucapabilitiesdata/caps_9.1.0_s390x.replies | 182 ++++--------------
tests/qemucapabilitiesdata/caps_9.1.0_s390x.xml | 2 +-
.../qemucapabilitiesdata/caps_9.1.0_x86_64.replies | 206 +++++----------------
tests/qemucapabilitiesdata/caps_9.1.0_x86_64.xml | 2 +-
.../qemucapabilitiesdata/caps_9.2.0_s390x.replies | 182 ++++--------------
tests/qemucapabilitiesdata/caps_9.2.0_s390x.xml | 2 +-
.../qemucapabilitiesdata/caps_9.2.0_x86_64.replies | 206 +++++----------------
tests/qemucapabilitiesdata/caps_9.2.0_x86_64.xml | 2 +-
tests/qemuhotplugtest.c | 8 +-
.../qemuxmlconfdata/disk-cache.x86_64-latest.args | 3 +-
.../disk-cdrom-bus-other.x86_64-latest.args | 3 +-
.../disk-device-removable.x86_64-latest.args | 3 +-
.../disk-usb-device.x86_64-latest.args | 3 +-
84 files changed, 1689 insertions(+), 5346 deletions(-)
---
base-commit: e5299ddf86121d3c792ca271ffcb54900eb19dc3
change-id: 20250304-bot-5d84aa3a5cfe
Best regards,
--
Akihiko Odaki <akihiko.odaki(a)daynix.com>
3 weeks, 2 days
[PATCH RFC-v2 00/11] qemu: Add support for iothread to virtqueue mapping for 'virtio-scsi'
by Peter Krempa
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
3 weeks, 2 days
[PATCH 00/19] Add typed param constants for guest info and domain stats APIs
by Daniel P. Berrangé
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
3 weeks, 2 days