Devel
Threads by month
- ----- 2026 -----
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
July 2022
- 36 participants
- 117 discussions
[PATCH] tests: qemucapabilities: Update test data for the qemu-7.1 cycle on x86_64
by Peter Krempa 22 Jul '22
by Peter Krempa 22 Jul '22
22 Jul '22
Update to v7.0.0-2780-g5288bee45f
Notable changes:
- set-vcpu-dirty-limit/cancel-vcpu-dirty-limit/query-vcpu-dirty-limit command added
- snapshot-save/snapshot-load command added
- dirty-sync-missed-zero-copy migration statistic added
- postcopy-preempt migration feature added
- the 'copy-before-write' block driver gained:
- 'cbw-timeout' property
- 'on-cbw-error' property with values:
- 'break-guest-write'
- 'break-snapshot'
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
.../caps_7.1.0.x86_64.replies | 2870 +++++++++--------
.../caps_7.1.0.x86_64.xml | 2 +-
2 files changed, 1506 insertions(+), 1366 deletions(-)
diff --git a/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.replies b/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.replies
index 025d2db895..d893d67ea8 100644
--- a/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.replies
+++ b/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.replies
@@ -21,7 +21,7 @@
"minor": 0,
"major": 7
},
- "package": "v7.0.0-2187-g2a8835cb45"
+ "package": "v7.0.0-2780-g5288bee45f"
},
"id": "libvirt-2"
}
@@ -1032,56 +1032,74 @@
"arg-type": "0"
},
{
- "name": "snapshot-save",
+ "name": "set-vcpu-dirty-limit",
"ret-type": "0",
"meta-type": "command",
"arg-type": "160"
},
{
- "name": "snapshot-load",
+ "name": "cancel-vcpu-dirty-limit",
"ret-type": "0",
"meta-type": "command",
"arg-type": "161"
},
+ {
+ "name": "query-vcpu-dirty-limit",
+ "ret-type": "[162]",
+ "meta-type": "command",
+ "arg-type": "0"
+ },
+ {
+ "name": "snapshot-save",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "163"
+ },
+ {
+ "name": "snapshot-load",
+ "ret-type": "0",
+ "meta-type": "command",
+ "arg-type": "164"
+ },
{
"name": "snapshot-delete",
"ret-type": "0",
"meta-type": "command",
- "arg-type": "162"
+ "arg-type": "165"
},
{
"name": "transaction",
"ret-type": "0",
"meta-type": "command",
- "arg-type": "163"
+ "arg-type": "166"
},
{
"name": "trace-event-get-state",
- "ret-type": "[165]",
+ "ret-type": "[168]",
"meta-type": "command",
- "arg-type": "164"
+ "arg-type": "167"
},
{
"name": "trace-event-set-state",
"ret-type": "0",
"meta-type": "command",
- "arg-type": "166"
+ "arg-type": "169"
},
{
"name": "qmp_capabilities",
"ret-type": "0",
"meta-type": "command",
- "arg-type": "167"
+ "arg-type": "170"
},
{
"name": "query-version",
- "ret-type": "168",
+ "ret-type": "171",
"meta-type": "command",
"arg-type": "0"
},
{
"name": "query-commands",
- "ret-type": "[169]",
+ "ret-type": "[172]",
"meta-type": "command",
"arg-type": "0"
},
@@ -1093,63 +1111,63 @@
},
{
"name": "query-qmp-schema",
- "ret-type": "[170]",
+ "ret-type": "[173]",
"meta-type": "command",
"arg-type": "0"
},
{
"name": "qom-list",
- "ret-type": "[172]",
+ "ret-type": "[175]",
"meta-type": "command",
- "arg-type": "171"
+ "arg-type": "174"
},
{
"name": "qom-get",
"ret-type": "any",
"meta-type": "command",
- "arg-type": "173"
+ "arg-type": "176"
},
{
"name": "qom-set",
"ret-type": "0",
"meta-type": "command",
- "arg-type": "174"
+ "arg-type": "177"
},
{
"name": "qom-list-types",
- "ret-type": "[176]",
+ "ret-type": "[179]",
"meta-type": "command",
- "arg-type": "175"
+ "arg-type": "178"
},
{
"name": "qom-list-properties",
- "ret-type": "[172]",
+ "ret-type": "[175]",
"meta-type": "command",
- "arg-type": "177"
+ "arg-type": "180"
},
{
"name": "object-add",
"ret-type": "0",
"meta-type": "command",
- "arg-type": "178"
+ "arg-type": "181"
},
{
"name": "object-del",
"ret-type": "0",
"meta-type": "command",
- "arg-type": "179"
+ "arg-type": "182"
},
{
"name": "device-list-properties",
- "ret-type": "[172]",
+ "ret-type": "[175]",
"meta-type": "command",
- "arg-type": "180"
+ "arg-type": "183"
},
{
"name": "device_add",
"ret-type": "0",
"meta-type": "command",
- "arg-type": "181",
+ "arg-type": "184",
"features": [
"json-cli",
"json-cli-hotplug"
@@ -1159,51 +1177,51 @@
"name": "device_del",
"ret-type": "0",
"meta-type": "command",
- "arg-type": "182"
+ "arg-type": "185"
},
{
"name": "DEVICE_DELETED",
"meta-type": "event",
- "arg-type": "183"
+ "arg-type": "186"
},
{
"name": "DEVICE_UNPLUG_GUEST_ERROR",
"meta-type": "event",
- "arg-type": "184"
+ "arg-type": "187"
},
{
"name": "query-cpus-fast",
- "ret-type": "[185]",
+ "ret-type": "[188]",
"meta-type": "command",
"arg-type": "0"
},
{
"name": "query-machines",
- "ret-type": "[186]",
+ "ret-type": "[189]",
"meta-type": "command",
"arg-type": "0"
},
{
"name": "query-current-machine",
- "ret-type": "187",
+ "ret-type": "190",
"meta-type": "command",
"arg-type": "0"
},
{
"name": "query-target",
- "ret-type": "188",
+ "ret-type": "191",
"meta-type": "command",
"arg-type": "0"
},
{
"name": "query-uuid",
- "ret-type": "189",
+ "ret-type": "192",
"meta-type": "command",
"arg-type": "0"
},
{
"name": "query-vm-generation-id",
- "ret-type": "190",
+ "ret-type": "193",
"meta-type": "command",
"arg-type": "0"
},
@@ -1233,7 +1251,7 @@
},
{
"name": "query-kvm",
- "ret-type": "191",
+ "ret-type": "194",
"meta-type": "command",
"arg-type": "0"
},
@@ -1241,23 +1259,23 @@
"name": "memsave",
"ret-type": "0",
"meta-type": "command",
- "arg-type": "192"
+ "arg-type": "195"
},
{
"name": "pmemsave",
"ret-type": "0",
"meta-type": "command",
- "arg-type": "193"
+ "arg-type": "196"
},
{
"name": "query-memdev",
- "ret-type": "[194]",
+ "ret-type": "[197]",
"meta-type": "command",
"arg-type": "0"
},
{
"name": "query-hotpluggable-cpus",
- "ret-type": "[195]",
+ "ret-type": "[198]",
"meta-type": "command",
"arg-type": "0"
},
@@ -1265,53 +1283,53 @@
"name": "set-numa-node",
"ret-type": "0",
"meta-type": "command",
- "arg-type": "196"
+ "arg-type": "199"
},
{
"name": "balloon",
"ret-type": "0",
"meta-type": "command",
- "arg-type": "197"
+ "arg-type": "200"
},
{
"name": "query-balloon",
- "ret-type": "198",
+ "ret-type": "201",
"meta-type": "command",
"arg-type": "0"
},
{
"name": "BALLOON_CHANGE",
"meta-type": "event",
- "arg-type": "199"
+ "arg-type": "202"
},
{
"name": "query-memory-size-summary",
- "ret-type": "200",
+ "ret-type": "203",
"meta-type": "command",
"arg-type": "0"
},
{
"name": "query-memory-devices",
- "ret-type": "[201]",
+ "ret-type": "[204]",
"meta-type": "command",
"arg-type": "0"
},
{
"name": "MEMORY_DEVICE_SIZE_CHANGE",
"meta-type": "event",
- "arg-type": "202"
+ "arg-type": "205"
},
{
"name": "MEM_UNPLUG_ERROR",
"meta-type": "event",
- "arg-type": "203",
+ "arg-type": "206",
"features": [
"deprecated"
]
},
{
"name": "x-query-irq",
- "ret-type": "204",
+ "ret-type": "207",
"meta-type": "command",
"arg-type": "0",
"features": [
@@ -1320,7 +1338,7 @@
},
{
"name": "x-query-jit",
- "ret-type": "204",
+ "ret-type": "207",
"meta-type": "command",
"arg-type": "0",
"features": [
@@ -1329,7 +1347,7 @@
},
{
"name": "x-query-numa",
- "ret-type": "204",
+ "ret-type": "207",
"meta-type": "command",
"arg-type": "0",
"features": [
@@ -1338,7 +1356,7 @@
},
{
"name": "x-query-opcount",
- "ret-type": "204",
+ "ret-type": "207",
"meta-type": "command",
"arg-type": "0",
"features": [
@@ -1347,7 +1365,7 @@
},
{
"name": "x-query-profile",
- "ret-type": "204",
+ "ret-type": "207",
"meta-type": "command",
"arg-type": "0",
"features": [
@@ -1356,7 +1374,7 @@
},
{
"name": "x-query-ramblock",
- "ret-type": "204",
+ "ret-type": "207",
"meta-type": "command",
"arg-type": "0",
"features": [
@@ -1365,7 +1383,7 @@
},
{
"name": "x-query-rdma",
- "ret-type": "204",
+ "ret-type": "207",
"meta-type": "command",
"arg-type": "0",
"features": [
@@ -1374,7 +1392,7 @@
},
{
"name": "x-query-roms",
- "ret-type": "204",
+ "ret-type": "207",
"meta-type": "command",
"arg-type": "0",
"features": [
@@ -1383,7 +1401,7 @@
},
{
"name": "x-query-usb",
- "ret-type": "204",
+ "ret-type": "207",
"meta-type": "command",
"arg-type": "0",
"features": [
@@ -1392,19 +1410,19 @@
},
{
"name": "query-cpu-model-expansion",
- "ret-type": "210",
+ "ret-type": "213",
"meta-type": "command",
- "arg-type": "209"
+ "arg-type": "212"
},
{
"name": "query-cpu-definitions",
- "ret-type": "[211]",
+ "ret-type": "[214]",
"meta-type": "command",
"arg-type": "0"
},
{
"name": "query-replay",
- "ret-type": "212",
+ "ret-type": "215",
"meta-type": "command",
"arg-type": "0"
},
@@ -1412,7 +1430,7 @@
"name": "replay-break",
"ret-type": "0",
"meta-type": "command",
- "arg-type": "213"
+ "arg-type": "216"
},
{
"name": "replay-delete-break",
@@ -1424,18 +1442,18 @@
"name": "replay-seek",
"ret-type": "0",
"meta-type": "command",
- "arg-type": "214"
+ "arg-type": "217"
},
{
"name": "yank",
"ret-type": "0",
"allow-oob": true,
"meta-type": "command",
- "arg-type": "215"
+ "arg-type": "218"
},
{
"name": "query-yank",
- "ret-type": "[216]",
+ "ret-type": "[219]",
"allow-oob": true,
"meta-type": "command",
"arg-type": "0"
@@ -1444,17 +1462,17 @@
"name": "add_client",
"ret-type": "0",
"meta-type": "command",
- "arg-type": "217"
+ "arg-type": "220"
},
{
"name": "query-name",
- "ret-type": "218",
+ "ret-type": "221",
"meta-type": "command",
"arg-type": "0"
},
{
"name": "query-iothreads",
- "ret-type": "[219]",
+ "ret-type": "[222]",
"meta-type": "command",
"arg-type": "0"
},
@@ -1483,7 +1501,7 @@
"name": "human-monitor-command",
"ret-type": "str",
"meta-type": "command",
- "arg-type": "220",
+ "arg-type": "223",
"features": [
"savevm-monitor-nodes"
]
@@ -1492,47 +1510,47 @@
"name": "getfd",
"ret-type": "0",
"meta-type": "command",
- "arg-type": "221"
+ "arg-type": "224"
},
{
"name": "closefd",
"ret-type": "0",
"meta-type": "command",
- "arg-type": "222"
+ "arg-type": "225"
},
{
"name": "add-fd",
- "ret-type": "224",
+ "ret-type": "227",
"meta-type": "command",
- "arg-type": "223"
+ "arg-type": "226"
},
{
"name": "remove-fd",
"ret-type": "0",
"meta-type": "command",
- "arg-type": "225"
+ "arg-type": "228"
},
{
"name": "query-fdsets",
- "ret-type": "[226]",
+ "ret-type": "[229]",
"meta-type": "command",
"arg-type": "0"
},
{
"name": "query-command-line-options",
- "ret-type": "[228]",
+ "ret-type": "[231]",
"meta-type": "command",
- "arg-type": "227"
+ "arg-type": "230"
},
{
"name": "RTC_CHANGE",
"meta-type": "event",
- "arg-type": "229"
+ "arg-type": "232"
},
{
"name": "VFU_CLIENT_HANGUP",
"meta-type": "event",
- "arg-type": "230"
+ "arg-type": "233"
},
{
"name": "rtc-reset-reinjection",
@@ -1542,19 +1560,19 @@
},
{
"name": "query-sev",
- "ret-type": "231",
+ "ret-type": "234",
"meta-type": "command",
"arg-type": "0"
},
{
"name": "query-sev-launch-measure",
- "ret-type": "232",
+ "ret-type": "235",
"meta-type": "command",
"arg-type": "0"
},
{
"name": "query-sev-capabilities",
- "ret-type": "233",
+ "ret-type": "236",
"meta-type": "command",
"arg-type": "0"
},
@@ -1562,54 +1580,54 @@
"name": "sev-inject-launch-secret",
"ret-type": "0",
"meta-type": "command",
- "arg-type": "234"
+ "arg-type": "237"
},
{
"name": "query-sev-attestation-report",
- "ret-type": "236",
+ "ret-type": "239",
"meta-type": "command",
- "arg-type": "235"
+ "arg-type": "238"
},
{
"name": "query-sgx",
- "ret-type": "239",
+ "ret-type": "242",
"meta-type": "command",
"arg-type": "0"
},
{
"name": "query-sgx-capabilities",
- "ret-type": "239",
+ "ret-type": "242",
"meta-type": "command",
"arg-type": "0"
},
{
"name": "query-acpi-ospm-status",
- "ret-type": "[240]",
+ "ret-type": "[243]",
"meta-type": "command",
"arg-type": "0"
},
{
"name": "ACPI_DEVICE_OST",
"meta-type": "event",
- "arg-type": "241"
+ "arg-type": "244"
},
{
"name": "query-pci",
- "ret-type": "[242]",
+ "ret-type": "[245]",
"meta-type": "command",
"arg-type": "0"
},
{
"name": "query-stats",
- "ret-type": "[244]",
+ "ret-type": "[247]",
"meta-type": "command",
- "arg-type": "243"
+ "arg-type": "246"
},
{
"name": "query-stats-schemas",
- "ret-type": "[246]",
+ "ret-type": "[249]",
"meta-type": "command",
- "arg-type": "245"
+ "arg-type": "248"
},
{
"name": "0",
@@ -1630,7 +1648,7 @@
},
{
"name": "status",
- "type": "247"
+ "type": "250"
}
],
"meta-type": "object"
@@ -1644,7 +1662,7 @@
},
{
"name": "reason",
- "type": "248"
+ "type": "251"
}
],
"meta-type": "object"
@@ -1658,7 +1676,7 @@
},
{
"name": "reason",
- "type": "248"
+ "type": "251"
}
],
"meta-type": "object"
@@ -1668,7 +1686,7 @@
"members": [
{
"name": "action",
- "type": "249"
+ "type": "252"
}
],
"meta-type": "object"
@@ -1678,7 +1696,7 @@
"members": [
{
"name": "action",
- "type": "249"
+ "type": "252"
}
],
"meta-type": "object"
@@ -1689,22 +1707,22 @@
{
"name": "reboot",
"default": null,
- "type": "250"
+ "type": "253"
},
{
"name": "shutdown",
"default": null,
- "type": "251"
+ "type": "254"
},
{
"name": "panic",
"default": null,
- "type": "252"
+ "type": "255"
},
{
"name": "watchdog",
"default": null,
- "type": "249"
+ "type": "252"
}
],
"meta-type": "object"
@@ -1714,12 +1732,12 @@
"members": [
{
"name": "action",
- "type": "253"
+ "type": "256"
},
{
"name": "info",
"default": null,
- "type": "254"
+ "type": "257"
}
],
"meta-type": "object"
@@ -1729,12 +1747,12 @@
"members": [
{
"name": "action",
- "type": "253"
+ "type": "256"
},
{
"name": "info",
"default": null,
- "type": "254"
+ "type": "257"
}
],
"meta-type": "object"
@@ -1744,15 +1762,15 @@
"members": [
{
"name": "recipient",
- "type": "255"
+ "type": "258"
},
{
"name": "action",
- "type": "256"
+ "type": "259"
},
{
"name": "flags",
- "type": "257"
+ "type": "260"
}
],
"meta-type": "object"
@@ -1900,7 +1918,7 @@
{
"name": "read-only-mode",
"default": null,
- "type": "258"
+ "type": "261"
}
],
"meta-type": "object"
@@ -2122,7 +2140,7 @@
{
"name": "io-status",
"default": null,
- "type": "259"
+ "type": "262"
}
],
"meta-type": "object"
@@ -2163,12 +2181,12 @@
},
{
"name": "stats",
- "type": "260"
+ "type": "263"
},
{
"name": "driver-specific",
"default": null,
- "type": "261"
+ "type": "264"
},
{
"name": "parent",
@@ -2221,7 +2239,7 @@
},
{
"name": "io-status",
- "type": "259"
+ "type": "262"
},
{
"name": "ready",
@@ -2229,7 +2247,7 @@
},
{
"name": "status",
- "type": "262"
+ "type": "265"
},
{
"name": "auto-finalize",
@@ -2297,7 +2315,7 @@
{
"name": "mode",
"default": null,
- "type": "263"
+ "type": "266"
}
],
"meta-type": "object"
@@ -2385,7 +2403,7 @@
{
"name": "on-error",
"default": null,
- "type": "264"
+ "type": "267"
},
{
"name": "filter-node-name",
@@ -2419,7 +2437,7 @@
},
{
"name": "sync",
- "type": "265"
+ "type": "268"
},
{
"name": "speed",
@@ -2434,7 +2452,7 @@
{
"name": "bitmap-mode",
"default": null,
- "type": "266"
+ "type": "269"
},
{
"name": "compress",
@@ -2444,12 +2462,12 @@
{
"name": "on-source-error",
"default": null,
- "type": "264"
+ "type": "267"
},
{
"name": "on-target-error",
"default": null,
- "type": "264"
+ "type": "267"
},
{
"name": "auto-finalize",
@@ -2469,7 +2487,7 @@
{
"name": "x-perf",
"default": null,
- "type": "267",
+ "type": "270",
"features": [
"unstable"
]
@@ -2486,7 +2504,7 @@
{
"name": "mode",
"default": null,
- "type": "263"
+ "type": "266"
}
],
"meta-type": "object"
@@ -2505,7 +2523,7 @@
},
{
"name": "sync",
- "type": "265"
+ "type": "268"
},
{
"name": "speed",
@@ -2520,7 +2538,7 @@
{
"name": "bitmap-mode",
"default": null,
- "type": "266"
+ "type": "269"
},
{
"name": "compress",
@@ -2530,12 +2548,12 @@
{
"name": "on-source-error",
"default": null,
- "type": "264"
+ "type": "267"
},
{
"name": "on-target-error",
"default": null,
- "type": "264"
+ "type": "267"
},
{
"name": "auto-finalize",
@@ -2555,7 +2573,7 @@
{
"name": "x-perf",
"default": null,
- "type": "267",
+ "type": "270",
"features": [
"unstable"
]
@@ -2618,7 +2636,7 @@
},
{
"name": "detect_zeroes",
- "type": "268"
+ "type": "271"
},
{
"name": "bps",
@@ -2646,7 +2664,7 @@
},
{
"name": "image",
- "type": "269"
+ "type": "272"
},
{
"name": "bps_max",
@@ -2720,7 +2738,7 @@
},
{
"name": "cache",
- "type": "270"
+ "type": "273"
},
{
"name": "write_threshold",
@@ -2729,7 +2747,7 @@
{
"name": "dirty-bitmaps",
"default": null,
- "type": "[271]"
+ "type": "[274]"
}
],
"meta-type": "object"
@@ -2739,11 +2757,11 @@
"members": [
{
"name": "nodes",
- "type": "[272]"
+ "type": "[275]"
},
{
"name": "edges",
- "type": "[273]"
+ "type": "[276]"
}
],
"meta-type": "object"
@@ -2781,12 +2799,12 @@
},
{
"name": "sync",
- "type": "265"
+ "type": "268"
},
{
"name": "mode",
"default": null,
- "type": "263"
+ "type": "266"
},
{
"name": "speed",
@@ -2806,12 +2824,12 @@
{
"name": "on-source-error",
"default": null,
- "type": "264"
+ "type": "267"
},
{
"name": "on-target-error",
"default": null,
- "type": "264"
+ "type": "267"
},
{
"name": "unmap",
@@ -2821,7 +2839,7 @@
{
"name": "copy-mode",
"default": null,
- "type": "274"
+ "type": "277"
},
{
"name": "auto-finalize",
@@ -2892,7 +2910,7 @@
},
{
"name": "bitmaps",
- "type": "[275]"
+ "type": "[278]"
}
],
"meta-type": "object"
@@ -2930,7 +2948,7 @@
},
{
"name": "sync",
- "type": "265"
+ "type": "268"
},
{
"name": "speed",
@@ -2950,12 +2968,12 @@
{
"name": "on-source-error",
"default": null,
- "type": "264"
+ "type": "267"
},
{
"name": "on-target-error",
"default": null,
- "type": "264"
+ "type": "267"
},
{
"name": "filter-node-name",
@@ -2965,7 +2983,7 @@
{
"name": "copy-mode",
"default": null,
- "type": "274"
+ "type": "277"
},
{
"name": "auto-finalize",
@@ -3020,7 +3038,7 @@
{
"name": "on-error",
"default": null,
- "type": "264"
+ "type": "267"
},
{
"name": "filter-node-name",
@@ -3125,177 +3143,177 @@
"variants": [
{
"case": "blkdebug",
- "type": "279"
+ "type": "282"
},
{
"case": "blklogwrites",
- "type": "280"
+ "type": "283"
},
{
"case": "blkverify",
- "type": "281"
+ "type": "284"
},
{
"case": "blkreplay",
- "type": "282"
+ "type": "285"
},
{
"case": "bochs",
- "type": "283"
+ "type": "286"
},
{
"case": "cloop",
- "type": "283"
+ "type": "286"
},
{
"case": "compress",
- "type": "283"
+ "type": "286"
},
{
"case": "copy-before-write",
- "type": "284"
+ "type": "287"
},
{
"case": "copy-on-read",
- "type": "285"
+ "type": "288"
},
{
"case": "dmg",
- "type": "283"
+ "type": "286"
},
{
"case": "file",
- "type": "286"
+ "type": "289"
},
{
"case": "ftp",
- "type": "287"
+ "type": "290"
},
{
"case": "ftps",
- "type": "288"
+ "type": "291"
},
{
"case": "gluster",
- "type": "289"
+ "type": "292"
},
{
"case": "host_cdrom",
- "type": "286"
+ "type": "289"
},
{
"case": "host_device",
- "type": "286"
+ "type": "289"
},
{
"case": "http",
- "type": "290"
+ "type": "293"
},
{
"case": "https",
- "type": "291"
+ "type": "294"
},
{
"case": "iscsi",
- "type": "292"
+ "type": "295"
},
{
"case": "luks",
- "type": "293"
+ "type": "296"
},
{
"case": "nbd",
- "type": "294"
+ "type": "297"
},
{
"case": "nfs",
- "type": "295"
+ "type": "298"
},
{
"case": "null-aio",
- "type": "296"
+ "type": "299"
},
{
"case": "null-co",
- "type": "296"
+ "type": "299"
},
{
"case": "nvme",
- "type": "297"
+ "type": "300"
},
{
"case": "parallels",
- "type": "283"
+ "type": "286"
},
{
"case": "preallocate",
- "type": "298"
+ "type": "301"
},
{
"case": "qcow2",
- "type": "299"
+ "type": "302"
},
{
"case": "qcow",
- "type": "300"
+ "type": "303"
},
{
"case": "qed",
- "type": "301"
+ "type": "304"
},
{
"case": "quorum",
- "type": "302"
+ "type": "305"
},
{
"case": "raw",
- "type": "303"
+ "type": "306"
},
{
"case": "rbd",
- "type": "304"
+ "type": "307"
},
{
"case": "replication",
- "type": "305"
+ "type": "308"
},
{
"case": "snapshot-access",
- "type": "283"
+ "type": "286"
},
{
"case": "ssh",
- "type": "306"
+ "type": "309"
},
{
"case": "throttle",
- "type": "307"
+ "type": "310"
},
{
"case": "vdi",
- "type": "283"
+ "type": "286"
},
{
"case": "vhdx",
- "type": "283"
+ "type": "286"
},
{
"case": "vmdk",
- "type": "301"
+ "type": "304"
},
{
"case": "vpc",
- "type": "283"
+ "type": "286"
},
{
"case": "vvfat",
- "type": "308"
+ "type": "311"
}
],
"members": [
{
"name": "driver",
- "type": "276"
+ "type": "279"
},
{
"name": "node-name",
@@ -3305,12 +3323,12 @@
{
"name": "discard",
"default": null,
- "type": "277"
+ "type": "280"
},
{
"name": "cache",
"default": null,
- "type": "278"
+ "type": "281"
},
{
"name": "read-only",
@@ -3330,7 +3348,7 @@
{
"name": "detect-zeroes",
"default": null,
- "type": "268"
+ "type": "271"
}
],
"meta-type": "object"
@@ -3364,7 +3382,7 @@
},
{
"name": "options",
- "type": "309"
+ "type": "312"
}
],
"meta-type": "object"
@@ -3382,7 +3400,7 @@
},
{
"name": "options",
- "type": "310"
+ "type": "313"
},
{
"name": "force",
@@ -3439,11 +3457,11 @@
},
{
"name": "operation",
- "type": "311"
+ "type": "314"
},
{
"name": "action",
- "type": "312"
+ "type": "315"
},
{
"name": "nospace",
@@ -3462,7 +3480,7 @@
"members": [
{
"name": "type",
- "type": "313"
+ "type": "316"
},
{
"name": "device",
@@ -3493,7 +3511,7 @@
"members": [
{
"name": "type",
- "type": "313"
+ "type": "316"
},
{
"name": "device",
@@ -3523,11 +3541,11 @@
},
{
"name": "operation",
- "type": "311"
+ "type": "314"
},
{
"name": "action",
- "type": "312"
+ "type": "315"
}
],
"meta-type": "object"
@@ -3537,7 +3555,7 @@
"members": [
{
"name": "type",
- "type": "313"
+ "type": "316"
},
{
"name": "device",
@@ -3563,7 +3581,7 @@
"members": [
{
"name": "type",
- "type": "313"
+ "type": "316"
},
{
"name": "id",
@@ -3633,7 +3651,7 @@
},
{
"name": "iothread",
- "type": "314"
+ "type": "317"
},
{
"name": "force",
@@ -3666,7 +3684,7 @@
"members": [
{
"name": "type",
- "type": "315"
+ "type": "318"
},
{
"name": "error",
@@ -3770,7 +3788,7 @@
},
{
"name": "status",
- "type": "262"
+ "type": "265"
}
],
"meta-type": "object"
@@ -3849,11 +3867,11 @@
},
{
"name": "type",
- "type": "313"
+ "type": "316"
},
{
"name": "status",
- "type": "262"
+ "type": "265"
},
{
"name": "current-progress",
@@ -3876,7 +3894,7 @@
"members": [
{
"name": "addr",
- "type": "316"
+ "type": "319"
},
{
"name": "tls-creds",
@@ -3936,7 +3954,7 @@
{
"name": "mode",
"default": null,
- "type": "317"
+ "type": "320"
}
],
"meta-type": "object"
@@ -3947,25 +3965,25 @@
"variants": [
{
"case": "nbd",
- "type": "319"
+ "type": "322"
},
{
"case": "vhost-user-blk",
- "type": "320"
+ "type": "323"
},
{
"case": "fuse",
- "type": "321"
+ "type": "324"
},
{
"case": "vduse-blk",
- "type": "322"
+ "type": "325"
}
],
"members": [
{
"name": "type",
- "type": "318"
+ "type": "321"
},
{
"name": "id",
@@ -4008,7 +4026,7 @@
{
"name": "mode",
"default": null,
- "type": "317"
+ "type": "320"
}
],
"meta-type": "object"
@@ -4037,7 +4055,7 @@
},
{
"name": "type",
- "type": "318"
+ "type": "321"
},
{
"name": "node-name",
@@ -4102,7 +4120,7 @@
{
"name": "format",
"default": null,
- "type": "323"
+ "type": "326"
}
],
"meta-type": "object"
@@ -4121,7 +4139,7 @@
{
"name": "format",
"default": null,
- "type": "323"
+ "type": "326"
}
],
"meta-type": "object"
@@ -4140,7 +4158,7 @@
},
{
"name": "backend",
- "type": "324"
+ "type": "327"
}
],
"meta-type": "object"
@@ -4165,7 +4183,7 @@
},
{
"name": "backend",
- "type": "324"
+ "type": "327"
}
],
"meta-type": "object"
@@ -4233,7 +4251,7 @@
{
"name": "format",
"default": null,
- "type": "325"
+ "type": "328"
}
],
"meta-type": "object"
@@ -4243,7 +4261,7 @@
"members": [
{
"name": "status",
- "type": "326"
+ "type": "329"
},
{
"name": "completed",
@@ -4276,7 +4294,7 @@
"members": [
{
"name": "formats",
- "type": "[325]"
+ "type": "[328]"
}
],
"meta-type": "object"
@@ -4301,47 +4319,47 @@
"variants": [
{
"case": "nic",
- "type": "328"
+ "type": "331"
},
{
"case": "user",
- "type": "329"
+ "type": "332"
},
{
"case": "tap",
- "type": "330"
+ "type": "333"
},
{
"case": "l2tpv3",
- "type": "331"
+ "type": "334"
},
{
"case": "socket",
- "type": "332"
+ "type": "335"
},
{
"case": "vde",
- "type": "333"
+ "type": "336"
},
{
"case": "bridge",
- "type": "334"
+ "type": "337"
},
{
"case": "hubport",
- "type": "335"
+ "type": "338"
},
{
"case": "netmap",
- "type": "336"
+ "type": "339"
},
{
"case": "vhost-user",
- "type": "337"
+ "type": "340"
},
{
"case": "vhost-vdpa",
- "type": "338"
+ "type": "341"
},
{
"case": "none",
@@ -4355,7 +4373,7 @@
},
{
"name": "type",
- "type": "327"
+ "type": "330"
}
],
"meta-type": "object"
@@ -4399,15 +4417,15 @@
},
{
"name": "multicast",
- "type": "342"
+ "type": "345"
},
{
"name": "unicast",
- "type": "342"
+ "type": "345"
},
{
"name": "vlan",
- "type": "342"
+ "type": "345"
},
{
"name": "broadcast-allowed",
@@ -4583,11 +4601,11 @@
},
{
"name": "duplex",
- "type": "343"
+ "type": "346"
},
{
"name": "autoneg",
- "type": "344"
+ "type": "347"
}
],
"meta-type": "object"
@@ -4625,15 +4643,15 @@
},
{
"name": "key",
- "type": "345"
+ "type": "348"
},
{
"name": "mask",
- "type": "346"
+ "type": "349"
},
{
"name": "action",
- "type": "347"
+ "type": "350"
}
],
"meta-type": "object"
@@ -4791,7 +4809,7 @@
},
{
"name": "options",
- "type": "348"
+ "type": "351"
}
],
"meta-type": "object"
@@ -4802,7 +4820,7 @@
"variants": [
{
"case": "vnc",
- "type": "351"
+ "type": "354"
},
{
"case": "spice",
@@ -4812,7 +4830,7 @@
"members": [
{
"name": "protocol",
- "type": "349"
+ "type": "352"
},
{
"name": "password",
@@ -4821,7 +4839,7 @@
{
"name": "connected",
"default": null,
- "type": "350"
+ "type": "353"
}
],
"meta-type": "object"
@@ -4832,7 +4850,7 @@
"variants": [
{
"case": "vnc",
- "type": "352"
+ "type": "355"
},
{
"case": "spice",
@@ -4842,7 +4860,7 @@
"members": [
{
"name": "protocol",
- "type": "349"
+ "type": "352"
},
{
"name": "time",
@@ -4871,7 +4889,7 @@
{
"name": "format",
"default": null,
- "type": "353"
+ "type": "356"
}
],
"meta-type": "object"
@@ -4914,12 +4932,12 @@
},
{
"name": "mouse-mode",
- "type": "354"
+ "type": "357"
},
{
"name": "channels",
"default": null,
- "type": "[355]"
+ "type": "[358]"
}
],
"meta-type": "object"
@@ -4929,11 +4947,11 @@
"members": [
{
"name": "server",
- "type": "356"
+ "type": "359"
},
{
"name": "client",
- "type": "356"
+ "type": "359"
}
],
"meta-type": "object"
@@ -4943,11 +4961,11 @@
"members": [
{
"name": "server",
- "type": "357"
+ "type": "360"
},
{
"name": "client",
- "type": "355"
+ "type": "358"
}
],
"meta-type": "object"
@@ -4957,11 +4975,11 @@
"members": [
{
"name": "server",
- "type": "356"
+ "type": "359"
},
{
"name": "client",
- "type": "356"
+ "type": "359"
}
],
"meta-type": "object"
@@ -4981,7 +4999,7 @@
{
"name": "family",
"default": null,
- "type": "358"
+ "type": "361"
},
{
"name": "service",
@@ -4996,7 +5014,7 @@
{
"name": "clients",
"default": null,
- "type": "[359]"
+ "type": "[362]"
}
],
"meta-type": "object"
@@ -5015,20 +5033,20 @@
},
{
"name": "server",
- "type": "[360]"
+ "type": "[363]"
},
{
"name": "clients",
- "type": "[359]"
+ "type": "[362]"
},
{
"name": "auth",
- "type": "361"
+ "type": "364"
},
{
"name": "vencrypt",
"default": null,
- "type": "362"
+ "type": "365"
},
{
"name": "display",
@@ -5053,11 +5071,11 @@
"members": [
{
"name": "server",
- "type": "363"
+ "type": "366"
},
{
"name": "client",
- "type": "364"
+ "type": "367"
}
],
"meta-type": "object"
@@ -5067,11 +5085,11 @@
"members": [
{
"name": "server",
- "type": "363"
+ "type": "366"
},
{
"name": "client",
- "type": "359"
+ "type": "362"
}
],
"meta-type": "object"
@@ -5081,11 +5099,11 @@
"members": [
{
"name": "server",
- "type": "363"
+ "type": "366"
},
{
"name": "client",
- "type": "359"
+ "type": "362"
}
],
"meta-type": "object"
@@ -5122,7 +5140,7 @@
"members": [
{
"name": "keys",
- "type": "[365]"
+ "type": "[368]"
},
{
"name": "hold-time",
@@ -5147,7 +5165,7 @@
},
{
"name": "events",
- "type": "[366]"
+ "type": "[369]"
}
],
"meta-type": "object"
@@ -5158,19 +5176,19 @@
"variants": [
{
"case": "curses",
- "type": "371"
+ "type": "374"
},
{
"case": "egl-headless",
- "type": "372"
+ "type": "375"
},
{
"case": "dbus",
- "type": "373"
+ "type": "376"
},
{
"case": "sdl",
- "type": "374"
+ "type": "377"
},
{
"case": "default",
@@ -5188,7 +5206,7 @@
"members": [
{
"name": "type",
- "type": "367"
+ "type": "370"
},
{
"name": "full-screen",
@@ -5208,7 +5226,7 @@
{
"name": "gl",
"default": null,
- "type": "368"
+ "type": "371"
}
],
"meta-type": "object"
@@ -5219,13 +5237,13 @@
"variants": [
{
"case": "vnc",
- "type": "376"
+ "type": "379"
}
],
"members": [
{
"name": "type",
- "type": "375"
+ "type": "378"
}
],
"meta-type": "object"
@@ -5236,13 +5254,13 @@
"variants": [
{
"case": "vnc",
- "type": "378"
+ "type": "381"
}
],
"members": [
{
"name": "type",
- "type": "377"
+ "type": "380"
}
],
"meta-type": "object"
@@ -5253,27 +5271,27 @@
{
"name": "status",
"default": null,
- "type": "379"
+ "type": "382"
},
{
"name": "ram",
"default": null,
- "type": "380"
+ "type": "383"
},
{
"name": "disk",
"default": null,
- "type": "380"
+ "type": "383"
},
{
"name": "vfio",
"default": null,
- "type": "381"
+ "type": "384"
},
{
"name": "xbzrle-cache",
"default": null,
- "type": "382"
+ "type": "385"
},
{
"name": "total-time",
@@ -5323,12 +5341,12 @@
{
"name": "compression",
"default": null,
- "type": "383"
+ "type": "386"
},
{
"name": "socket-address",
"default": null,
- "type": "[384]"
+ "type": "[387]"
}
],
"meta-type": "object"
@@ -5353,7 +5371,7 @@
"members": [
{
"name": "capability",
- "type": "385"
+ "type": "388"
},
{
"name": "state",
@@ -5428,17 +5446,17 @@
{
"name": "tls-creds",
"default": null,
- "type": "314"
+ "type": "317"
},
{
"name": "tls-hostname",
"default": null,
- "type": "314"
+ "type": "317"
},
{
"name": "tls-authz",
"default": null,
- "type": "314"
+ "type": "317"
},
{
"name": "max-bandwidth",
@@ -5486,7 +5504,7 @@
{
"name": "multifd-compression",
"default": null,
- "type": "386"
+ "type": "389"
},
{
"name": "multifd-zlib-level",
@@ -5501,7 +5519,7 @@
{
"name": "block-bitmap-mapping",
"default": null,
- "type": "[387]"
+ "type": "[390]"
}
],
"meta-type": "object"
@@ -5630,7 +5648,7 @@
{
"name": "multifd-compression",
"default": null,
- "type": "386"
+ "type": "389"
},
{
"name": "multifd-zlib-level",
@@ -5645,7 +5663,7 @@
{
"name": "block-bitmap-mapping",
"default": null,
- "type": "[387]"
+ "type": "[390]"
}
],
"meta-type": "object"
@@ -5684,7 +5702,7 @@
"members": [
{
"name": "status",
- "type": "379"
+ "type": "382"
}
],
"meta-type": "object"
@@ -5704,11 +5722,11 @@
"members": [
{
"name": "mode",
- "type": "388"
+ "type": "391"
},
{
"name": "reason",
- "type": "389"
+ "type": "392"
}
],
"meta-type": "object"
@@ -5718,7 +5736,7 @@
"members": [
{
"name": "state",
- "type": "379"
+ "type": "382"
}
],
"meta-type": "object"
@@ -5837,15 +5855,15 @@
"members": [
{
"name": "mode",
- "type": "388"
+ "type": "391"
},
{
"name": "last-mode",
- "type": "388"
+ "type": "391"
},
{
"name": "reason",
- "type": "389"
+ "type": "392"
}
],
"meta-type": "object"
@@ -5885,7 +5903,7 @@
{
"name": "mode",
"default": null,
- "type": "390"
+ "type": "393"
}
],
"meta-type": "object"
@@ -5900,7 +5918,7 @@
},
{
"name": "status",
- "type": "391"
+ "type": "394"
},
{
"name": "start-time",
@@ -5916,18 +5934,67 @@
},
{
"name": "mode",
- "type": "390"
+ "type": "393"
},
{
"name": "vcpu-dirty-rate",
"default": null,
- "type": "[392]"
+ "type": "[395]"
}
],
"meta-type": "object"
},
{
"name": "160",
+ "members": [
+ {
+ "name": "cpu-index",
+ "default": null,
+ "type": "int"
+ },
+ {
+ "name": "dirty-rate",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "161",
+ "members": [
+ {
+ "name": "cpu-index",
+ "default": null,
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "[162]",
+ "element-type": "162",
+ "meta-type": "array"
+ },
+ {
+ "name": "162",
+ "members": [
+ {
+ "name": "cpu-index",
+ "type": "int"
+ },
+ {
+ "name": "limit-rate",
+ "type": "int"
+ },
+ {
+ "name": "current-rate",
+ "type": "int"
+ }
+ ],
+ "meta-type": "object"
+ },
+ {
+ "name": "163",
"members": [
{
"name": "job-id",
@@ -5949,7 +6016,7 @@
"meta-type": "object"
},
{
- "name": "161",
+ "name": "164",
"members": [
{
"name": "job-id",
@@ -5971,7 +6038,7 @@
"meta-type": "object"
},
{
- "name": "162",
+ "name": "165",
"members": [
{
"name": "job-id",
@@ -5989,22 +6056,22 @@
"meta-type": "object"
},
{
- "name": "163",
+ "name": "166",
"members": [
{
"name": "actions",
- "type": "[393]"
+ "type": "[396]"
},
{
"name": "properties",
"default": null,
- "type": "394"
+ "type": "397"
}
],
"meta-type": "object"
},
{
- "name": "164",
+ "name": "167",
"members": [
{
"name": "name",
@@ -6019,12 +6086,12 @@
"meta-type": "object"
},
{
- "name": "[165]",
- "element-type": "165",
+ "name": "[168]",
+ "element-type": "168",
"meta-type": "array"
},
{
- "name": "165",
+ "name": "168",
"members": [
{
"name": "name",
@@ -6032,7 +6099,7 @@
},
{
"name": "state",
- "type": "395"
+ "type": "398"
},
{
"name": "vcpu",
@@ -6042,7 +6109,7 @@
"meta-type": "object"
},
{
- "name": "166",
+ "name": "169",
"members": [
{
"name": "name",
@@ -6066,22 +6133,22 @@
"meta-type": "object"
},
{
- "name": "167",
+ "name": "170",
"members": [
{
"name": "enable",
"default": null,
- "type": "[396]"
+ "type": "[399]"
}
],
"meta-type": "object"
},
{
- "name": "168",
+ "name": "171",
"members": [
{
"name": "qemu",
- "type": "397"
+ "type": "400"
},
{
"name": "package",
@@ -6091,12 +6158,12 @@
"meta-type": "object"
},
{
- "name": "[169]",
- "element-type": "169",
+ "name": "[172]",
+ "element-type": "172",
"meta-type": "array"
},
{
- "name": "169",
+ "name": "172",
"members": [
{
"name": "name",
@@ -6106,41 +6173,41 @@
"meta-type": "object"
},
{
- "name": "[170]",
- "element-type": "170",
+ "name": "[173]",
+ "element-type": "173",
"meta-type": "array"
},
{
- "name": "170",
+ "name": "173",
"tag": "meta-type",
"variants": [
{
"case": "builtin",
- "type": "399"
+ "type": "402"
},
{
"case": "enum",
- "type": "400"
+ "type": "403"
},
{
"case": "array",
- "type": "401"
+ "type": "404"
},
{
"case": "object",
- "type": "402"
+ "type": "405"
},
{
"case": "alternate",
- "type": "403"
+ "type": "406"
},
{
"case": "command",
- "type": "404"
+ "type": "407"
},
{
"case": "event",
- "type": "405"
+ "type": "408"
}
],
"members": [
@@ -6150,7 +6217,7 @@
},
{
"name": "meta-type",
- "type": "398"
+ "type": "401"
},
{
"name": "features",
@@ -6161,7 +6228,7 @@
"meta-type": "object"
},
{
- "name": "171",
+ "name": "174",
"members": [
{
"name": "path",
@@ -6171,12 +6238,12 @@
"meta-type": "object"
},
{
- "name": "[172]",
- "element-type": "172",
+ "name": "[175]",
+ "element-type": "175",
"meta-type": "array"
},
{
- "name": "172",
+ "name": "175",
"members": [
{
"name": "name",
@@ -6200,7 +6267,7 @@
"meta-type": "object"
},
{
- "name": "173",
+ "name": "176",
"members": [
{
"name": "path",
@@ -6219,7 +6286,7 @@
"meta-type": "builtin"
},
{
- "name": "174",
+ "name": "177",
"members": [
{
"name": "path",
@@ -6237,7 +6304,7 @@
"meta-type": "object"
},
{
- "name": "175",
+ "name": "178",
"members": [
{
"name": "implements",
@@ -6253,12 +6320,12 @@
"meta-type": "object"
},
{
- "name": "[176]",
- "element-type": "176",
+ "name": "[179]",
+ "element-type": "179",
"meta-type": "array"
},
{
- "name": "176",
+ "name": "179",
"members": [
{
"name": "name",
@@ -6278,7 +6345,7 @@
"meta-type": "object"
},
{
- "name": "177",
+ "name": "180",
"members": [
{
"name": "typename",
@@ -6288,164 +6355,164 @@
"meta-type": "object"
},
{
- "name": "178",
+ "name": "181",
"tag": "qom-type",
"variants": [
{
"case": "authz-list",
- "type": "407"
+ "type": "410"
},
{
"case": "authz-listfile",
- "type": "408"
+ "type": "411"
},
{
"case": "authz-pam",
- "type": "409"
+ "type": "412"
},
{
"case": "authz-simple",
- "type": "410"
+ "type": "413"
},
{
"case": "can-host-socketcan",
- "type": "411"
+ "type": "414"
},
{
"case": "colo-compare",
- "type": "412"
+ "type": "415"
},
{
"case": "cryptodev-backend",
- "type": "413"
+ "type": "416"
},
{
"case": "cryptodev-backend-builtin",
- "type": "413"
+ "type": "416"
},
{
"case": "cryptodev-vhost-user",
- "type": "414"
+ "type": "417"
},
{
"case": "dbus-vmstate",
- "type": "415"
+ "type": "418"
},
{
"case": "filter-buffer",
- "type": "416"
+ "type": "419"
},
{
"case": "filter-dump",
- "type": "417"
+ "type": "420"
},
{
"case": "filter-mirror",
- "type": "418"
+ "type": "421"
},
{
"case": "filter-redirector",
- "type": "419"
+ "type": "422"
},
{
"case": "filter-replay",
- "type": "420"
+ "type": "423"
},
{
"case": "filter-rewriter",
- "type": "421"
+ "type": "424"
},
{
"case": "input-barrier",
- "type": "422"
+ "type": "425"
},
{
"case": "input-linux",
- "type": "423"
+ "type": "426"
},
{
"case": "iothread",
- "type": "424"
+ "type": "427"
},
{
"case": "main-loop",
- "type": "425"
+ "type": "428"
},
{
"case": "memory-backend-epc",
- "type": "426"
+ "type": "429"
},
{
"case": "memory-backend-file",
- "type": "427"
+ "type": "430"
},
{
"case": "memory-backend-memfd",
- "type": "428"
+ "type": "431"
},
{
"case": "memory-backend-ram",
- "type": "429"
+ "type": "432"
},
{
"case": "pr-manager-helper",
- "type": "430"
+ "type": "433"
},
{
"case": "qtest",
- "type": "431"
+ "type": "434"
},
{
"case": "rng-builtin",
- "type": "432"
+ "type": "435"
},
{
"case": "rng-egd",
- "type": "433"
+ "type": "436"
},
{
"case": "rng-random",
- "type": "434"
+ "type": "437"
},
{
"case": "secret",
- "type": "435"
+ "type": "438"
},
{
"case": "secret_keyring",
- "type": "436"
+ "type": "439"
},
{
"case": "sev-guest",
- "type": "437"
+ "type": "440"
},
{
"case": "throttle-group",
- "type": "438"
+ "type": "441"
},
{
"case": "tls-creds-anon",
- "type": "439"
+ "type": "442"
},
{
"case": "tls-creds-psk",
- "type": "440"
+ "type": "443"
},
{
"case": "tls-creds-x509",
- "type": "441"
+ "type": "444"
},
{
"case": "tls-cipher-suites",
- "type": "442"
+ "type": "445"
},
{
"case": "x-remote-object",
- "type": "443"
+ "type": "446"
},
{
"case": "x-vfio-user-server",
- "type": "444"
+ "type": "447"
},
{
"case": "can-bus",
@@ -6463,7 +6530,7 @@
"members": [
{
"name": "qom-type",
- "type": "406"
+ "type": "409"
},
{
"name": "id",
@@ -6473,7 +6540,7 @@
"meta-type": "object"
},
{
- "name": "179",
+ "name": "182",
"members": [
{
"name": "id",
@@ -6483,7 +6550,7 @@
"meta-type": "object"
},
{
- "name": "180",
+ "name": "183",
"members": [
{
"name": "typename",
@@ -6493,7 +6560,7 @@
"meta-type": "object"
},
{
- "name": "181",
+ "name": "184",
"members": [
{
"name": "driver",
@@ -6513,7 +6580,7 @@
"meta-type": "object"
},
{
- "name": "182",
+ "name": "185",
"members": [
{
"name": "id",
@@ -6523,7 +6590,7 @@
"meta-type": "object"
},
{
- "name": "183",
+ "name": "186",
"members": [
{
"name": "device",
@@ -6538,7 +6605,7 @@
"meta-type": "object"
},
{
- "name": "184",
+ "name": "187",
"members": [
{
"name": "device",
@@ -6553,17 +6620,17 @@
"meta-type": "object"
},
{
- "name": "[185]",
- "element-type": "185",
+ "name": "[188]",
+ "element-type": "188",
"meta-type": "array"
},
{
- "name": "185",
+ "name": "188",
"tag": "target",
"variants": [
{
"case": "s390x",
- "type": "447"
+ "type": "450"
},
{
"case": "aarch64",
@@ -6702,22 +6769,22 @@
{
"name": "props",
"default": null,
- "type": "445"
+ "type": "448"
},
{
"name": "target",
- "type": "446"
+ "type": "449"
}
],
"meta-type": "object"
},
{
- "name": "[186]",
- "element-type": "186",
+ "name": "[189]",
+ "element-type": "189",
"meta-type": "array"
},
{
- "name": "186",
+ "name": "189",
"members": [
{
"name": "name",
@@ -6763,7 +6830,7 @@
"meta-type": "object"
},
{
- "name": "187",
+ "name": "190",
"members": [
{
"name": "wakeup-suspend-support",
@@ -6773,17 +6840,17 @@
"meta-type": "object"
},
{
- "name": "188",
+ "name": "191",
"members": [
{
"name": "arch",
- "type": "446"
+ "type": "449"
}
],
"meta-type": "object"
},
{
- "name": "189",
+ "name": "192",
"members": [
{
"name": "UUID",
@@ -6793,7 +6860,7 @@
"meta-type": "object"
},
{
- "name": "190",
+ "name": "193",
"members": [
{
"name": "guid",
@@ -6803,7 +6870,7 @@
"meta-type": "object"
},
{
- "name": "191",
+ "name": "194",
"members": [
{
"name": "enabled",
@@ -6817,7 +6884,7 @@
"meta-type": "object"
},
{
- "name": "192",
+ "name": "195",
"members": [
{
"name": "val",
@@ -6840,7 +6907,7 @@
"meta-type": "object"
},
{
- "name": "193",
+ "name": "196",
"members": [
{
"name": "val",
@@ -6858,12 +6925,12 @@
"meta-type": "object"
},
{
- "name": "[194]",
- "element-type": "194",
+ "name": "[197]",
+ "element-type": "197",
"meta-type": "array"
},
{
- "name": "194",
+ "name": "197",
"members": [
{
"name": "id",
@@ -6901,18 +6968,18 @@
},
{
"name": "policy",
- "type": "448"
+ "type": "451"
}
],
"meta-type": "object"
},
{
- "name": "[195]",
- "element-type": "195",
+ "name": "[198]",
+ "element-type": "198",
"meta-type": "array"
},
{
- "name": "195",
+ "name": "198",
"members": [
{
"name": "type",
@@ -6924,7 +6991,7 @@
},
{
"name": "props",
- "type": "445"
+ "type": "448"
},
{
"name": "qom-path",
@@ -6935,40 +7002,40 @@
"meta-type": "object"
},
{
- "name": "196",
+ "name": "199",
"tag": "type",
"variants": [
{
"case": "node",
- "type": "450"
+ "type": "453"
},
{
"case": "dist",
- "type": "451"
+ "type": "454"
},
{
"case": "cpu",
- "type": "452"
+ "type": "455"
},
{
"case": "hmat-lb",
- "type": "453"
+ "type": "456"
},
{
"case": "hmat-cache",
- "type": "454"
+ "type": "457"
}
],
"members": [
{
"name": "type",
- "type": "449"
+ "type": "452"
}
],
"meta-type": "object"
},
{
- "name": "197",
+ "name": "200",
"members": [
{
"name": "value",
@@ -6978,7 +7045,7 @@
"meta-type": "object"
},
{
- "name": "198",
+ "name": "201",
"members": [
{
"name": "actual",
@@ -6988,7 +7055,7 @@
"meta-type": "object"
},
{
- "name": "199",
+ "name": "202",
"members": [
{
"name": "actual",
@@ -6998,7 +7065,7 @@
"meta-type": "object"
},
{
- "name": "200",
+ "name": "203",
"members": [
{
"name": "base-memory",
@@ -7013,45 +7080,45 @@
"meta-type": "object"
},
{
- "name": "[201]",
- "element-type": "201",
+ "name": "[204]",
+ "element-type": "204",
"meta-type": "array"
},
{
- "name": "201",
+ "name": "204",
"tag": "type",
"variants": [
{
"case": "dimm",
- "type": "456"
+ "type": "459"
},
{
"case": "nvdimm",
- "type": "456"
+ "type": "459"
},
{
"case": "virtio-pmem",
- "type": "457"
+ "type": "460"
},
{
"case": "virtio-mem",
- "type": "458"
+ "type": "461"
},
{
"case": "sgx-epc",
- "type": "459"
+ "type": "462"
}
],
"members": [
{
"name": "type",
- "type": "455"
+ "type": "458"
}
],
"meta-type": "object"
},
{
- "name": "202",
+ "name": "205",
"members": [
{
"name": "id",
@@ -7070,7 +7137,7 @@
"meta-type": "object"
},
{
- "name": "203",
+ "name": "206",
"members": [
{
"name": "device",
@@ -7084,7 +7151,7 @@
"meta-type": "object"
},
{
- "name": "204",
+ "name": "207",
"members": [
{
"name": "human-readable-text",
@@ -7094,36 +7161,36 @@
"meta-type": "object"
},
{
- "name": "209",
+ "name": "212",
"members": [
{
"name": "type",
- "type": "462"
+ "type": "465"
},
{
"name": "model",
- "type": "460"
+ "type": "463"
}
],
"meta-type": "object"
},
{
- "name": "210",
+ "name": "213",
"members": [
{
"name": "model",
- "type": "460"
+ "type": "463"
}
],
"meta-type": "object"
},
{
- "name": "[211]",
- "element-type": "211",
+ "name": "[214]",
+ "element-type": "214",
"meta-type": "array"
},
{
- "name": "211",
+ "name": "214",
"members": [
{
"name": "name",
@@ -7160,11 +7227,11 @@
"meta-type": "object"
},
{
- "name": "212",
+ "name": "215",
"members": [
{
"name": "mode",
- "type": "463"
+ "type": "466"
},
{
"name": "filename",
@@ -7179,7 +7246,7 @@
"meta-type": "object"
},
{
- "name": "213",
+ "name": "216",
"members": [
{
"name": "icount",
@@ -7189,7 +7256,7 @@
"meta-type": "object"
},
{
- "name": "214",
+ "name": "217",
"members": [
{
"name": "icount",
@@ -7199,31 +7266,31 @@
"meta-type": "object"
},
{
- "name": "215",
+ "name": "218",
"members": [
{
"name": "instances",
- "type": "[216]"
+ "type": "[219]"
}
],
"meta-type": "object"
},
{
- "name": "[216]",
- "element-type": "216",
+ "name": "[219]",
+ "element-type": "219",
"meta-type": "array"
},
{
- "name": "216",
+ "name": "219",
"tag": "type",
"variants": [
{
"case": "block-node",
- "type": "465"
+ "type": "468"
},
{
"case": "chardev",
- "type": "466"
+ "type": "469"
},
{
"case": "migration",
@@ -7233,13 +7300,13 @@
"members": [
{
"name": "type",
- "type": "464"
+ "type": "467"
}
],
"meta-type": "object"
},
{
- "name": "217",
+ "name": "220",
"members": [
{
"name": "protocol",
@@ -7263,7 +7330,7 @@
"meta-type": "object"
},
{
- "name": "218",
+ "name": "221",
"members": [
{
"name": "name",
@@ -7274,12 +7341,12 @@
"meta-type": "object"
},
{
- "name": "[219]",
- "element-type": "219",
+ "name": "[222]",
+ "element-type": "222",
"meta-type": "array"
},
{
- "name": "219",
+ "name": "222",
"members": [
{
"name": "id",
@@ -7309,7 +7376,7 @@
"meta-type": "object"
},
{
- "name": "220",
+ "name": "223",
"members": [
{
"name": "command-line",
@@ -7324,7 +7391,7 @@
"meta-type": "object"
},
{
- "name": "221",
+ "name": "224",
"members": [
{
"name": "fdname",
@@ -7334,7 +7401,7 @@
"meta-type": "object"
},
{
- "name": "222",
+ "name": "225",
"members": [
{
"name": "fdname",
@@ -7344,7 +7411,7 @@
"meta-type": "object"
},
{
- "name": "223",
+ "name": "226",
"members": [
{
"name": "fdset-id",
@@ -7360,7 +7427,7 @@
"meta-type": "object"
},
{
- "name": "224",
+ "name": "227",
"members": [
{
"name": "fdset-id",
@@ -7374,7 +7441,7 @@
"meta-type": "object"
},
{
- "name": "225",
+ "name": "228",
"members": [
{
"name": "fdset-id",
@@ -7389,12 +7456,12 @@
"meta-type": "object"
},
{
- "name": "[226]",
- "element-type": "226",
+ "name": "[229]",
+ "element-type": "229",
"meta-type": "array"
},
{
- "name": "226",
+ "name": "229",
"members": [
{
"name": "fdset-id",
@@ -7402,13 +7469,13 @@
},
{
"name": "fds",
- "type": "[467]"
+ "type": "[470]"
}
],
"meta-type": "object"
},
{
- "name": "227",
+ "name": "230",
"members": [
{
"name": "option",
@@ -7419,12 +7486,12 @@
"meta-type": "object"
},
{
- "name": "[228]",
- "element-type": "228",
+ "name": "[231]",
+ "element-type": "231",
"meta-type": "array"
},
{
- "name": "228",
+ "name": "231",
"members": [
{
"name": "option",
@@ -7432,13 +7499,13 @@
},
{
"name": "parameters",
- "type": "[468]"
+ "type": "[471]"
}
],
"meta-type": "object"
},
{
- "name": "229",
+ "name": "232",
"members": [
{
"name": "offset",
@@ -7452,7 +7519,7 @@
"meta-type": "object"
},
{
- "name": "230",
+ "name": "233",
"members": [
{
"name": "vfu-id",
@@ -7474,7 +7541,7 @@
"meta-type": "object"
},
{
- "name": "231",
+ "name": "234",
"members": [
{
"name": "enabled",
@@ -7498,7 +7565,7 @@
},
{
"name": "state",
- "type": "469"
+ "type": "472"
},
{
"name": "handle",
@@ -7508,7 +7575,7 @@
"meta-type": "object"
},
{
- "name": "232",
+ "name": "235",
"members": [
{
"name": "data",
@@ -7518,7 +7585,7 @@
"meta-type": "object"
},
{
- "name": "233",
+ "name": "236",
"members": [
{
"name": "pdh",
@@ -7544,7 +7611,7 @@
"meta-type": "object"
},
{
- "name": "234",
+ "name": "237",
"members": [
{
"name": "packet-header",
@@ -7563,7 +7630,7 @@
"meta-type": "object"
},
{
- "name": "235",
+ "name": "238",
"members": [
{
"name": "mnonce",
@@ -7573,7 +7640,7 @@
"meta-type": "object"
},
{
- "name": "236",
+ "name": "239",
"members": [
{
"name": "data",
@@ -7583,7 +7650,7 @@
"meta-type": "object"
},
{
- "name": "239",
+ "name": "242",
"members": [
{
"name": "sgx",
@@ -7610,18 +7677,18 @@
},
{
"name": "sections",
- "type": "[470]"
+ "type": "[473]"
}
],
"meta-type": "object"
},
{
- "name": "[240]",
- "element-type": "240",
+ "name": "[243]",
+ "element-type": "243",
"meta-type": "array"
},
{
- "name": "240",
+ "name": "243",
"members": [
{
"name": "device",
@@ -7634,7 +7701,7 @@
},
{
"name": "slot-type",
- "type": "471"
+ "type": "474"
},
{
"name": "source",
@@ -7648,22 +7715,22 @@
"meta-type": "object"
},
{
- "name": "241",
+ "name": "244",
"members": [
{
"name": "info",
- "type": "240"
+ "type": "243"
}
],
"meta-type": "object"
},
{
- "name": "[242]",
- "element-type": "242",
+ "name": "[245]",
+ "element-type": "245",
"meta-type": "array"
},
{
- "name": "242",
+ "name": "245",
"members": [
{
"name": "bus",
@@ -7671,18 +7738,18 @@
},
{
"name": "devices",
- "type": "[472]"
+ "type": "[475]"
}
],
"meta-type": "object"
},
{
- "name": "243",
+ "name": "246",
"tag": "target",
"variants": [
{
"case": "vcpu",
- "type": "475"
+ "type": "478"
},
{
"case": "vm",
@@ -7692,27 +7759,27 @@
"members": [
{
"name": "target",
- "type": "473"
+ "type": "476"
},
{
"name": "providers",
"default": null,
- "type": "[474]"
+ "type": "[477]"
}
],
"meta-type": "object"
},
{
- "name": "[244]",
- "element-type": "244",
+ "name": "[247]",
+ "element-type": "247",
"meta-type": "array"
},
{
- "name": "244",
+ "name": "247",
"members": [
{
"name": "provider",
- "type": "476"
+ "type": "479"
},
{
"name": "qom-path",
@@ -7721,41 +7788,41 @@
},
{
"name": "stats",
- "type": "[477]"
+ "type": "[480]"
}
],
"meta-type": "object"
},
{
- "name": "245",
+ "name": "248",
"members": [
{
"name": "provider",
"default": null,
- "type": "476"
+ "type": "479"
}
],
"meta-type": "object"
},
{
- "name": "[246]",
- "element-type": "246",
+ "name": "[249]",
+ "element-type": "249",
"meta-type": "array"
},
{
- "name": "246",
+ "name": "249",
"members": [
{
"name": "provider",
- "type": "476"
+ "type": "479"
},
{
"name": "target",
- "type": "473"
+ "type": "476"
},
{
"name": "stats",
- "type": "[478]"
+ "type": "[481]"
}
],
"meta-type": "object"
@@ -7766,7 +7833,7 @@
"meta-type": "builtin"
},
{
- "name": "247",
+ "name": "250",
"members": [
{
"name": "debug"
@@ -7838,7 +7905,7 @@
]
},
{
- "name": "248",
+ "name": "251",
"members": [
{
"name": "none"
@@ -7886,7 +7953,7 @@
]
},
{
- "name": "249",
+ "name": "252",
"members": [
{
"name": "reset"
@@ -7922,7 +7989,7 @@
]
},
{
- "name": "250",
+ "name": "253",
"members": [
{
"name": "reset"
@@ -7938,7 +8005,7 @@
]
},
{
- "name": "251",
+ "name": "254",
"members": [
{
"name": "poweroff"
@@ -7954,7 +8021,7 @@
]
},
{
- "name": "252",
+ "name": "255",
"members": [
{
"name": "pause"
@@ -7974,7 +8041,7 @@
]
},
{
- "name": "253",
+ "name": "256",
"members": [
{
"name": "pause"
@@ -7994,28 +8061,28 @@
]
},
{
- "name": "254",
+ "name": "257",
"tag": "type",
"variants": [
{
"case": "hyper-v",
- "type": "480"
+ "type": "483"
},
{
"case": "s390",
- "type": "481"
+ "type": "484"
}
],
"members": [
{
"name": "type",
- "type": "479"
+ "type": "482"
}
],
"meta-type": "object"
},
{
- "name": "255",
+ "name": "258",
"members": [
{
"name": "hypervisor"
@@ -8031,7 +8098,7 @@
]
},
{
- "name": "256",
+ "name": "259",
"members": [
{
"name": "ignore"
@@ -8055,7 +8122,7 @@
]
},
{
- "name": "257",
+ "name": "260",
"members": [
{
"name": "action-required",
@@ -8069,7 +8136,7 @@
"meta-type": "object"
},
{
- "name": "258",
+ "name": "261",
"members": [
{
"name": "retain"
@@ -8099,7 +8166,7 @@
"meta-type": "array"
},
{
- "name": "259",
+ "name": "262",
"members": [
{
"name": "ok"
@@ -8119,7 +8186,7 @@
]
},
{
- "name": "260",
+ "name": "263",
"members": [
{
"name": "rd_bytes",
@@ -8228,41 +8295,41 @@
},
{
"name": "timed_stats",
- "type": "[482]"
+ "type": "[485]"
},
{
"name": "rd_latency_histogram",
"default": null,
- "type": "483"
+ "type": "486"
},
{
"name": "wr_latency_histogram",
"default": null,
- "type": "483"
+ "type": "486"
},
{
"name": "flush_latency_histogram",
"default": null,
- "type": "483"
+ "type": "486"
}
],
"meta-type": "object"
},
{
- "name": "261",
+ "name": "264",
"tag": "driver",
"variants": [
{
"case": "file",
- "type": "484"
+ "type": "487"
},
{
"case": "host_device",
- "type": "484"
+ "type": "487"
},
{
"case": "nvme",
- "type": "485"
+ "type": "488"
},
{
"case": "blkdebug",
@@ -8424,13 +8491,13 @@
"members": [
{
"name": "driver",
- "type": "276"
+ "type": "279"
}
],
"meta-type": "object"
},
{
- "name": "262",
+ "name": "265",
"members": [
{
"name": "undefined"
@@ -8482,7 +8549,7 @@
]
},
{
- "name": "263",
+ "name": "266",
"members": [
{
"name": "existing"
@@ -8498,7 +8565,7 @@
]
},
{
- "name": "264",
+ "name": "267",
"members": [
{
"name": "report"
@@ -8526,7 +8593,7 @@
]
},
{
- "name": "265",
+ "name": "268",
"members": [
{
"name": "top"
@@ -8554,7 +8621,7 @@
]
},
{
- "name": "266",
+ "name": "269",
"members": [
{
"name": "on-success"
@@ -8574,7 +8641,7 @@
]
},
{
- "name": "267",
+ "name": "270",
"members": [
{
"name": "use-copy-range",
@@ -8595,7 +8662,7 @@
"meta-type": "object"
},
{
- "name": "268",
+ "name": "271",
"members": [
{
"name": "off"
@@ -8615,7 +8682,7 @@
]
},
{
- "name": "269",
+ "name": "272",
"members": [
{
"name": "filename",
@@ -8677,18 +8744,18 @@
{
"name": "backing-image",
"default": null,
- "type": "269"
+ "type": "272"
},
{
"name": "format-specific",
"default": null,
- "type": "486"
+ "type": "489"
}
],
"meta-type": "object"
},
{
- "name": "270",
+ "name": "273",
"members": [
{
"name": "writeback",
@@ -8706,12 +8773,12 @@
"meta-type": "object"
},
{
- "name": "[271]",
- "element-type": "271",
+ "name": "[274]",
+ "element-type": "274",
"meta-type": "array"
},
{
- "name": "271",
+ "name": "274",
"members": [
{
"name": "name",
@@ -8747,12 +8814,12 @@
"meta-type": "object"
},
{
- "name": "[272]",
- "element-type": "272",
+ "name": "[275]",
+ "element-type": "275",
"meta-type": "array"
},
{
- "name": "272",
+ "name": "275",
"members": [
{
"name": "id",
@@ -8760,7 +8827,7 @@
},
{
"name": "type",
- "type": "487"
+ "type": "490"
},
{
"name": "name",
@@ -8770,12 +8837,12 @@
"meta-type": "object"
},
{
- "name": "[273]",
- "element-type": "273",
+ "name": "[276]",
+ "element-type": "276",
"meta-type": "array"
},
{
- "name": "273",
+ "name": "276",
"members": [
{
"name": "parent",
@@ -8791,17 +8858,17 @@
},
{
"name": "perm",
- "type": "[488]"
+ "type": "[491]"
},
{
"name": "shared-perm",
- "type": "[488]"
+ "type": "[491]"
}
],
"meta-type": "object"
},
{
- "name": "274",
+ "name": "277",
"members": [
{
"name": "background"
@@ -8817,12 +8884,12 @@
]
},
{
- "name": "[275]",
- "element-type": "275",
+ "name": "[278]",
+ "element-type": "278",
"meta-type": "array"
},
{
- "name": "275",
+ "name": "278",
"members": [
{
"type": "str"
@@ -8834,7 +8901,7 @@
"meta-type": "alternate"
},
{
- "name": "276",
+ "name": "279",
"members": [
{
"name": "blkdebug"
@@ -9010,7 +9077,7 @@
]
},
{
- "name": "277",
+ "name": "280",
"members": [
{
"name": "ignore"
@@ -9026,7 +9093,7 @@
]
},
{
- "name": "278",
+ "name": "281",
"members": [
{
"name": "direct",
@@ -9042,11 +9109,11 @@
"meta-type": "object"
},
{
- "name": "279",
+ "name": "282",
"members": [
{
"name": "image",
- "type": "489"
+ "type": "492"
},
{
"name": "config",
@@ -9086,36 +9153,36 @@
{
"name": "inject-error",
"default": null,
- "type": "[490]"
+ "type": "[493]"
},
{
"name": "set-state",
"default": null,
- "type": "[491]"
+ "type": "[494]"
},
{
"name": "take-child-perms",
"default": null,
- "type": "[488]"
+ "type": "[491]"
},
{
"name": "unshare-child-perms",
"default": null,
- "type": "[488]"
+ "type": "[491]"
}
],
"meta-type": "object"
},
{
- "name": "280",
+ "name": "283",
"members": [
{
"name": "file",
- "type": "489"
+ "type": "492"
},
{
"name": "log",
- "type": "489"
+ "type": "492"
},
{
"name": "log-sector-size",
@@ -9136,64 +9203,74 @@
"meta-type": "object"
},
{
- "name": "281",
+ "name": "284",
"members": [
{
"name": "test",
- "type": "489"
+ "type": "492"
},
{
"name": "raw",
- "type": "489"
+ "type": "492"
}
],
"meta-type": "object"
},
{
- "name": "282",
+ "name": "285",
"members": [
{
"name": "image",
- "type": "489"
+ "type": "492"
}
],
"meta-type": "object"
},
{
- "name": "283",
+ "name": "286",
"members": [
{
"name": "file",
- "type": "489"
+ "type": "492"
}
],
"meta-type": "object"
},
{
- "name": "284",
+ "name": "287",
"members": [
{
"name": "file",
- "type": "489"
+ "type": "492"
},
{
"name": "target",
- "type": "489"
+ "type": "492"
},
{
"name": "bitmap",
"default": null,
"type": "37"
+ },
+ {
+ "name": "on-cbw-error",
+ "default": null,
+ "type": "495"
+ },
+ {
+ "name": "cbw-timeout",
+ "default": null,
+ "type": "int"
}
],
"meta-type": "object"
},
{
- "name": "285",
+ "name": "288",
"members": [
{
"name": "file",
- "type": "489"
+ "type": "492"
},
{
"name": "bottom",
@@ -9204,7 +9281,7 @@
"meta-type": "object"
},
{
- "name": "286",
+ "name": "289",
"members": [
{
"name": "filename",
@@ -9218,12 +9295,12 @@
{
"name": "locking",
"default": null,
- "type": "492"
+ "type": "496"
},
{
"name": "aio",
"default": null,
- "type": "493"
+ "type": "497"
},
{
"name": "aio-max-batch",
@@ -9250,7 +9327,7 @@
]
},
{
- "name": "287",
+ "name": "290",
"members": [
{
"name": "url",
@@ -9290,7 +9367,7 @@
"meta-type": "object"
},
{
- "name": "288",
+ "name": "291",
"members": [
{
"name": "url",
@@ -9335,7 +9412,7 @@
"meta-type": "object"
},
{
- "name": "289",
+ "name": "292",
"members": [
{
"name": "volume",
@@ -9347,7 +9424,7 @@
},
{
"name": "server",
- "type": "[384]"
+ "type": "[387]"
},
{
"name": "debug",
@@ -9363,7 +9440,7 @@
"meta-type": "object"
},
{
- "name": "290",
+ "name": "293",
"members": [
{
"name": "url",
@@ -9413,7 +9490,7 @@
"meta-type": "object"
},
{
- "name": "291",
+ "name": "294",
"members": [
{
"name": "url",
@@ -9468,11 +9545,11 @@
"meta-type": "object"
},
{
- "name": "292",
+ "name": "295",
"members": [
{
"name": "transport",
- "type": "494"
+ "type": "498"
},
{
"name": "portal",
@@ -9505,7 +9582,7 @@
{
"name": "header-digest",
"default": null,
- "type": "495"
+ "type": "499"
},
{
"name": "timeout",
@@ -9516,11 +9593,11 @@
"meta-type": "object"
},
{
- "name": "293",
+ "name": "296",
"members": [
{
"name": "file",
- "type": "489"
+ "type": "492"
},
{
"name": "key-secret",
@@ -9531,11 +9608,11 @@
"meta-type": "object"
},
{
- "name": "294",
+ "name": "297",
"members": [
{
"name": "server",
- "type": "384"
+ "type": "387"
},
{
"name": "export",
@@ -9574,11 +9651,11 @@
"meta-type": "object"
},
{
- "name": "295",
+ "name": "298",
"members": [
{
"name": "server",
- "type": "496"
+ "type": "500"
},
{
"name": "path",
@@ -9618,7 +9695,7 @@
"meta-type": "object"
},
{
- "name": "296",
+ "name": "299",
"members": [
{
"name": "size",
@@ -9639,7 +9716,7 @@
"meta-type": "object"
},
{
- "name": "297",
+ "name": "300",
"members": [
{
"name": "device",
@@ -9653,11 +9730,11 @@
"meta-type": "object"
},
{
- "name": "298",
+ "name": "301",
"members": [
{
"name": "file",
- "type": "489"
+ "type": "492"
},
{
"name": "prealloc-align",
@@ -9673,16 +9750,16 @@
"meta-type": "object"
},
{
- "name": "299",
+ "name": "302",
"members": [
{
"name": "file",
- "type": "489"
+ "type": "492"
},
{
"name": "backing",
"default": null,
- "type": "497"
+ "type": "501"
},
{
"name": "lazy-refcounts",
@@ -9707,7 +9784,7 @@
{
"name": "overlap-check",
"default": null,
- "type": "498"
+ "type": "502"
},
{
"name": "cache-size",
@@ -9737,53 +9814,53 @@
{
"name": "encrypt",
"default": null,
- "type": "499"
+ "type": "503"
},
{
"name": "data-file",
"default": null,
- "type": "489"
+ "type": "492"
}
],
"meta-type": "object"
},
{
- "name": "300",
+ "name": "303",
"members": [
{
"name": "file",
- "type": "489"
+ "type": "492"
},
{
"name": "backing",
"default": null,
- "type": "497"
+ "type": "501"
},
{
"name": "encrypt",
"default": null,
- "type": "500"
+ "type": "504"
}
],
"meta-type": "object"
},
{
- "name": "301",
+ "name": "304",
"members": [
{
"name": "file",
- "type": "489"
+ "type": "492"
},
{
"name": "backing",
"default": null,
- "type": "497"
+ "type": "501"
}
],
"meta-type": "object"
},
{
- "name": "302",
+ "name": "305",
"members": [
{
"name": "blkverify",
@@ -9792,7 +9869,7 @@
},
{
"name": "children",
- "type": "[489]"
+ "type": "[492]"
},
{
"name": "vote-threshold",
@@ -9806,17 +9883,17 @@
{
"name": "read-pattern",
"default": null,
- "type": "501"
+ "type": "505"
}
],
"meta-type": "object"
},
{
- "name": "303",
+ "name": "306",
"members": [
{
"name": "file",
- "type": "489"
+ "type": "492"
},
{
"name": "offset",
@@ -9832,7 +9909,7 @@
"meta-type": "object"
},
{
- "name": "304",
+ "name": "307",
"members": [
{
"name": "pool",
@@ -9860,7 +9937,7 @@
{
"name": "encrypt",
"default": null,
- "type": "502"
+ "type": "506"
},
{
"name": "user",
@@ -9870,7 +9947,7 @@
{
"name": "auth-client-required",
"default": null,
- "type": "[503]"
+ "type": "[507]"
},
{
"name": "key-secret",
@@ -9880,21 +9957,21 @@
{
"name": "server",
"default": null,
- "type": "[504]"
+ "type": "[508]"
}
],
"meta-type": "object"
},
{
- "name": "305",
+ "name": "308",
"members": [
{
"name": "file",
- "type": "489"
+ "type": "492"
},
{
"name": "mode",
- "type": "505"
+ "type": "509"
},
{
"name": "top-id",
@@ -9905,11 +9982,11 @@
"meta-type": "object"
},
{
- "name": "306",
+ "name": "309",
"members": [
{
"name": "server",
- "type": "506"
+ "type": "510"
},
{
"name": "path",
@@ -9923,13 +10000,13 @@
{
"name": "host-key-check",
"default": null,
- "type": "507"
+ "type": "511"
}
],
"meta-type": "object"
},
{
- "name": "307",
+ "name": "310",
"members": [
{
"name": "throttle-group",
@@ -9937,13 +10014,13 @@
},
{
"name": "file",
- "type": "489"
+ "type": "492"
}
],
"meta-type": "object"
},
{
- "name": "308",
+ "name": "311",
"members": [
{
"name": "dir",
@@ -9978,64 +10055,64 @@
"meta-type": "array"
},
{
- "name": "309",
+ "name": "312",
"tag": "driver",
"variants": [
{
"case": "file",
- "type": "508"
+ "type": "512"
},
{
"case": "gluster",
- "type": "509"
+ "type": "513"
},
{
"case": "luks",
- "type": "510"
+ "type": "514"
},
{
"case": "nfs",
- "type": "511"
+ "type": "515"
},
{
"case": "parallels",
- "type": "512"
+ "type": "516"
},
{
"case": "qcow",
- "type": "513"
+ "type": "517"
},
{
"case": "qcow2",
- "type": "514"
+ "type": "518"
},
{
"case": "qed",
- "type": "515"
+ "type": "519"
},
{
"case": "rbd",
- "type": "516"
+ "type": "520"
},
{
"case": "ssh",
- "type": "517"
+ "type": "521"
},
{
"case": "vdi",
- "type": "518"
+ "type": "522"
},
{
"case": "vhdx",
- "type": "519"
+ "type": "523"
},
{
"case": "vmdk",
- "type": "520"
+ "type": "524"
},
{
"case": "vpc",
- "type": "521"
+ "type": "525"
},
{
"case": "blkdebug",
@@ -10153,22 +10230,22 @@
"members": [
{
"name": "driver",
- "type": "276"
+ "type": "279"
}
],
"meta-type": "object"
},
{
- "name": "310",
+ "name": "313",
"tag": "driver",
"variants": [
{
"case": "luks",
- "type": "522"
+ "type": "526"
},
{
"case": "qcow2",
- "type": "523"
+ "type": "527"
},
{
"case": "blkdebug",
@@ -10334,13 +10411,13 @@
"members": [
{
"name": "driver",
- "type": "276"
+ "type": "279"
}
],
"meta-type": "object"
},
{
- "name": "311",
+ "name": "314",
"members": [
{
"name": "read"
@@ -10356,7 +10433,7 @@
]
},
{
- "name": "312",
+ "name": "315",
"members": [
{
"name": "ignore"
@@ -10376,7 +10453,7 @@
]
},
{
- "name": "313",
+ "name": "316",
"members": [
{
"name": "commit"
@@ -10420,7 +10497,7 @@
]
},
{
- "name": "314",
+ "name": "317",
"members": [
{
"type": "str"
@@ -10432,7 +10509,7 @@
"meta-type": "alternate"
},
{
- "name": "315",
+ "name": "318",
"members": [
{
"name": "read"
@@ -10452,36 +10529,36 @@
]
},
{
- "name": "316",
+ "name": "319",
"tag": "type",
"variants": [
{
"case": "inet",
- "type": "525"
+ "type": "529"
},
{
"case": "unix",
- "type": "526"
+ "type": "530"
},
{
"case": "vsock",
- "type": "527"
+ "type": "531"
},
{
"case": "fd",
- "type": "528"
+ "type": "532"
}
],
"members": [
{
"name": "type",
- "type": "524"
+ "type": "528"
}
],
"meta-type": "object"
},
{
- "name": "317",
+ "name": "320",
"members": [
{
"name": "safe"
@@ -10497,7 +10574,7 @@
]
},
{
- "name": "318",
+ "name": "321",
"members": [
{
"name": "nbd"
@@ -10521,7 +10598,7 @@
]
},
{
- "name": "319",
+ "name": "322",
"members": [
{
"name": "name",
@@ -10536,7 +10613,7 @@
{
"name": "bitmaps",
"default": null,
- "type": "[275]"
+ "type": "[278]"
},
{
"name": "allocation-depth",
@@ -10547,11 +10624,11 @@
"meta-type": "object"
},
{
- "name": "320",
+ "name": "323",
"members": [
{
"name": "addr",
- "type": "384"
+ "type": "387"
},
{
"name": "logical-block-size",
@@ -10567,7 +10644,7 @@
"meta-type": "object"
},
{
- "name": "321",
+ "name": "324",
"members": [
{
"name": "mountpoint",
@@ -10581,13 +10658,13 @@
{
"name": "allow-other",
"default": null,
- "type": "529"
+ "type": "533"
}
],
"meta-type": "object"
},
{
- "name": "322",
+ "name": "325",
"members": [
{
"name": "name",
@@ -10617,7 +10694,7 @@
"meta-type": "object"
},
{
- "name": "323",
+ "name": "326",
"members": [
{
"name": "utf8"
@@ -10633,108 +10710,108 @@
]
},
{
- "name": "324",
+ "name": "327",
"tag": "type",
"variants": [
{
"case": "file",
- "type": "531"
+ "type": "535"
},
{
"case": "serial",
- "type": "532"
+ "type": "536"
},
{
"case": "parallel",
- "type": "532"
+ "type": "536"
},
{
"case": "pipe",
- "type": "532"
+ "type": "536"
},
{
"case": "socket",
- "type": "533"
+ "type": "537"
},
{
"case": "udp",
- "type": "534"
+ "type": "538"
},
{
"case": "pty",
- "type": "535"
+ "type": "539"
},
{
"case": "null",
- "type": "535"
+ "type": "539"
},
{
"case": "mux",
- "type": "536"
+ "type": "540"
},
{
"case": "msmouse",
- "type": "535"
+ "type": "539"
},
{
"case": "wctablet",
- "type": "535"
+ "type": "539"
},
{
"case": "braille",
- "type": "535"
+ "type": "539"
},
{
"case": "testdev",
- "type": "535"
+ "type": "539"
},
{
"case": "stdio",
- "type": "537"
+ "type": "541"
},
{
"case": "console",
- "type": "535"
+ "type": "539"
},
{
"case": "spicevmc",
- "type": "538"
+ "type": "542"
},
{
"case": "spiceport",
- "type": "539"
+ "type": "543"
},
{
"case": "qemu-vdagent",
- "type": "540"
+ "type": "544"
},
{
"case": "dbus",
- "type": "541"
+ "type": "545"
},
{
"case": "vc",
- "type": "542"
+ "type": "546"
},
{
"case": "ringbuf",
- "type": "543"
+ "type": "547"
},
{
"case": "memory",
- "type": "543"
+ "type": "547"
}
],
"members": [
{
"name": "type",
- "type": "530"
+ "type": "534"
}
],
"meta-type": "object"
},
{
- "name": "325",
+ "name": "328",
"members": [
{
"name": "elf"
@@ -10762,7 +10839,7 @@
]
},
{
- "name": "326",
+ "name": "329",
"members": [
{
"name": "none"
@@ -10786,12 +10863,12 @@
]
},
{
- "name": "[325]",
- "element-type": "325",
+ "name": "[328]",
+ "element-type": "328",
"meta-type": "array"
},
{
- "name": "327",
+ "name": "330",
"members": [
{
"name": "none"
@@ -10847,7 +10924,7 @@
]
},
{
- "name": "328",
+ "name": "331",
"members": [
{
"name": "netdev",
@@ -10878,7 +10955,7 @@
"meta-type": "object"
},
{
- "name": "329",
+ "name": "332",
"members": [
{
"name": "hostname",
@@ -10938,7 +11015,7 @@
{
"name": "dnssearch",
"default": null,
- "type": "[544]"
+ "type": "[548]"
},
{
"name": "domainname",
@@ -10978,12 +11055,12 @@
{
"name": "hostfwd",
"default": null,
- "type": "[544]"
+ "type": "[548]"
},
{
"name": "guestfwd",
"default": null,
- "type": "[544]"
+ "type": "[548]"
},
{
"name": "tftp-server-name",
@@ -10994,7 +11071,7 @@
"meta-type": "object"
},
{
- "name": "330",
+ "name": "333",
"members": [
{
"name": "ifname",
@@ -11075,7 +11152,7 @@
"meta-type": "object"
},
{
- "name": "331",
+ "name": "334",
"members": [
{
"name": "src",
@@ -11148,7 +11225,7 @@
"meta-type": "object"
},
{
- "name": "332",
+ "name": "335",
"members": [
{
"name": "fd",
@@ -11184,7 +11261,7 @@
"meta-type": "object"
},
{
- "name": "333",
+ "name": "336",
"members": [
{
"name": "sock",
@@ -11210,7 +11287,7 @@
"meta-type": "object"
},
{
- "name": "334",
+ "name": "337",
"members": [
{
"name": "br",
@@ -11226,7 +11303,7 @@
"meta-type": "object"
},
{
- "name": "335",
+ "name": "338",
"members": [
{
"name": "hubid",
@@ -11241,7 +11318,7 @@
"meta-type": "object"
},
{
- "name": "336",
+ "name": "339",
"members": [
{
"name": "ifname",
@@ -11256,7 +11333,7 @@
"meta-type": "object"
},
{
- "name": "337",
+ "name": "340",
"members": [
{
"name": "chardev",
@@ -11276,7 +11353,7 @@
"meta-type": "object"
},
{
- "name": "338",
+ "name": "341",
"members": [
{
"name": "vhostdev",
@@ -11287,12 +11364,20 @@
"name": "queues",
"default": null,
"type": "int"
+ },
+ {
+ "name": "x-svq",
+ "default": null,
+ "type": "bool",
+ "features": [
+ "unstable"
+ ]
}
],
"meta-type": "object"
},
{
- "name": "342",
+ "name": "345",
"members": [
{
"name": "normal"
@@ -11317,7 +11402,7 @@
"meta-type": "array"
},
{
- "name": "343",
+ "name": "346",
"members": [
{
"name": "half"
@@ -11333,7 +11418,7 @@
]
},
{
- "name": "344",
+ "name": "347",
"members": [
{
"name": "off"
@@ -11349,7 +11434,7 @@
]
},
{
- "name": "345",
+ "name": "348",
"members": [
{
"name": "priority",
@@ -11408,7 +11493,7 @@
"meta-type": "object"
},
{
- "name": "346",
+ "name": "349",
"members": [
{
"name": "in-pport",
@@ -11449,7 +11534,7 @@
"meta-type": "object"
},
{
- "name": "347",
+ "name": "350",
"members": [
{
"name": "goto-tbl",
@@ -11485,16 +11570,16 @@
"meta-type": "object"
},
{
- "name": "348",
+ "name": "351",
"tag": "type",
"variants": [
{
"case": "passthrough",
- "type": "545"
+ "type": "549"
},
{
"case": "emulator",
- "type": "546"
+ "type": "550"
}
],
"members": [
@@ -11506,7 +11591,7 @@
"meta-type": "object"
},
{
- "name": "349",
+ "name": "352",
"members": [
{
"name": "vnc"
@@ -11522,7 +11607,7 @@
]
},
{
- "name": "350",
+ "name": "353",
"members": [
{
"name": "keep"
@@ -11542,7 +11627,7 @@
]
},
{
- "name": "351",
+ "name": "354",
"members": [
{
"name": "display",
@@ -11553,7 +11638,7 @@
"meta-type": "object"
},
{
- "name": "352",
+ "name": "355",
"members": [
{
"name": "display",
@@ -11564,7 +11649,7 @@
"meta-type": "object"
},
{
- "name": "353",
+ "name": "356",
"members": [
{
"name": "ppm"
@@ -11580,7 +11665,7 @@
]
},
{
- "name": "354",
+ "name": "357",
"members": [
{
"name": "client"
@@ -11600,12 +11685,12 @@
]
},
{
- "name": "[355]",
- "element-type": "355",
+ "name": "[358]",
+ "element-type": "358",
"meta-type": "array"
},
{
- "name": "355",
+ "name": "358",
"members": [
{
"name": "host",
@@ -11617,7 +11702,7 @@
},
{
"name": "family",
- "type": "358"
+ "type": "361"
},
{
"name": "connection-id",
@@ -11639,7 +11724,7 @@
"meta-type": "object"
},
{
- "name": "356",
+ "name": "359",
"members": [
{
"name": "host",
@@ -11651,13 +11736,13 @@
},
{
"name": "family",
- "type": "358"
+ "type": "361"
}
],
"meta-type": "object"
},
{
- "name": "357",
+ "name": "360",
"members": [
{
"name": "host",
@@ -11669,7 +11754,7 @@
},
{
"name": "family",
- "type": "358"
+ "type": "361"
},
{
"name": "auth",
@@ -11680,7 +11765,7 @@
"meta-type": "object"
},
{
- "name": "358",
+ "name": "361",
"members": [
{
"name": "ipv4"
@@ -11708,12 +11793,12 @@
]
},
{
- "name": "[359]",
- "element-type": "359",
+ "name": "[362]",
+ "element-type": "362",
"meta-type": "array"
},
{
- "name": "359",
+ "name": "362",
"members": [
{
"name": "host",
@@ -11725,7 +11810,7 @@
},
{
"name": "family",
- "type": "358"
+ "type": "361"
},
{
"name": "websocket",
@@ -11745,12 +11830,12 @@
"meta-type": "object"
},
{
- "name": "[360]",
- "element-type": "360",
+ "name": "[363]",
+ "element-type": "363",
"meta-type": "array"
},
{
- "name": "360",
+ "name": "363",
"members": [
{
"name": "host",
@@ -11762,7 +11847,7 @@
},
{
"name": "family",
- "type": "358"
+ "type": "361"
},
{
"name": "websocket",
@@ -11770,18 +11855,18 @@
},
{
"name": "auth",
- "type": "361"
+ "type": "364"
},
{
"name": "vencrypt",
"default": null,
- "type": "362"
+ "type": "365"
}
],
"meta-type": "object"
},
{
- "name": "361",
+ "name": "364",
"members": [
{
"name": "none"
@@ -11825,7 +11910,7 @@
]
},
{
- "name": "362",
+ "name": "365",
"members": [
{
"name": "plain"
@@ -11869,7 +11954,7 @@
]
},
{
- "name": "363",
+ "name": "366",
"members": [
{
"name": "host",
@@ -11881,7 +11966,7 @@
},
{
"name": "family",
- "type": "358"
+ "type": "361"
},
{
"name": "websocket",
@@ -11896,7 +11981,7 @@
"meta-type": "object"
},
{
- "name": "364",
+ "name": "367",
"members": [
{
"name": "host",
@@ -11908,7 +11993,7 @@
},
{
"name": "family",
- "type": "358"
+ "type": "361"
},
{
"name": "websocket",
@@ -11918,67 +12003,67 @@
"meta-type": "object"
},
{
- "name": "[365]",
- "element-type": "365",
+ "name": "[368]",
+ "element-type": "368",
"meta-type": "array"
},
{
- "name": "365",
+ "name": "368",
"tag": "type",
"variants": [
{
"case": "number",
- "type": "548"
+ "type": "552"
},
{
"case": "qcode",
- "type": "549"
+ "type": "553"
}
],
"members": [
{
"name": "type",
- "type": "547"
+ "type": "551"
}
],
"meta-type": "object"
},
{
- "name": "[366]",
- "element-type": "366",
+ "name": "[369]",
+ "element-type": "369",
"meta-type": "array"
},
{
- "name": "366",
+ "name": "369",
"tag": "type",
"variants": [
{
"case": "key",
- "type": "551"
+ "type": "555"
},
{
"case": "btn",
- "type": "552"
+ "type": "556"
},
{
"case": "rel",
- "type": "553"
+ "type": "557"
},
{
"case": "abs",
- "type": "553"
+ "type": "557"
}
],
"members": [
{
"name": "type",
- "type": "550"
+ "type": "554"
}
],
"meta-type": "object"
},
{
- "name": "367",
+ "name": "370",
"members": [
{
"name": "default"
@@ -12014,7 +12099,7 @@
]
},
{
- "name": "368",
+ "name": "371",
"members": [
{
"name": "off"
@@ -12038,7 +12123,7 @@
]
},
{
- "name": "369",
+ "name": "372",
"members": [
{
"name": "grab-on-hover",
@@ -12049,12 +12134,17 @@
"name": "zoom-to-fit",
"default": null,
"type": "bool"
+ },
+ {
+ "name": "show-tabs",
+ "default": null,
+ "type": "bool"
}
],
"meta-type": "object"
},
{
- "name": "370",
+ "name": "373",
"members": [
{
"name": "left-command-key",
@@ -12075,7 +12165,7 @@
"meta-type": "object"
},
{
- "name": "371",
+ "name": "374",
"members": [
{
"name": "charset",
@@ -12086,7 +12176,7 @@
"meta-type": "object"
},
{
- "name": "372",
+ "name": "375",
"members": [
{
"name": "rendernode",
@@ -12097,7 +12187,7 @@
"meta-type": "object"
},
{
- "name": "373",
+ "name": "376",
"members": [
{
"name": "rendernode",
@@ -12123,18 +12213,18 @@
"meta-type": "object"
},
{
- "name": "374",
+ "name": "377",
"members": [
{
"name": "grab-mod",
"default": null,
- "type": "554"
+ "type": "558"
}
],
"meta-type": "object"
},
{
- "name": "375",
+ "name": "378",
"members": [
{
"name": "vnc"
@@ -12146,7 +12236,7 @@
]
},
{
- "name": "376",
+ "name": "379",
"members": [
{
"name": "tls-certs",
@@ -12157,7 +12247,7 @@
"meta-type": "object"
},
{
- "name": "377",
+ "name": "380",
"members": [
{
"name": "vnc"
@@ -12169,18 +12259,18 @@
]
},
{
- "name": "378",
+ "name": "381",
"members": [
{
"name": "addresses",
"default": null,
- "type": "[384]"
+ "type": "[387]"
}
],
"meta-type": "object"
},
{
- "name": "379",
+ "name": "382",
"members": [
{
"name": "none"
@@ -12244,7 +12334,7 @@
]
},
{
- "name": "380",
+ "name": "383",
"members": [
{
"name": "transferred",
@@ -12313,12 +12403,16 @@
{
"name": "postcopy-bytes",
"type": "int"
+ },
+ {
+ "name": "dirty-sync-missed-zero-copy",
+ "type": "int"
}
],
"meta-type": "object"
},
{
- "name": "381",
+ "name": "384",
"members": [
{
"name": "transferred",
@@ -12328,7 +12422,7 @@
"meta-type": "object"
},
{
- "name": "382",
+ "name": "385",
"members": [
{
"name": "cache-size",
@@ -12362,7 +12456,7 @@
"meta-type": "object"
},
{
- "name": "383",
+ "name": "386",
"members": [
{
"name": "pages",
@@ -12388,41 +12482,41 @@
"meta-type": "object"
},
{
- "name": "[384]",
- "element-type": "384",
+ "name": "[387]",
+ "element-type": "387",
"meta-type": "array"
},
{
- "name": "384",
+ "name": "387",
"tag": "type",
"variants": [
{
"case": "inet",
- "type": "506"
+ "type": "510"
},
{
"case": "unix",
- "type": "555"
+ "type": "559"
},
{
"case": "vsock",
- "type": "556"
+ "type": "560"
},
{
"case": "fd",
- "type": "544"
+ "type": "548"
}
],
"members": [
{
"name": "type",
- "type": "524"
+ "type": "528"
}
],
"meta-type": "object"
},
{
- "name": "385",
+ "name": "388",
"members": [
{
"name": "xbzrle"
@@ -12489,6 +12583,9 @@
},
{
"name": "zero-copy-send"
+ },
+ {
+ "name": "postcopy-preempt"
}
],
"meta-type": "enum",
@@ -12512,11 +12609,12 @@
"x-ignore-shared",
"validate-uuid",
"background-snapshot",
- "zero-copy-send"
+ "zero-copy-send",
+ "postcopy-preempt"
]
},
{
- "name": "386",
+ "name": "389",
"members": [
{
"name": "none"
@@ -12536,12 +12634,12 @@
]
},
{
- "name": "[387]",
- "element-type": "387",
+ "name": "[390]",
+ "element-type": "390",
"meta-type": "array"
},
{
- "name": "387",
+ "name": "390",
"members": [
{
"name": "node-name",
@@ -12553,13 +12651,13 @@
},
{
"name": "bitmaps",
- "type": "[557]"
+ "type": "[561]"
}
],
"meta-type": "object"
},
{
- "name": "388",
+ "name": "391",
"members": [
{
"name": "none"
@@ -12579,7 +12677,7 @@
]
},
{
- "name": "389",
+ "name": "392",
"members": [
{
"name": "none"
@@ -12603,7 +12701,7 @@
]
},
{
- "name": "390",
+ "name": "393",
"members": [
{
"name": "page-sampling"
@@ -12623,7 +12721,7 @@
]
},
{
- "name": "391",
+ "name": "394",
"members": [
{
"name": "unstarted"
@@ -12643,12 +12741,12 @@
]
},
{
- "name": "[392]",
- "element-type": "392",
+ "name": "[395]",
+ "element-type": "395",
"meta-type": "array"
},
{
- "name": "392",
+ "name": "395",
"members": [
{
"name": "id",
@@ -12662,84 +12760,84 @@
"meta-type": "object"
},
{
- "name": "[393]",
- "element-type": "393",
+ "name": "[396]",
+ "element-type": "396",
"meta-type": "array"
},
{
- "name": "393",
+ "name": "396",
"tag": "type",
"variants": [
{
"case": "abort",
- "type": "559"
+ "type": "563"
},
{
"case": "block-dirty-bitmap-add",
- "type": "560"
+ "type": "564"
},
{
"case": "block-dirty-bitmap-remove",
- "type": "561"
+ "type": "565"
},
{
"case": "block-dirty-bitmap-clear",
- "type": "561"
+ "type": "565"
},
{
"case": "block-dirty-bitmap-enable",
- "type": "561"
+ "type": "565"
},
{
"case": "block-dirty-bitmap-disable",
- "type": "561"
+ "type": "565"
},
{
"case": "block-dirty-bitmap-merge",
- "type": "562"
+ "type": "566"
},
{
"case": "blockdev-backup",
- "type": "563"
+ "type": "567"
},
{
"case": "blockdev-snapshot",
- "type": "564"
+ "type": "568"
},
{
"case": "blockdev-snapshot-internal-sync",
- "type": "565"
+ "type": "569"
},
{
"case": "blockdev-snapshot-sync",
- "type": "566"
+ "type": "570"
},
{
"case": "drive-backup",
- "type": "567"
+ "type": "571"
}
],
"members": [
{
"name": "type",
- "type": "558"
+ "type": "562"
}
],
"meta-type": "object"
},
{
- "name": "394",
+ "name": "397",
"members": [
{
"name": "completion-mode",
"default": null,
- "type": "568"
+ "type": "572"
}
],
"meta-type": "object"
},
{
- "name": "395",
+ "name": "398",
"members": [
{
"name": "unavailable"
@@ -12759,12 +12857,12 @@
]
},
{
- "name": "[396]",
- "element-type": "396",
+ "name": "[399]",
+ "element-type": "399",
"meta-type": "array"
},
{
- "name": "396",
+ "name": "399",
"members": [
{
"name": "oob"
@@ -12776,7 +12874,7 @@
]
},
{
- "name": "397",
+ "name": "400",
"members": [
{
"name": "major",
@@ -12794,7 +12892,7 @@
"meta-type": "object"
},
{
- "name": "398",
+ "name": "401",
"members": [
{
"name": "builtin"
@@ -12830,21 +12928,21 @@
]
},
{
- "name": "399",
+ "name": "402",
"members": [
{
"name": "json-type",
- "type": "569"
+ "type": "573"
}
],
"meta-type": "object"
},
{
- "name": "400",
+ "name": "403",
"members": [
{
"name": "members",
- "type": "[570]"
+ "type": "[574]"
},
{
"name": "values",
@@ -12857,7 +12955,7 @@
"meta-type": "object"
},
{
- "name": "401",
+ "name": "404",
"members": [
{
"name": "element-type",
@@ -12867,11 +12965,11 @@
"meta-type": "object"
},
{
- "name": "402",
+ "name": "405",
"members": [
{
"name": "members",
- "type": "[571]"
+ "type": "[575]"
},
{
"name": "tag",
@@ -12881,23 +12979,23 @@
{
"name": "variants",
"default": null,
- "type": "[572]"
+ "type": "[576]"
}
],
"meta-type": "object"
},
{
- "name": "403",
+ "name": "406",
"members": [
{
"name": "members",
- "type": "[573]"
+ "type": "[577]"
}
],
"meta-type": "object"
},
{
- "name": "404",
+ "name": "407",
"members": [
{
"name": "arg-type",
@@ -12916,7 +13014,7 @@
"meta-type": "object"
},
{
- "name": "405",
+ "name": "408",
"members": [
{
"name": "arg-type",
@@ -12926,7 +13024,7 @@
"meta-type": "object"
},
{
- "name": "406",
+ "name": "409",
"members": [
{
"name": "authz-list"
@@ -13108,23 +13206,23 @@
]
},
{
- "name": "407",
+ "name": "410",
"members": [
{
"name": "policy",
"default": null,
- "type": "574"
+ "type": "578"
},
{
"name": "rules",
"default": null,
- "type": "[575]"
+ "type": "[579]"
}
],
"meta-type": "object"
},
{
- "name": "408",
+ "name": "411",
"members": [
{
"name": "filename",
@@ -13139,7 +13237,7 @@
"meta-type": "object"
},
{
- "name": "409",
+ "name": "412",
"members": [
{
"name": "service",
@@ -13149,7 +13247,7 @@
"meta-type": "object"
},
{
- "name": "410",
+ "name": "413",
"members": [
{
"name": "identity",
@@ -13159,7 +13257,7 @@
"meta-type": "object"
},
{
- "name": "411",
+ "name": "414",
"members": [
{
"name": "if",
@@ -13173,7 +13271,7 @@
"meta-type": "object"
},
{
- "name": "412",
+ "name": "415",
"members": [
{
"name": "primary_in",
@@ -13220,7 +13318,7 @@
"meta-type": "object"
},
{
- "name": "413",
+ "name": "416",
"members": [
{
"name": "queues",
@@ -13231,7 +13329,7 @@
"meta-type": "object"
},
{
- "name": "414",
+ "name": "417",
"members": [
{
"name": "queues",
@@ -13246,7 +13344,7 @@
"meta-type": "object"
},
{
- "name": "415",
+ "name": "418",
"members": [
{
"name": "addr",
@@ -13261,7 +13359,7 @@
"meta-type": "object"
},
{
- "name": "416",
+ "name": "419",
"members": [
{
"name": "netdev",
@@ -13270,7 +13368,7 @@
{
"name": "queue",
"default": null,
- "type": "576"
+ "type": "580"
},
{
"name": "status",
@@ -13285,7 +13383,7 @@
{
"name": "insert",
"default": null,
- "type": "577"
+ "type": "581"
},
{
"name": "interval",
@@ -13295,7 +13393,7 @@
"meta-type": "object"
},
{
- "name": "417",
+ "name": "420",
"members": [
{
"name": "netdev",
@@ -13304,7 +13402,7 @@
{
"name": "queue",
"default": null,
- "type": "576"
+ "type": "580"
},
{
"name": "status",
@@ -13319,7 +13417,7 @@
{
"name": "insert",
"default": null,
- "type": "577"
+ "type": "581"
},
{
"name": "file",
@@ -13334,7 +13432,7 @@
"meta-type": "object"
},
{
- "name": "418",
+ "name": "421",
"members": [
{
"name": "netdev",
@@ -13343,7 +13441,7 @@
{
"name": "queue",
"default": null,
- "type": "576"
+ "type": "580"
},
{
"name": "status",
@@ -13358,7 +13456,7 @@
{
"name": "insert",
"default": null,
- "type": "577"
+ "type": "581"
},
{
"name": "outdev",
@@ -13373,7 +13471,7 @@
"meta-type": "object"
},
{
- "name": "419",
+ "name": "422",
"members": [
{
"name": "netdev",
@@ -13382,7 +13480,7 @@
{
"name": "queue",
"default": null,
- "type": "576"
+ "type": "580"
},
{
"name": "status",
@@ -13397,7 +13495,7 @@
{
"name": "insert",
"default": null,
- "type": "577"
+ "type": "581"
},
{
"name": "indev",
@@ -13418,7 +13516,7 @@
"meta-type": "object"
},
{
- "name": "420",
+ "name": "423",
"members": [
{
"name": "netdev",
@@ -13427,7 +13525,7 @@
{
"name": "queue",
"default": null,
- "type": "576"
+ "type": "580"
},
{
"name": "status",
@@ -13442,13 +13540,13 @@
{
"name": "insert",
"default": null,
- "type": "577"
+ "type": "581"
}
],
"meta-type": "object"
},
{
- "name": "421",
+ "name": "424",
"members": [
{
"name": "netdev",
@@ -13457,7 +13555,7 @@
{
"name": "queue",
"default": null,
- "type": "576"
+ "type": "580"
},
{
"name": "status",
@@ -13472,7 +13570,7 @@
{
"name": "insert",
"default": null,
- "type": "577"
+ "type": "581"
},
{
"name": "vnet_hdr_support",
@@ -13483,7 +13581,7 @@
"meta-type": "object"
},
{
- "name": "422",
+ "name": "425",
"members": [
{
"name": "name",
@@ -13523,7 +13621,7 @@
"meta-type": "object"
},
{
- "name": "423",
+ "name": "426",
"members": [
{
"name": "evdev",
@@ -13542,13 +13640,13 @@
{
"name": "grab-toggle",
"default": null,
- "type": "578"
+ "type": "582"
}
],
"meta-type": "object"
},
{
- "name": "424",
+ "name": "427",
"members": [
{
"name": "aio-max-batch",
@@ -13584,7 +13682,7 @@
"meta-type": "object"
},
{
- "name": "425",
+ "name": "428",
"members": [
{
"name": "aio-max-batch",
@@ -13605,7 +13703,7 @@
"meta-type": "object"
},
{
- "name": "426",
+ "name": "429",
"members": [
{
"name": "dump",
@@ -13625,7 +13723,7 @@
{
"name": "policy",
"default": null,
- "type": "448"
+ "type": "451"
},
{
"name": "prealloc",
@@ -13660,7 +13758,7 @@
"meta-type": "object"
},
{
- "name": "427",
+ "name": "430",
"members": [
{
"name": "dump",
@@ -13680,7 +13778,7 @@
{
"name": "policy",
"default": null,
- "type": "448"
+ "type": "451"
},
{
"name": "prealloc",
@@ -13739,7 +13837,7 @@
"meta-type": "object"
},
{
- "name": "428",
+ "name": "431",
"members": [
{
"name": "dump",
@@ -13759,7 +13857,7 @@
{
"name": "policy",
"default": null,
- "type": "448"
+ "type": "451"
},
{
"name": "prealloc",
@@ -13809,7 +13907,7 @@
"meta-type": "object"
},
{
- "name": "429",
+ "name": "432",
"members": [
{
"name": "dump",
@@ -13829,7 +13927,7 @@
{
"name": "policy",
"default": null,
- "type": "448"
+ "type": "451"
},
{
"name": "prealloc",
@@ -13864,7 +13962,7 @@
"meta-type": "object"
},
{
- "name": "430",
+ "name": "433",
"members": [
{
"name": "path",
@@ -13874,7 +13972,7 @@
"meta-type": "object"
},
{
- "name": "431",
+ "name": "434",
"members": [
{
"name": "chardev",
@@ -13889,7 +13987,7 @@
"meta-type": "object"
},
{
- "name": "432",
+ "name": "435",
"members": [
{
"name": "opened",
@@ -13903,7 +14001,7 @@
"meta-type": "object"
},
{
- "name": "433",
+ "name": "436",
"members": [
{
"name": "opened",
@@ -13921,7 +14019,7 @@
"meta-type": "object"
},
{
- "name": "434",
+ "name": "437",
"members": [
{
"name": "opened",
@@ -13940,7 +14038,7 @@
"meta-type": "object"
},
{
- "name": "435",
+ "name": "438",
"members": [
{
"name": "loaded",
@@ -13953,7 +14051,7 @@
{
"name": "format",
"default": null,
- "type": "579"
+ "type": "583"
},
{
"name": "keyid",
@@ -13979,7 +14077,7 @@
"meta-type": "object"
},
{
- "name": "436",
+ "name": "439",
"members": [
{
"name": "loaded",
@@ -13992,7 +14090,7 @@
{
"name": "format",
"default": null,
- "type": "579"
+ "type": "583"
},
{
"name": "keyid",
@@ -14012,7 +14110,7 @@
"meta-type": "object"
},
{
- "name": "437",
+ "name": "440",
"members": [
{
"name": "sev-device",
@@ -14057,12 +14155,12 @@
"meta-type": "object"
},
{
- "name": "438",
+ "name": "441",
"members": [
{
"name": "limits",
"default": null,
- "type": "580"
+ "type": "584"
},
{
"name": "x-iops-total",
@@ -14220,7 +14318,7 @@
"meta-type": "object"
},
{
- "name": "439",
+ "name": "442",
"members": [
{
"name": "verify-peer",
@@ -14235,7 +14333,7 @@
{
"name": "endpoint",
"default": null,
- "type": "581"
+ "type": "585"
},
{
"name": "priority",
@@ -14254,7 +14352,7 @@
"meta-type": "object"
},
{
- "name": "440",
+ "name": "443",
"members": [
{
"name": "verify-peer",
@@ -14269,7 +14367,7 @@
{
"name": "endpoint",
"default": null,
- "type": "581"
+ "type": "585"
},
{
"name": "priority",
@@ -14293,7 +14391,7 @@
"meta-type": "object"
},
{
- "name": "441",
+ "name": "444",
"members": [
{
"name": "verify-peer",
@@ -14308,7 +14406,7 @@
{
"name": "endpoint",
"default": null,
- "type": "581"
+ "type": "585"
},
{
"name": "priority",
@@ -14337,7 +14435,7 @@
"meta-type": "object"
},
{
- "name": "442",
+ "name": "445",
"members": [
{
"name": "verify-peer",
@@ -14352,7 +14450,7 @@
{
"name": "endpoint",
"default": null,
- "type": "581"
+ "type": "585"
},
{
"name": "priority",
@@ -14363,7 +14461,7 @@
"meta-type": "object"
},
{
- "name": "443",
+ "name": "446",
"members": [
{
"name": "fd",
@@ -14377,11 +14475,11 @@
"meta-type": "object"
},
{
- "name": "444",
+ "name": "447",
"members": [
{
"name": "socket",
- "type": "384"
+ "type": "387"
},
{
"name": "device",
@@ -14391,7 +14489,7 @@
"meta-type": "object"
},
{
- "name": "445",
+ "name": "448",
"members": [
{
"name": "node-id",
@@ -14427,7 +14525,7 @@
"meta-type": "object"
},
{
- "name": "446",
+ "name": "449",
"members": [
{
"name": "aarch64"
@@ -14559,17 +14657,17 @@
]
},
{
- "name": "447",
+ "name": "450",
"members": [
{
"name": "cpu-state",
- "type": "582"
+ "type": "586"
}
],
"meta-type": "object"
},
{
- "name": "448",
+ "name": "451",
"members": [
{
"name": "default"
@@ -14593,7 +14691,7 @@
]
},
{
- "name": "449",
+ "name": "452",
"members": [
{
"name": "node"
@@ -14621,7 +14719,7 @@
]
},
{
- "name": "450",
+ "name": "453",
"members": [
{
"name": "nodeid",
@@ -14652,7 +14750,7 @@
"meta-type": "object"
},
{
- "name": "451",
+ "name": "454",
"members": [
{
"name": "src",
@@ -14670,7 +14768,7 @@
"meta-type": "object"
},
{
- "name": "452",
+ "name": "455",
"members": [
{
"name": "node-id",
@@ -14706,7 +14804,7 @@
"meta-type": "object"
},
{
- "name": "453",
+ "name": "456",
"members": [
{
"name": "initiator",
@@ -14718,11 +14816,11 @@
},
{
"name": "hierarchy",
- "type": "583"
+ "type": "587"
},
{
"name": "data-type",
- "type": "584"
+ "type": "588"
},
{
"name": "latency",
@@ -14738,7 +14836,7 @@
"meta-type": "object"
},
{
- "name": "454",
+ "name": "457",
"members": [
{
"name": "node-id",
@@ -14754,11 +14852,11 @@
},
{
"name": "associativity",
- "type": "585"
+ "type": "589"
},
{
"name": "policy",
- "type": "586"
+ "type": "590"
},
{
"name": "line",
@@ -14768,7 +14866,7 @@
"meta-type": "object"
},
{
- "name": "455",
+ "name": "458",
"members": [
{
"name": "dimm"
@@ -14796,47 +14894,47 @@
]
},
{
- "name": "456",
+ "name": "459",
"members": [
{
"name": "data",
- "type": "587"
+ "type": "591"
}
],
"meta-type": "object"
},
{
- "name": "457",
+ "name": "460",
"members": [
{
"name": "data",
- "type": "588"
+ "type": "592"
}
],
"meta-type": "object"
},
{
- "name": "458",
+ "name": "461",
"members": [
{
"name": "data",
- "type": "589"
+ "type": "593"
}
],
"meta-type": "object"
},
{
- "name": "459",
+ "name": "462",
"members": [
{
"name": "data",
- "type": "590"
+ "type": "594"
}
],
"meta-type": "object"
},
{
- "name": "460",
+ "name": "463",
"members": [
{
"name": "name",
@@ -14851,7 +14949,7 @@
"meta-type": "object"
},
{
- "name": "461",
+ "name": "464",
"members": [
{
"name": "incompatible"
@@ -14875,7 +14973,7 @@
]
},
{
- "name": "462",
+ "name": "465",
"members": [
{
"name": "static"
@@ -14891,7 +14989,7 @@
]
},
{
- "name": "463",
+ "name": "466",
"members": [
{
"name": "none"
@@ -14911,7 +15009,7 @@
]
},
{
- "name": "464",
+ "name": "467",
"members": [
{
"name": "block-node"
@@ -14931,7 +15029,7 @@
]
},
{
- "name": "465",
+ "name": "468",
"members": [
{
"name": "node-name",
@@ -14941,7 +15039,7 @@
"meta-type": "object"
},
{
- "name": "466",
+ "name": "469",
"members": [
{
"name": "id",
@@ -14951,12 +15049,12 @@
"meta-type": "object"
},
{
- "name": "[467]",
- "element-type": "467",
+ "name": "[470]",
+ "element-type": "470",
"meta-type": "array"
},
{
- "name": "467",
+ "name": "470",
"members": [
{
"name": "fd",
@@ -14971,12 +15069,12 @@
"meta-type": "object"
},
{
- "name": "[468]",
- "element-type": "468",
+ "name": "[471]",
+ "element-type": "471",
"meta-type": "array"
},
{
- "name": "468",
+ "name": "471",
"members": [
{
"name": "name",
@@ -14984,7 +15082,7 @@
},
{
"name": "type",
- "type": "591"
+ "type": "595"
},
{
"name": "help",
@@ -15000,7 +15098,7 @@
"meta-type": "object"
},
{
- "name": "469",
+ "name": "472",
"members": [
{
"name": "uninit"
@@ -15032,12 +15130,12 @@
]
},
{
- "name": "[470]",
- "element-type": "470",
+ "name": "[473]",
+ "element-type": "473",
"meta-type": "array"
},
{
- "name": "470",
+ "name": "473",
"members": [
{
"name": "node",
@@ -15051,7 +15149,7 @@
"meta-type": "object"
},
{
- "name": "471",
+ "name": "474",
"members": [
{
"name": "DIMM"
@@ -15067,12 +15165,12 @@
]
},
{
- "name": "[472]",
- "element-type": "472",
+ "name": "[475]",
+ "element-type": "475",
"meta-type": "array"
},
{
- "name": "472",
+ "name": "475",
"members": [
{
"name": "bus",
@@ -15088,11 +15186,11 @@
},
{
"name": "class_info",
- "type": "592"
+ "type": "596"
},
{
"name": "id",
- "type": "593"
+ "type": "597"
},
{
"name": "irq",
@@ -15110,17 +15208,17 @@
{
"name": "pci_bridge",
"default": null,
- "type": "594"
+ "type": "598"
},
{
"name": "regions",
- "type": "[595]"
+ "type": "[599]"
}
],
"meta-type": "object"
},
{
- "name": "473",
+ "name": "476",
"members": [
{
"name": "vm"
@@ -15136,16 +15234,16 @@
]
},
{
- "name": "[474]",
- "element-type": "474",
+ "name": "[477]",
+ "element-type": "477",
"meta-type": "array"
},
{
- "name": "474",
+ "name": "477",
"members": [
{
"name": "provider",
- "type": "476"
+ "type": "479"
},
{
"name": "names",
@@ -15156,7 +15254,7 @@
"meta-type": "object"
},
{
- "name": "475",
+ "name": "478",
"members": [
{
"name": "vcpus",
@@ -15167,7 +15265,7 @@
"meta-type": "object"
},
{
- "name": "476",
+ "name": "479",
"members": [
{
"name": "kvm"
@@ -15179,12 +15277,12 @@
]
},
{
- "name": "[477]",
- "element-type": "477",
+ "name": "[480]",
+ "element-type": "480",
"meta-type": "array"
},
{
- "name": "477",
+ "name": "480",
"members": [
{
"name": "name",
@@ -15192,18 +15290,18 @@
},
{
"name": "value",
- "type": "596"
+ "type": "600"
}
],
"meta-type": "object"
},
{
- "name": "[478]",
- "element-type": "478",
+ "name": "[481]",
+ "element-type": "481",
"meta-type": "array"
},
{
- "name": "478",
+ "name": "481",
"members": [
{
"name": "name",
@@ -15211,12 +15309,12 @@
},
{
"name": "type",
- "type": "597"
+ "type": "601"
},
{
"name": "unit",
"default": null,
- "type": "598"
+ "type": "602"
},
{
"name": "base",
@@ -15236,7 +15334,7 @@
"meta-type": "object"
},
{
- "name": "479",
+ "name": "482",
"members": [
{
"name": "hyper-v"
@@ -15252,7 +15350,7 @@
]
},
{
- "name": "480",
+ "name": "483",
"members": [
{
"name": "arg1",
@@ -15278,7 +15376,7 @@
"meta-type": "object"
},
{
- "name": "481",
+ "name": "484",
"members": [
{
"name": "core",
@@ -15294,18 +15392,18 @@
},
{
"name": "reason",
- "type": "599"
+ "type": "603"
}
],
"meta-type": "object"
},
{
- "name": "[482]",
- "element-type": "482",
+ "name": "[485]",
+ "element-type": "485",
"meta-type": "array"
},
{
- "name": "482",
+ "name": "485",
"members": [
{
"name": "interval_length",
@@ -15359,7 +15457,7 @@
"meta-type": "object"
},
{
- "name": "483",
+ "name": "486",
"members": [
{
"name": "boundaries",
@@ -15373,7 +15471,7 @@
"meta-type": "object"
},
{
- "name": "484",
+ "name": "487",
"members": [
{
"name": "discard-nb-ok",
@@ -15391,7 +15489,7 @@
"meta-type": "object"
},
{
- "name": "485",
+ "name": "488",
"members": [
{
"name": "completion-errors",
@@ -15414,36 +15512,36 @@
"meta-type": "array"
},
{
- "name": "486",
+ "name": "489",
"tag": "type",
"variants": [
{
"case": "qcow2",
- "type": "601"
+ "type": "605"
},
{
"case": "vmdk",
- "type": "602"
+ "type": "606"
},
{
"case": "luks",
- "type": "603"
+ "type": "607"
},
{
"case": "rbd",
- "type": "604"
+ "type": "608"
}
],
"members": [
{
"name": "type",
- "type": "600"
+ "type": "604"
}
],
"meta-type": "object"
},
{
- "name": "487",
+ "name": "490",
"members": [
{
"name": "block-backend"
@@ -15463,12 +15561,12 @@
]
},
{
- "name": "[488]",
- "element-type": "488",
+ "name": "[491]",
+ "element-type": "491",
"meta-type": "array"
},
{
- "name": "488",
+ "name": "491",
"members": [
{
"name": "consistent-read"
@@ -15492,7 +15590,7 @@
]
},
{
- "name": "489",
+ "name": "492",
"members": [
{
"type": "49"
@@ -15504,16 +15602,16 @@
"meta-type": "alternate"
},
{
- "name": "[490]",
- "element-type": "490",
+ "name": "[493]",
+ "element-type": "493",
"meta-type": "array"
},
{
- "name": "490",
+ "name": "493",
"members": [
{
"name": "event",
- "type": "605"
+ "type": "609"
},
{
"name": "state",
@@ -15523,7 +15621,7 @@
{
"name": "iotype",
"default": null,
- "type": "606"
+ "type": "610"
},
{
"name": "errno",
@@ -15549,16 +15647,16 @@
"meta-type": "object"
},
{
- "name": "[491]",
- "element-type": "491",
+ "name": "[494]",
+ "element-type": "494",
"meta-type": "array"
},
{
- "name": "491",
+ "name": "494",
"members": [
{
"name": "event",
- "type": "605"
+ "type": "609"
},
{
"name": "state",
@@ -15573,7 +15671,23 @@
"meta-type": "object"
},
{
- "name": "492",
+ "name": "495",
+ "members": [
+ {
+ "name": "break-guest-write"
+ },
+ {
+ "name": "break-snapshot"
+ }
+ ],
+ "meta-type": "enum",
+ "values": [
+ "break-guest-write",
+ "break-snapshot"
+ ]
+ },
+ {
+ "name": "496",
"members": [
{
"name": "auto"
@@ -15593,7 +15707,7 @@
]
},
{
- "name": "493",
+ "name": "497",
"members": [
{
"name": "threads"
@@ -15613,7 +15727,7 @@
]
},
{
- "name": "494",
+ "name": "498",
"members": [
{
"name": "tcp"
@@ -15629,7 +15743,7 @@
]
},
{
- "name": "495",
+ "name": "499",
"members": [
{
"name": "crc32c"
@@ -15653,11 +15767,11 @@
]
},
{
- "name": "496",
+ "name": "500",
"members": [
{
"name": "type",
- "type": "607"
+ "type": "611"
},
{
"name": "host",
@@ -15667,7 +15781,7 @@
"meta-type": "object"
},
{
- "name": "497",
+ "name": "501",
"members": [
{
"type": "49"
@@ -15682,62 +15796,62 @@
"meta-type": "alternate"
},
{
- "name": "498",
+ "name": "502",
"members": [
{
- "type": "608"
+ "type": "612"
},
{
- "type": "609"
+ "type": "613"
}
],
"meta-type": "alternate"
},
{
- "name": "499",
+ "name": "503",
"tag": "format",
"variants": [
{
"case": "aes",
- "type": "611"
+ "type": "615"
},
{
"case": "luks",
- "type": "612"
+ "type": "616"
}
],
"members": [
{
"name": "format",
- "type": "610"
+ "type": "614"
}
],
"meta-type": "object"
},
{
- "name": "500",
+ "name": "504",
"tag": "format",
"variants": [
{
"case": "aes",
- "type": "611"
+ "type": "615"
}
],
"members": [
{
"name": "format",
- "type": "613"
+ "type": "617"
}
],
"meta-type": "object"
},
{
- "name": "[489]",
- "element-type": "489",
+ "name": "[492]",
+ "element-type": "492",
"meta-type": "array"
},
{
- "name": "501",
+ "name": "505",
"members": [
{
"name": "quorum"
@@ -15753,33 +15867,33 @@
]
},
{
- "name": "502",
+ "name": "506",
"tag": "format",
"variants": [
{
"case": "luks",
- "type": "615"
+ "type": "619"
},
{
"case": "luks2",
- "type": "616"
+ "type": "620"
}
],
"members": [
{
"name": "format",
- "type": "614"
+ "type": "618"
}
],
"meta-type": "object"
},
{
- "name": "[503]",
- "element-type": "503",
+ "name": "[507]",
+ "element-type": "507",
"meta-type": "array"
},
{
- "name": "503",
+ "name": "507",
"members": [
{
"name": "cephx"
@@ -15795,12 +15909,12 @@
]
},
{
- "name": "[504]",
- "element-type": "504",
+ "name": "[508]",
+ "element-type": "508",
"meta-type": "array"
},
{
- "name": "504",
+ "name": "508",
"members": [
{
"name": "host",
@@ -15814,7 +15928,7 @@
"meta-type": "object"
},
{
- "name": "505",
+ "name": "509",
"members": [
{
"name": "primary"
@@ -15830,7 +15944,7 @@
]
},
{
- "name": "506",
+ "name": "510",
"members": [
{
"name": "host",
@@ -15874,12 +15988,12 @@
"meta-type": "object"
},
{
- "name": "507",
+ "name": "511",
"tag": "mode",
"variants": [
{
"case": "hash",
- "type": "618"
+ "type": "622"
},
{
"case": "none",
@@ -15893,13 +16007,13 @@
"members": [
{
"name": "mode",
- "type": "617"
+ "type": "621"
}
],
"meta-type": "object"
},
{
- "name": "508",
+ "name": "512",
"members": [
{
"name": "filename",
@@ -15912,7 +16026,7 @@
{
"name": "preallocation",
"default": null,
- "type": "619"
+ "type": "623"
},
{
"name": "nocow",
@@ -15928,11 +16042,11 @@
"meta-type": "object"
},
{
- "name": "509",
+ "name": "513",
"members": [
{
"name": "location",
- "type": "289"
+ "type": "292"
},
{
"name": "size",
@@ -15941,13 +16055,13 @@
{
"name": "preallocation",
"default": null,
- "type": "619"
+ "type": "623"
}
],
"meta-type": "object"
},
{
- "name": "510",
+ "name": "514",
"members": [
{
"name": "key-secret",
@@ -15957,27 +16071,27 @@
{
"name": "cipher-alg",
"default": null,
- "type": "620"
+ "type": "624"
},
{
"name": "cipher-mode",
"default": null,
- "type": "621"
+ "type": "625"
},
{
"name": "ivgen-alg",
"default": null,
- "type": "622"
+ "type": "626"
},
{
"name": "ivgen-hash-alg",
"default": null,
- "type": "623"
+ "type": "627"
},
{
"name": "hash-alg",
"default": null,
- "type": "623"
+ "type": "627"
},
{
"name": "iter-time",
@@ -15986,7 +16100,7 @@
},
{
"name": "file",
- "type": "489"
+ "type": "492"
},
{
"name": "size",
@@ -15995,17 +16109,17 @@
{
"name": "preallocation",
"default": null,
- "type": "619"
+ "type": "623"
}
],
"meta-type": "object"
},
{
- "name": "511",
+ "name": "515",
"members": [
{
"name": "location",
- "type": "295"
+ "type": "298"
},
{
"name": "size",
@@ -16015,11 +16129,11 @@
"meta-type": "object"
},
{
- "name": "512",
+ "name": "516",
"members": [
{
"name": "file",
- "type": "489"
+ "type": "492"
},
{
"name": "size",
@@ -16034,11 +16148,11 @@
"meta-type": "object"
},
{
- "name": "513",
+ "name": "517",
"members": [
{
"name": "file",
- "type": "489"
+ "type": "492"
},
{
"name": "size",
@@ -16052,22 +16166,22 @@
{
"name": "encrypt",
"default": null,
- "type": "624"
+ "type": "628"
}
],
"meta-type": "object"
},
{
- "name": "514",
+ "name": "518",
"members": [
{
"name": "file",
- "type": "489"
+ "type": "492"
},
{
"name": "data-file",
"default": null,
- "type": "489"
+ "type": "492"
},
{
"name": "data-file-raw",
@@ -16086,7 +16200,7 @@
{
"name": "version",
"default": null,
- "type": "625"
+ "type": "629"
},
{
"name": "backing-file",
@@ -16096,12 +16210,12 @@
{
"name": "backing-fmt",
"default": null,
- "type": "276"
+ "type": "279"
},
{
"name": "encrypt",
"default": null,
- "type": "624"
+ "type": "628"
},
{
"name": "cluster-size",
@@ -16111,7 +16225,7 @@
{
"name": "preallocation",
"default": null,
- "type": "619"
+ "type": "623"
},
{
"name": "lazy-refcounts",
@@ -16126,17 +16240,17 @@
{
"name": "compression-type",
"default": null,
- "type": "626"
+ "type": "630"
}
],
"meta-type": "object"
},
{
- "name": "515",
+ "name": "519",
"members": [
{
"name": "file",
- "type": "489"
+ "type": "492"
},
{
"name": "size",
@@ -16150,7 +16264,7 @@
{
"name": "backing-fmt",
"default": null,
- "type": "276"
+ "type": "279"
},
{
"name": "cluster-size",
@@ -16166,11 +16280,11 @@
"meta-type": "object"
},
{
- "name": "516",
+ "name": "520",
"members": [
{
"name": "location",
- "type": "304"
+ "type": "307"
},
{
"name": "size",
@@ -16184,17 +16298,17 @@
{
"name": "encrypt",
"default": null,
- "type": "627"
+ "type": "631"
}
],
"meta-type": "object"
},
{
- "name": "517",
+ "name": "521",
"members": [
{
"name": "location",
- "type": "306"
+ "type": "309"
},
{
"name": "size",
@@ -16204,11 +16318,11 @@
"meta-type": "object"
},
{
- "name": "518",
+ "name": "522",
"members": [
{
"name": "file",
- "type": "489"
+ "type": "492"
},
{
"name": "size",
@@ -16217,17 +16331,17 @@
{
"name": "preallocation",
"default": null,
- "type": "619"
+ "type": "623"
}
],
"meta-type": "object"
},
{
- "name": "519",
+ "name": "523",
"members": [
{
"name": "file",
- "type": "489"
+ "type": "492"
},
{
"name": "size",
@@ -16246,7 +16360,7 @@
{
"name": "subformat",
"default": null,
- "type": "628"
+ "type": "632"
},
{
"name": "block-state-zero",
@@ -16257,11 +16371,11 @@
"meta-type": "object"
},
{
- "name": "520",
+ "name": "524",
"members": [
{
"name": "file",
- "type": "489"
+ "type": "492"
},
{
"name": "size",
@@ -16270,12 +16384,12 @@
{
"name": "extents",
"default": null,
- "type": "[489]"
+ "type": "[492]"
},
{
"name": "subformat",
"default": null,
- "type": "629"
+ "type": "633"
},
{
"name": "backing-file",
@@ -16285,7 +16399,7 @@
{
"name": "adapter-type",
"default": null,
- "type": "630"
+ "type": "634"
},
{
"name": "hwversion",
@@ -16306,11 +16420,11 @@
"meta-type": "object"
},
{
- "name": "521",
+ "name": "525",
"members": [
{
"name": "file",
- "type": "489"
+ "type": "492"
},
{
"name": "size",
@@ -16319,7 +16433,7 @@
{
"name": "subformat",
"default": null,
- "type": "631"
+ "type": "635"
},
{
"name": "force-size",
@@ -16330,11 +16444,11 @@
"meta-type": "object"
},
{
- "name": "522",
+ "name": "526",
"members": [
{
"name": "state",
- "type": "632"
+ "type": "636"
},
{
"name": "new-secret",
@@ -16365,12 +16479,12 @@
"meta-type": "object"
},
{
- "name": "523",
+ "name": "527",
"members": [
{
"name": "encrypt",
"default": null,
- "type": "633"
+ "type": "637"
}
],
"meta-type": "object"
@@ -16381,7 +16495,7 @@
"meta-type": "builtin"
},
{
- "name": "524",
+ "name": "528",
"members": [
{
"name": "inet"
@@ -16405,47 +16519,47 @@
]
},
{
- "name": "525",
+ "name": "529",
"members": [
{
"name": "data",
- "type": "506"
+ "type": "510"
}
],
"meta-type": "object"
},
{
- "name": "526",
+ "name": "530",
"members": [
{
"name": "data",
- "type": "555"
+ "type": "559"
}
],
"meta-type": "object"
},
{
- "name": "527",
+ "name": "531",
"members": [
{
"name": "data",
- "type": "556"
+ "type": "560"
}
],
"meta-type": "object"
},
{
- "name": "528",
+ "name": "532",
"members": [
{
"name": "data",
- "type": "544"
+ "type": "548"
}
],
"meta-type": "object"
},
{
- "name": "529",
+ "name": "533",
"members": [
{
"name": "off"
@@ -16465,7 +16579,7 @@
]
},
{
- "name": "530",
+ "name": "534",
"members": [
{
"name": "file"
@@ -16561,142 +16675,142 @@
]
},
{
- "name": "531",
+ "name": "535",
"members": [
{
"name": "data",
- "type": "634"
+ "type": "638"
}
],
"meta-type": "object"
},
{
- "name": "532",
+ "name": "536",
"members": [
{
"name": "data",
- "type": "635"
+ "type": "639"
}
],
"meta-type": "object"
},
{
- "name": "533",
+ "name": "537",
"members": [
{
"name": "data",
- "type": "636"
+ "type": "640"
}
],
"meta-type": "object"
},
{
- "name": "534",
+ "name": "538",
"members": [
{
"name": "data",
- "type": "637"
+ "type": "641"
}
],
"meta-type": "object"
},
{
- "name": "535",
+ "name": "539",
"members": [
{
"name": "data",
- "type": "638"
+ "type": "642"
}
],
"meta-type": "object"
},
{
- "name": "536",
+ "name": "540",
"members": [
{
"name": "data",
- "type": "639"
+ "type": "643"
}
],
"meta-type": "object"
},
{
- "name": "537",
+ "name": "541",
"members": [
{
"name": "data",
- "type": "640"
+ "type": "644"
}
],
"meta-type": "object"
},
{
- "name": "538",
+ "name": "542",
"members": [
{
"name": "data",
- "type": "641"
+ "type": "645"
}
],
"meta-type": "object"
},
{
- "name": "539",
+ "name": "543",
"members": [
{
"name": "data",
- "type": "642"
+ "type": "646"
}
],
"meta-type": "object"
},
{
- "name": "540",
+ "name": "544",
"members": [
{
"name": "data",
- "type": "643"
+ "type": "647"
}
],
"meta-type": "object"
},
{
- "name": "541",
+ "name": "545",
"members": [
{
"name": "data",
- "type": "644"
+ "type": "648"
}
],
"meta-type": "object"
},
{
- "name": "542",
+ "name": "546",
"members": [
{
"name": "data",
- "type": "645"
+ "type": "649"
}
],
"meta-type": "object"
},
{
- "name": "543",
+ "name": "547",
"members": [
{
"name": "data",
- "type": "646"
+ "type": "650"
}
],
"meta-type": "object"
},
{
- "name": "[544]",
- "element-type": "544",
+ "name": "[548]",
+ "element-type": "548",
"meta-type": "array"
},
{
- "name": "544",
+ "name": "548",
"members": [
{
"name": "str",
@@ -16706,27 +16820,27 @@
"meta-type": "object"
},
{
- "name": "545",
+ "name": "549",
"members": [
{
"name": "data",
- "type": "647"
+ "type": "651"
}
],
"meta-type": "object"
},
{
- "name": "546",
+ "name": "550",
"members": [
{
"name": "data",
- "type": "648"
+ "type": "652"
}
],
"meta-type": "object"
},
{
- "name": "547",
+ "name": "551",
"members": [
{
"name": "number"
@@ -16742,7 +16856,7 @@
]
},
{
- "name": "548",
+ "name": "552",
"members": [
{
"name": "data",
@@ -16752,17 +16866,17 @@
"meta-type": "object"
},
{
- "name": "549",
+ "name": "553",
"members": [
{
"name": "data",
- "type": "649"
+ "type": "653"
}
],
"meta-type": "object"
},
{
- "name": "550",
+ "name": "554",
"members": [
{
"name": "key"
@@ -16786,37 +16900,37 @@
]
},
{
- "name": "551",
+ "name": "555",
"members": [
{
"name": "data",
- "type": "650"
+ "type": "654"
}
],
"meta-type": "object"
},
{
- "name": "552",
+ "name": "556",
"members": [
{
"name": "data",
- "type": "651"
+ "type": "655"
}
],
"meta-type": "object"
},
{
- "name": "553",
+ "name": "557",
"members": [
{
"name": "data",
- "type": "652"
+ "type": "656"
}
],
"meta-type": "object"
},
{
- "name": "554",
+ "name": "558",
"members": [
{
"name": "lctrl-lalt"
@@ -16841,7 +16955,7 @@
"meta-type": "builtin"
},
{
- "name": "555",
+ "name": "559",
"members": [
{
"name": "path",
@@ -16861,7 +16975,7 @@
"meta-type": "object"
},
{
- "name": "556",
+ "name": "560",
"members": [
{
"name": "cid",
@@ -16875,12 +16989,12 @@
"meta-type": "object"
},
{
- "name": "[557]",
- "element-type": "557",
+ "name": "[561]",
+ "element-type": "561",
"meta-type": "array"
},
{
- "name": "557",
+ "name": "561",
"members": [
{
"name": "name",
@@ -16893,13 +17007,13 @@
{
"name": "transform",
"default": null,
- "type": "653"
+ "type": "657"
}
],
"meta-type": "object"
},
{
- "name": "558",
+ "name": "562",
"members": [
{
"name": "abort"
@@ -16958,17 +17072,17 @@
]
},
{
- "name": "559",
+ "name": "563",
"members": [
{
"name": "data",
- "type": "654"
+ "type": "658"
}
],
"meta-type": "object"
},
{
- "name": "560",
+ "name": "564",
"members": [
{
"name": "data",
@@ -16978,7 +17092,7 @@
"meta-type": "object"
},
{
- "name": "561",
+ "name": "565",
"members": [
{
"name": "data",
@@ -16988,7 +17102,7 @@
"meta-type": "object"
},
{
- "name": "562",
+ "name": "566",
"members": [
{
"name": "data",
@@ -16998,7 +17112,7 @@
"meta-type": "object"
},
{
- "name": "563",
+ "name": "567",
"members": [
{
"name": "data",
@@ -17008,7 +17122,7 @@
"meta-type": "object"
},
{
- "name": "564",
+ "name": "568",
"members": [
{
"name": "data",
@@ -17018,7 +17132,7 @@
"meta-type": "object"
},
{
- "name": "565",
+ "name": "569",
"members": [
{
"name": "data",
@@ -17028,7 +17142,7 @@
"meta-type": "object"
},
{
- "name": "566",
+ "name": "570",
"members": [
{
"name": "data",
@@ -17038,7 +17152,7 @@
"meta-type": "object"
},
{
- "name": "567",
+ "name": "571",
"members": [
{
"name": "data",
@@ -17048,7 +17162,7 @@
"meta-type": "object"
},
{
- "name": "568",
+ "name": "572",
"members": [
{
"name": "individual"
@@ -17064,7 +17178,7 @@
]
},
{
- "name": "569",
+ "name": "573",
"members": [
{
"name": "string"
@@ -17104,12 +17218,12 @@
]
},
{
- "name": "[570]",
- "element-type": "570",
+ "name": "[574]",
+ "element-type": "574",
"meta-type": "array"
},
{
- "name": "570",
+ "name": "574",
"members": [
{
"name": "name",
@@ -17124,12 +17238,12 @@
"meta-type": "object"
},
{
- "name": "[571]",
- "element-type": "571",
+ "name": "[575]",
+ "element-type": "575",
"meta-type": "array"
},
{
- "name": "571",
+ "name": "575",
"members": [
{
"name": "name",
@@ -17153,12 +17267,12 @@
"meta-type": "object"
},
{
- "name": "[572]",
- "element-type": "572",
+ "name": "[576]",
+ "element-type": "576",
"meta-type": "array"
},
{
- "name": "572",
+ "name": "576",
"members": [
{
"name": "case",
@@ -17172,12 +17286,12 @@
"meta-type": "object"
},
{
- "name": "[573]",
- "element-type": "573",
+ "name": "[577]",
+ "element-type": "577",
"meta-type": "array"
},
{
- "name": "573",
+ "name": "577",
"members": [
{
"name": "type",
@@ -17187,7 +17301,7 @@
"meta-type": "object"
},
{
- "name": "574",
+ "name": "578",
"members": [
{
"name": "deny"
@@ -17203,12 +17317,12 @@
]
},
{
- "name": "[575]",
- "element-type": "575",
+ "name": "[579]",
+ "element-type": "579",
"meta-type": "array"
},
{
- "name": "575",
+ "name": "579",
"members": [
{
"name": "match",
@@ -17216,18 +17330,18 @@
},
{
"name": "policy",
- "type": "574"
+ "type": "578"
},
{
"name": "format",
"default": null,
- "type": "655"
+ "type": "659"
}
],
"meta-type": "object"
},
{
- "name": "576",
+ "name": "580",
"members": [
{
"name": "all"
@@ -17247,7 +17361,7 @@
]
},
{
- "name": "577",
+ "name": "581",
"members": [
{
"name": "before"
@@ -17263,7 +17377,7 @@
]
},
{
- "name": "578",
+ "name": "582",
"members": [
{
"name": "ctrl-ctrl"
@@ -17295,7 +17409,7 @@
]
},
{
- "name": "579",
+ "name": "583",
"members": [
{
"name": "raw"
@@ -17311,7 +17425,7 @@
]
},
{
- "name": "580",
+ "name": "584",
"members": [
{
"name": "iops-total",
@@ -17412,7 +17526,7 @@
"meta-type": "object"
},
{
- "name": "581",
+ "name": "585",
"members": [
{
"name": "client"
@@ -17428,7 +17542,7 @@
]
},
{
- "name": "582",
+ "name": "586",
"members": [
{
"name": "uninitialized"
@@ -17456,7 +17570,7 @@
]
},
{
- "name": "583",
+ "name": "587",
"members": [
{
"name": "memory"
@@ -17480,7 +17594,7 @@
]
},
{
- "name": "584",
+ "name": "588",
"members": [
{
"name": "access-latency"
@@ -17512,7 +17626,7 @@
]
},
{
- "name": "585",
+ "name": "589",
"members": [
{
"name": "none"
@@ -17532,7 +17646,7 @@
]
},
{
- "name": "586",
+ "name": "590",
"members": [
{
"name": "none"
@@ -17552,7 +17666,7 @@
]
},
{
- "name": "587",
+ "name": "591",
"members": [
{
"name": "id",
@@ -17591,7 +17705,7 @@
"meta-type": "object"
},
{
- "name": "588",
+ "name": "592",
"members": [
{
"name": "id",
@@ -17614,7 +17728,7 @@
"meta-type": "object"
},
{
- "name": "589",
+ "name": "593",
"members": [
{
"name": "id",
@@ -17653,7 +17767,7 @@
"meta-type": "object"
},
{
- "name": "590",
+ "name": "594",
"members": [
{
"name": "id",
@@ -17680,7 +17794,7 @@
"meta-type": "object"
},
{
- "name": "591",
+ "name": "595",
"members": [
{
"name": "string"
@@ -17704,7 +17818,7 @@
]
},
{
- "name": "592",
+ "name": "596",
"members": [
{
"name": "desc",
@@ -17719,7 +17833,7 @@
"meta-type": "object"
},
{
- "name": "593",
+ "name": "597",
"members": [
{
"name": "device",
@@ -17743,27 +17857,27 @@
"meta-type": "object"
},
{
- "name": "594",
+ "name": "598",
"members": [
{
"name": "bus",
- "type": "656"
+ "type": "660"
},
{
"name": "devices",
"default": null,
- "type": "[472]"
+ "type": "[475]"
}
],
"meta-type": "object"
},
{
- "name": "[595]",
- "element-type": "595",
+ "name": "[599]",
+ "element-type": "599",
"meta-type": "array"
},
{
- "name": "595",
+ "name": "599",
"members": [
{
"name": "bar",
@@ -17795,11 +17909,14 @@
"meta-type": "object"
},
{
- "name": "596",
+ "name": "600",
"members": [
{
"type": "int"
},
+ {
+ "type": "bool"
+ },
{
"type": "[int]"
}
@@ -17807,7 +17924,7 @@
"meta-type": "alternate"
},
{
- "name": "597",
+ "name": "601",
"members": [
{
"name": "cumulative"
@@ -17835,7 +17952,7 @@
]
},
{
- "name": "598",
+ "name": "602",
"members": [
{
"name": "bytes"
@@ -17845,17 +17962,21 @@
},
{
"name": "cycles"
+ },
+ {
+ "name": "boolean"
}
],
"meta-type": "enum",
"values": [
"bytes",
"seconds",
- "cycles"
+ "cycles",
+ "boolean"
]
},
{
- "name": "599",
+ "name": "603",
"members": [
{
"name": "unknown"
@@ -17883,7 +18004,7 @@
]
},
{
- "name": "600",
+ "name": "604",
"members": [
{
"name": "qcow2"
@@ -17907,47 +18028,47 @@
]
},
{
- "name": "601",
+ "name": "605",
"members": [
{
"name": "data",
- "type": "657"
+ "type": "661"
}
],
"meta-type": "object"
},
{
- "name": "602",
+ "name": "606",
"members": [
{
"name": "data",
- "type": "658"
+ "type": "662"
}
],
"meta-type": "object"
},
{
- "name": "603",
+ "name": "607",
"members": [
{
"name": "data",
- "type": "659"
+ "type": "663"
}
],
"meta-type": "object"
},
{
- "name": "604",
+ "name": "608",
"members": [
{
"name": "data",
- "type": "660"
+ "type": "664"
}
],
"meta-type": "object"
},
{
- "name": "605",
+ "name": "609",
"members": [
{
"name": "l1_update"
@@ -18147,7 +18268,7 @@
]
},
{
- "name": "606",
+ "name": "610",
"members": [
{
"name": "read"
@@ -18179,7 +18300,7 @@
]
},
{
- "name": "607",
+ "name": "611",
"members": [
{
"name": "inet"
@@ -18191,12 +18312,12 @@
]
},
{
- "name": "608",
+ "name": "612",
"members": [
{
"name": "template",
"default": null,
- "type": "609"
+ "type": "613"
},
{
"name": "main-header",
@@ -18247,7 +18368,7 @@
"meta-type": "object"
},
{
- "name": "609",
+ "name": "613",
"members": [
{
"name": "none"
@@ -18271,7 +18392,7 @@
]
},
{
- "name": "610",
+ "name": "614",
"members": [
{
"name": "aes"
@@ -18287,7 +18408,7 @@
]
},
{
- "name": "611",
+ "name": "615",
"members": [
{
"name": "key-secret",
@@ -18298,7 +18419,7 @@
"meta-type": "object"
},
{
- "name": "612",
+ "name": "616",
"members": [
{
"name": "key-secret",
@@ -18309,7 +18430,7 @@
"meta-type": "object"
},
{
- "name": "613",
+ "name": "617",
"members": [
{
"name": "aes"
@@ -18321,7 +18442,7 @@
]
},
{
- "name": "614",
+ "name": "618",
"members": [
{
"name": "luks"
@@ -18337,7 +18458,7 @@
]
},
{
- "name": "615",
+ "name": "619",
"members": [
{
"name": "key-secret",
@@ -18347,7 +18468,7 @@
"meta-type": "object"
},
{
- "name": "616",
+ "name": "620",
"members": [
{
"name": "key-secret",
@@ -18357,7 +18478,7 @@
"meta-type": "object"
},
{
- "name": "617",
+ "name": "621",
"members": [
{
"name": "none"
@@ -18377,11 +18498,11 @@
]
},
{
- "name": "618",
+ "name": "622",
"members": [
{
"name": "type",
- "type": "661"
+ "type": "665"
},
{
"name": "hash",
@@ -18391,7 +18512,7 @@
"meta-type": "object"
},
{
- "name": "619",
+ "name": "623",
"members": [
{
"name": "off"
@@ -18415,7 +18536,7 @@
]
},
{
- "name": "620",
+ "name": "624",
"members": [
{
"name": "aes-128"
@@ -18471,7 +18592,7 @@
]
},
{
- "name": "621",
+ "name": "625",
"members": [
{
"name": "ecb"
@@ -18495,7 +18616,7 @@
]
},
{
- "name": "622",
+ "name": "626",
"members": [
{
"name": "plain"
@@ -18515,7 +18636,7 @@
]
},
{
- "name": "623",
+ "name": "627",
"members": [
{
"name": "md5"
@@ -18551,28 +18672,28 @@
]
},
{
- "name": "624",
+ "name": "628",
"tag": "format",
"variants": [
{
"case": "qcow",
- "type": "611"
+ "type": "615"
},
{
"case": "luks",
- "type": "663"
+ "type": "667"
}
],
"members": [
{
"name": "format",
- "type": "662"
+ "type": "666"
}
],
"meta-type": "object"
},
{
- "name": "625",
+ "name": "629",
"members": [
{
"name": "v2"
@@ -18588,7 +18709,7 @@
]
},
{
- "name": "626",
+ "name": "630",
"members": [
{
"name": "zlib"
@@ -18604,28 +18725,28 @@
]
},
{
- "name": "627",
+ "name": "631",
"tag": "format",
"variants": [
{
"case": "luks",
- "type": "664"
+ "type": "668"
},
{
"case": "luks2",
- "type": "665"
+ "type": "669"
}
],
"members": [
{
"name": "format",
- "type": "614"
+ "type": "618"
}
],
"meta-type": "object"
},
{
- "name": "628",
+ "name": "632",
"members": [
{
"name": "dynamic"
@@ -18641,7 +18762,7 @@
]
},
{
- "name": "629",
+ "name": "633",
"members": [
{
"name": "monolithicSparse"
@@ -18669,7 +18790,7 @@
]
},
{
- "name": "630",
+ "name": "634",
"members": [
{
"name": "ide"
@@ -18693,7 +18814,7 @@
]
},
{
- "name": "631",
+ "name": "635",
"members": [
{
"name": "dynamic"
@@ -18709,7 +18830,7 @@
]
},
{
- "name": "632",
+ "name": "636",
"members": [
{
"name": "active"
@@ -18725,12 +18846,12 @@
]
},
{
- "name": "633",
+ "name": "637",
"tag": "format",
"variants": [
{
"case": "luks",
- "type": "666"
+ "type": "670"
},
{
"case": "qcow",
@@ -18740,13 +18861,13 @@
"members": [
{
"name": "format",
- "type": "662"
+ "type": "666"
}
],
"meta-type": "object"
},
{
- "name": "634",
+ "name": "638",
"members": [
{
"name": "logfile",
@@ -18776,7 +18897,7 @@
"meta-type": "object"
},
{
- "name": "635",
+ "name": "639",
"members": [
{
"name": "logfile",
@@ -18796,7 +18917,7 @@
"meta-type": "object"
},
{
- "name": "636",
+ "name": "640",
"members": [
{
"name": "logfile",
@@ -18810,7 +18931,7 @@
},
{
"name": "addr",
- "type": "316"
+ "type": "319"
},
{
"name": "tls-creds",
@@ -18861,7 +18982,7 @@
"meta-type": "object"
},
{
- "name": "637",
+ "name": "641",
"members": [
{
"name": "logfile",
@@ -18875,18 +18996,18 @@
},
{
"name": "remote",
- "type": "316"
+ "type": "319"
},
{
"name": "local",
"default": null,
- "type": "316"
+ "type": "319"
}
],
"meta-type": "object"
},
{
- "name": "638",
+ "name": "642",
"members": [
{
"name": "logfile",
@@ -18902,7 +19023,7 @@
"meta-type": "object"
},
{
- "name": "639",
+ "name": "643",
"members": [
{
"name": "logfile",
@@ -18922,7 +19043,7 @@
"meta-type": "object"
},
{
- "name": "640",
+ "name": "644",
"members": [
{
"name": "logfile",
@@ -18943,7 +19064,7 @@
"meta-type": "object"
},
{
- "name": "641",
+ "name": "645",
"members": [
{
"name": "logfile",
@@ -18963,7 +19084,7 @@
"meta-type": "object"
},
{
- "name": "642",
+ "name": "646",
"members": [
{
"name": "logfile",
@@ -18983,7 +19104,7 @@
"meta-type": "object"
},
{
- "name": "643",
+ "name": "647",
"members": [
{
"name": "logfile",
@@ -19009,7 +19130,7 @@
"meta-type": "object"
},
{
- "name": "644",
+ "name": "648",
"members": [
{
"name": "logfile",
@@ -19029,7 +19150,7 @@
"meta-type": "object"
},
{
- "name": "645",
+ "name": "649",
"members": [
{
"name": "logfile",
@@ -19065,7 +19186,7 @@
"meta-type": "object"
},
{
- "name": "646",
+ "name": "650",
"members": [
{
"name": "logfile",
@@ -19086,7 +19207,7 @@
"meta-type": "object"
},
{
- "name": "647",
+ "name": "651",
"members": [
{
"name": "path",
@@ -19102,7 +19223,7 @@
"meta-type": "object"
},
{
- "name": "648",
+ "name": "652",
"members": [
{
"name": "chardev",
@@ -19112,7 +19233,7 @@
"meta-type": "object"
},
{
- "name": "649",
+ "name": "653",
"members": [
{
"name": "unmapped"
@@ -19720,11 +19841,11 @@
]
},
{
- "name": "650",
+ "name": "654",
"members": [
{
"name": "key",
- "type": "365"
+ "type": "368"
},
{
"name": "down",
@@ -19734,11 +19855,11 @@
"meta-type": "object"
},
{
- "name": "651",
+ "name": "655",
"members": [
{
"name": "button",
- "type": "667"
+ "type": "671"
},
{
"name": "down",
@@ -19748,11 +19869,11 @@
"meta-type": "object"
},
{
- "name": "652",
+ "name": "656",
"members": [
{
"name": "axis",
- "type": "668"
+ "type": "672"
},
{
"name": "value",
@@ -19762,7 +19883,7 @@
"meta-type": "object"
},
{
- "name": "653",
+ "name": "657",
"members": [
{
"name": "persistent",
@@ -19773,13 +19894,13 @@
"meta-type": "object"
},
{
- "name": "654",
+ "name": "658",
"members": [
],
"meta-type": "object"
},
{
- "name": "655",
+ "name": "659",
"members": [
{
"name": "exact"
@@ -19795,7 +19916,7 @@
]
},
{
- "name": "656",
+ "name": "660",
"members": [
{
"name": "number",
@@ -19811,21 +19932,21 @@
},
{
"name": "io_range",
- "type": "669"
+ "type": "673"
},
{
"name": "memory_range",
- "type": "669"
+ "type": "673"
},
{
"name": "prefetchable_range",
- "type": "669"
+ "type": "673"
}
],
"meta-type": "object"
},
{
- "name": "657",
+ "name": "661",
"members": [
{
"name": "compat",
@@ -19863,22 +19984,22 @@
{
"name": "encrypt",
"default": null,
- "type": "670"
+ "type": "674"
},
{
"name": "bitmaps",
"default": null,
- "type": "[671]"
+ "type": "[675]"
},
{
"name": "compression-type",
- "type": "626"
+ "type": "630"
}
],
"meta-type": "object"
},
{
- "name": "658",
+ "name": "662",
"members": [
{
"name": "create-type",
@@ -19894,34 +20015,34 @@
},
{
"name": "extents",
- "type": "[269]"
+ "type": "[272]"
}
],
"meta-type": "object"
},
{
- "name": "659",
+ "name": "663",
"members": [
{
"name": "cipher-alg",
- "type": "620"
+ "type": "624"
},
{
"name": "cipher-mode",
- "type": "621"
+ "type": "625"
},
{
"name": "ivgen-alg",
- "type": "622"
+ "type": "626"
},
{
"name": "ivgen-hash-alg",
"default": null,
- "type": "623"
+ "type": "627"
},
{
"name": "hash-alg",
- "type": "623"
+ "type": "627"
},
{
"name": "payload-offset",
@@ -19937,24 +20058,24 @@
},
{
"name": "slots",
- "type": "[672]"
+ "type": "[676]"
}
],
"meta-type": "object"
},
{
- "name": "660",
+ "name": "664",
"members": [
{
"name": "encryption-format",
"default": null,
- "type": "614"
+ "type": "618"
}
],
"meta-type": "object"
},
{
- "name": "661",
+ "name": "665",
"members": [
{
"name": "md5"
@@ -19974,7 +20095,7 @@
]
},
{
- "name": "662",
+ "name": "666",
"members": [
{
"name": "qcow"
@@ -19990,7 +20111,7 @@
]
},
{
- "name": "663",
+ "name": "667",
"members": [
{
"name": "key-secret",
@@ -20000,27 +20121,27 @@
{
"name": "cipher-alg",
"default": null,
- "type": "620"
+ "type": "624"
},
{
"name": "cipher-mode",
"default": null,
- "type": "621"
+ "type": "625"
},
{
"name": "ivgen-alg",
"default": null,
- "type": "622"
+ "type": "626"
},
{
"name": "ivgen-hash-alg",
"default": null,
- "type": "623"
+ "type": "627"
},
{
"name": "hash-alg",
"default": null,
- "type": "623"
+ "type": "627"
},
{
"name": "iter-time",
@@ -20031,7 +20152,7 @@
"meta-type": "object"
},
{
- "name": "664",
+ "name": "668",
"members": [
{
"name": "key-secret",
@@ -20040,13 +20161,13 @@
{
"name": "cipher-alg",
"default": null,
- "type": "620"
+ "type": "624"
}
],
"meta-type": "object"
},
{
- "name": "665",
+ "name": "669",
"members": [
{
"name": "key-secret",
@@ -20055,17 +20176,17 @@
{
"name": "cipher-alg",
"default": null,
- "type": "620"
+ "type": "624"
}
],
"meta-type": "object"
},
{
- "name": "666",
+ "name": "670",
"members": [
{
"name": "state",
- "type": "632"
+ "type": "636"
},
{
"name": "new-secret",
@@ -20096,7 +20217,7 @@
"meta-type": "object"
},
{
- "name": "667",
+ "name": "671",
"members": [
{
"name": "left"
@@ -20140,7 +20261,7 @@
]
},
{
- "name": "668",
+ "name": "672",
"members": [
{
"name": "x"
@@ -20156,7 +20277,7 @@
]
},
{
- "name": "669",
+ "name": "673",
"members": [
{
"name": "base",
@@ -20170,12 +20291,12 @@
"meta-type": "object"
},
{
- "name": "670",
+ "name": "674",
"tag": "format",
"variants": [
{
"case": "luks",
- "type": "659"
+ "type": "663"
},
{
"case": "aes",
@@ -20185,18 +20306,18 @@
"members": [
{
"name": "format",
- "type": "610"
+ "type": "614"
}
],
"meta-type": "object"
},
{
- "name": "[671]",
- "element-type": "671",
+ "name": "[675]",
+ "element-type": "675",
"meta-type": "array"
},
{
- "name": "671",
+ "name": "675",
"members": [
{
"name": "name",
@@ -20208,23 +20329,23 @@
},
{
"name": "flags",
- "type": "[673]"
+ "type": "[677]"
}
],
"meta-type": "object"
},
{
- "name": "[269]",
- "element-type": "269",
+ "name": "[272]",
+ "element-type": "272",
"meta-type": "array"
},
{
- "name": "[672]",
- "element-type": "672",
+ "name": "[676]",
+ "element-type": "676",
"meta-type": "array"
},
{
- "name": "672",
+ "name": "676",
"members": [
{
"name": "active",
@@ -20248,12 +20369,12 @@
"meta-type": "object"
},
{
- "name": "[673]",
- "element-type": "673",
+ "name": "[677]",
+ "element-type": "677",
"meta-type": "array"
},
{
- "name": "673",
+ "name": "677",
"members": [
{
"name": "in-use"
@@ -20528,6 +20649,15 @@
{
"name": "snapshot-save"
},
+ {
+ "name": "query-vcpu-dirty-limit"
+ },
+ {
+ "name": "cancel-vcpu-dirty-limit"
+ },
+ {
+ "name": "set-vcpu-dirty-limit"
+ },
{
"name": "query-dirty-rate"
},
@@ -24817,6 +24947,12 @@
"name": "max_io_size",
"type": "uint64"
},
+ {
+ "default-value": false,
+ "name": "quirk_mode_page_vendor_specific_apple",
+ "description": "on/off",
+ "type": "bool"
+ },
{
"default-value": 0,
"name": "opt_io_size",
@@ -33848,6 +33984,10 @@
{
"state": false,
"capability": "zero-copy-send"
+ },
+ {
+ "state": false,
+ "capability": "postcopy-preempt"
}
],
"id": "libvirt-49"
diff --git a/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml
index 2b2f1aef52..2e30fc5f2e 100644
--- a/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml
@@ -246,7 +246,7 @@
<version>7000050</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100244</microcodeVersion>
- <package>v7.0.0-2187-g2a8835cb45</package>
+ <package>v7.0.0-2780-g5288bee45f</package>
<arch>x86_64</arch>
<hostCPU type='kvm' model='base' migratability='yes'>
<property name='vmx-entry-load-rtit-ctl' type='boolean' value='false'/>
--
2.36.1
2
1
22 Jul '22
And while at it, make the code 5 lines shorter.
Michal Prívozník (2):
qemu_hotplug: Close FDs in QEMU on failed chardev hotplug
qemu_hotplug: Create chardev files before attempting to relabel them
src/qemu/qemu_hotplug.c | 23 +++++++++--------------
1 file changed, 9 insertions(+), 14 deletions(-)
--
2.35.1
2
4
[PATCH] qemu_migration: Acquire correct job in qemuMigrationSrcIsAllowed
by Martin Kletzander 22 Jul '22
by Martin Kletzander 22 Jul '22
22 Jul '22
Commit 62627524607f added the acquiring of a job, but it is not always
VIR_ASYNC_JOB_MIGRATION_OUT, so the code fails when doing save or anything else.
Correct the async job by passing it from the caller as another parameter.
Signed-off-by: Martin Kletzander <mkletzan(a)redhat.com>
---
This will hopefully fix the integration tests that failed this morning:
https://gitlab.com/libvirt/libvirt/-/pipelines/594066714
src/qemu/qemu_driver.c | 8 ++++----
src/qemu/qemu_migration.c | 7 ++++---
src/qemu/qemu_migration.h | 1 +
src/qemu/qemu_snapshot.c | 4 ++--
4 files changed, 11 insertions(+), 9 deletions(-)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 75c7a8a6b225..9013e6fb8d9a 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -2651,13 +2651,13 @@ qemuDomainSaveInternal(virQEMUDriver *driver,
virQEMUSaveData *data = NULL;
g_autoptr(qemuDomainSaveCookie) cookie = NULL;
- if (!qemuMigrationSrcIsAllowed(driver, vm, false, 0))
- goto cleanup;
-
if (qemuDomainObjBeginAsyncJob(driver, vm, VIR_ASYNC_JOB_SAVE,
VIR_DOMAIN_JOB_OPERATION_SAVE, flags) < 0)
goto cleanup;
+ if (!qemuMigrationSrcIsAllowed(driver, vm, false, VIR_ASYNC_JOB_SAVE, 0))
+ goto cleanup;
+
if (!virDomainObjIsActive(vm)) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
_("guest unexpectedly quit"));
@@ -3177,7 +3177,7 @@ doCoreDump(virQEMUDriver *driver,
goto cleanup;
}
- if (!qemuMigrationSrcIsAllowed(driver, vm, false, 0))
+ if (!qemuMigrationSrcIsAllowed(driver, vm, false, VIR_ASYNC_JOB_DUMP, 0))
goto cleanup;
if (qemuMigrationSrcToFile(driver, vm, fd, compressor,
diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
index 84befe7d39e7..20dc91f1cedd 100644
--- a/src/qemu/qemu_migration.c
+++ b/src/qemu/qemu_migration.c
@@ -1452,6 +1452,7 @@ bool
qemuMigrationSrcIsAllowed(virQEMUDriver *driver,
virDomainObj *vm,
bool remote,
+ int asyncJob,
unsigned int flags)
{
qemuDomainObjPrivate *priv = vm->privateData;
@@ -1483,7 +1484,7 @@ qemuMigrationSrcIsAllowed(virQEMUDriver *driver,
g_auto(GStrv) blockers = NULL;
if (qemuDomainGetMigrationBlockers(driver, vm,
- VIR_ASYNC_JOB_MIGRATION_OUT,
+ asyncJob,
&blockers) < 0) {
return false;
}
@@ -2637,7 +2638,7 @@ qemuMigrationSrcBeginPhase(virQEMUDriver *driver,
qemuMigrationJobStartPhase(vm, QEMU_MIGRATION_PHASE_BEGIN3) < 0)
return NULL;
- if (!qemuMigrationSrcIsAllowed(driver, vm, true, flags))
+ if (!qemuMigrationSrcIsAllowed(driver, vm, true, priv->job.asyncJob, flags))
return NULL;
if (!(flags & (VIR_MIGRATE_UNSAFE | VIR_MIGRATE_OFFLINE)) &&
@@ -6039,7 +6040,7 @@ qemuMigrationSrcPerformJob(virQEMUDriver *driver,
if (!(flags & VIR_MIGRATE_OFFLINE) && virDomainObjCheckActive(vm) < 0)
goto endjob;
- if (!qemuMigrationSrcIsAllowed(driver, vm, true, flags))
+ if (!qemuMigrationSrcIsAllowed(driver, vm, true, VIR_ASYNC_JOB_MIGRATION_OUT, flags))
goto endjob;
if (!(flags & (VIR_MIGRATE_UNSAFE | VIR_MIGRATE_OFFLINE)) &&
diff --git a/src/qemu/qemu_migration.h b/src/qemu/qemu_migration.h
index 65c29d574405..a39f65165988 100644
--- a/src/qemu/qemu_migration.h
+++ b/src/qemu/qemu_migration.h
@@ -229,6 +229,7 @@ bool
qemuMigrationSrcIsAllowed(virQEMUDriver *driver,
virDomainObj *vm,
bool remote,
+ int asyncJob,
unsigned int flags);
int
diff --git a/src/qemu/qemu_snapshot.c b/src/qemu/qemu_snapshot.c
index 833f880252af..0733d44faac4 100644
--- a/src/qemu/qemu_snapshot.c
+++ b/src/qemu/qemu_snapshot.c
@@ -291,7 +291,7 @@ qemuSnapshotCreateActiveInternal(virQEMUDriver *driver,
virDomainSnapshotDef *snapdef = virDomainSnapshotObjGetDef(snap);
int ret = -1;
- if (!qemuMigrationSrcIsAllowed(driver, vm, false, 0))
+ if (!qemuMigrationSrcIsAllowed(driver, vm, false, VIR_ASYNC_JOB_SNAPSHOT, 0))
goto cleanup;
if (virDomainObjGetState(vm, NULL) == VIR_DOMAIN_RUNNING) {
@@ -1422,7 +1422,7 @@ qemuSnapshotCreateActiveExternal(virQEMUDriver *driver,
/* do the memory snapshot if necessary */
if (memory) {
/* check if migration is possible */
- if (!qemuMigrationSrcIsAllowed(driver, vm, false, 0))
+ if (!qemuMigrationSrcIsAllowed(driver, vm, false, VIR_ASYNC_JOB_SNAPSHOT, 0))
goto cleanup;
qemuDomainJobSetStatsType(priv->job.current,
--
2.35.1
2
1
21 Jul '22
This series uses qemuDomainObjInitJob() as virDomainObjInitJob() in all
drivers that use virDomainObjJob structure.
Kristina Hanicova (4):
qemu & hypervisor: move qemuDomainObjInitJob() into hypervisor
libxl: use virDomainObjInitJob()
LXC: use virDomainObjInitJob()
CH: use virDomainObjInitJob()
src/ch/ch_domain.c | 13 +------------
src/hypervisor/domain_job.c | 25 +++++++++++++++++++++++++
src/hypervisor/domain_job.h | 4 ++++
src/libvirt_private.syms | 1 +
src/libxl/libxl_domain.c | 17 +++--------------
src/lxc/lxc_domain.c | 13 +------------
src/qemu/qemu_domain.c | 2 +-
src/qemu/qemu_domainjob.c | 26 --------------------------
src/qemu/qemu_domainjob.h | 4 ----
9 files changed, 36 insertions(+), 69 deletions(-)
--
2.35.3
2
5
21 Jul '22
diff to v1:
* dropped 1 wrong commit (thanks Daniel)
* improved setting of the variable (suggested by Peter, Michal, Martin)
* extended the switch to include all cases instead of simple if to be
future proof (suggested by Peter)
v1:
https://listman.redhat.com/archives/libvir-list/2022-July/232991.html
Kristina Hanicova (8):
domain_capabilities: use early return in
virDomainCapsFeatureSEVFormat()
domain_capabilities: reformat virDomainCapsFeatureSEVFormat()
domain_capabilities: reformat virDomainCapsCPUCustomFormat()
domain_conf: remove breaks after return in
virDomainChrSourceDefIsEqual()
domain_conf: extend switch with if in virDomainChrDefFree()
domain_conf: use early return in virDomainObjAssignDef()
domain_conf: rewrite conditions in virDomainObjWaitUntil()
domain_conf: rewrite variable setting
src/conf/domain_capabilities.c | 37 ++++++++---------
src/conf/domain_conf.c | 76 +++++++++++++++++-----------------
2 files changed, 55 insertions(+), 58 deletions(-)
--
2.35.3
2
17
[libvirt PATCH] qemu_migration: Use EnterMonitorAsync in qemuDomainGetMigrationBlockers
by Jiri Denemark 21 Jul '22
by Jiri Denemark 21 Jul '22
21 Jul '22
The code is run with an async job and thus needs to make sure a nested
job is acquired before entering the monitor.
While touching the code in qemuMigrationSrcIsAllowed I also fixed the
grammar which was accidentally broken by v8.5.0-140-g2103807e33.
Signed-off-by: Jiri Denemark <jdenemar(a)redhat.com>
---
src/qemu/qemu_migration.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
index 5d1e5f987b..d83db3a824 100644
--- a/src/qemu/qemu_migration.c
+++ b/src/qemu/qemu_migration.c
@@ -1418,12 +1418,15 @@ qemuMigrationSrcIsAllowedHostdev(const virDomainDef *def)
static int
qemuDomainGetMigrationBlockers(virQEMUDriver *driver,
virDomainObj *vm,
+ int asyncJob,
char ***blockers)
{
qemuDomainObjPrivate *priv = vm->privateData;
int rc;
- qemuDomainObjEnterMonitor(driver, vm);
+ if (qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) < 0)
+ return -1;
+
rc = qemuMonitorGetMigrationBlockers(priv->mon, blockers);
qemuDomainObjExitMonitor(vm);
@@ -1458,10 +1461,12 @@ qemuMigrationSrcIsAllowed(virQEMUDriver *driver,
bool blockedReasonsCap = virQEMUCapsGet(priv->qemuCaps,
QEMU_CAPS_MIGRATION_BLOCKED_REASONS);
- /* Ask qemu if it have a migration blocker */
+ /* Ask qemu if it has a migration blocker */
if (blockedReasonsCap) {
g_auto(GStrv) blockers = NULL;
- if (qemuDomainGetMigrationBlockers(driver, vm, &blockers) < 0)
+ if (qemuDomainGetMigrationBlockers(driver, vm,
+ VIR_ASYNC_JOB_MIGRATION_OUT,
+ &blockers) < 0)
return false;
if (blockers && blockers[0]) {
--
2.35.1
2
1
diff to v1:
* split one commit into two
* rewrite the functions in the second one to use the
switch (suggested by Daniel, thanks)
v1: https://listman.redhat.com/archives/libvir-list/2022-July/232989.html
Kristina Hanicova (2):
domain_conf: remove else after return / goto
domain_conf: rewrite if else functions to switch
src/conf/domain_conf.c | 77 +++++++++++++++++++++++++++---------------
1 file changed, 49 insertions(+), 28 deletions(-)
--
2.35.3
2
4
I'm trying to fix SGX patches I reviewed earlier [1] and these would
simplify my attempts.
1: https://listman.redhat.com/archives/libvir-list/2022-July/232679.html
Michal Prívozník (2):
qemu_cgroup: Avoid ternary operator when setting @deviceACL
qemu_cgroup: Introduce qemuCgroupAllowDevicesPaths()
src/qemu/qemu_cgroup.c | 54 +++++++++++++++++++++++++++++-------------
1 file changed, 37 insertions(+), 17 deletions(-)
--
2.35.1
3
5
Five minutes after pushing eperezma's patches that query QEMU for
migration blockers, I realized that the query would be called during
"offline migration" (when there is no QEMU process running). So the
1st patch moves the query down so it will only be called during live
migration.
The 2nd patch takes advantage of this new query to skip the hardcoded
check the makes any vfio assigned device a migration blocker. Once
QEMU and the kernel get migration of (some) vfio devices sorted out,
libvirt will allow migration of domains with those devices.
Laine Stump (2):
qemu: don't try to query QEMU about migration blockers during offline
migration
qemu: skip hardcoded hostdev migration check if QEMU can do it for us
src/qemu/qemu_migration.c | 45 ++++++++++++++++++++++-----------------
1 file changed, 26 insertions(+), 19 deletions(-)
--
2.35.3
2
3
21 Jul '22
*** BLURB HERE ***
Kristina Hanicova (9):
domain_capabilities: use early return in
virDomainCapsFeatureSEVFormat()
domain_capabilities: reformat virDomainCapsFeatureSEVFormat()
domain_capabilities: reformat virDomainCapsCPUCustomFormat()
domain_conf: remove breaks after return in
virDomainChrSourceDefIsEqual()
domain_conf: replace switch with if in virDomainChrDefFree()
domain_conf: rewrite virDomainSoundCodecDefFree()
domain_conf: use early return in virDomainObjAssignDef()
domain_conf: rewrite conditions in virDomainObjWaitUntil()
domain_conf: rewrite variable setting to ternary operator
src/conf/domain_capabilities.c | 37 ++++++++-------
src/conf/domain_conf.c | 82 +++++++++++++++-------------------
2 files changed, 53 insertions(+), 66 deletions(-)
--
2.35.3
5
16
There are some hardcoded migration blockers in libvirt, like having a net
vhost-vdpa device. While it's true that they cannot be migrated at the moment,
there are plans to be able to migrate them soon.
They'll put a migration blockers in the cases where you cannot migrate them.
Ask qemu about then before rejecting the migration. In case the question is not
possible, assume they're not migratable.
v4:
* Do not override qemuDomainGetMigrationBlockers error calling again
virReportError.
* Replace ", " with "; " in blockers separators.
v3:
* Return ok in qemuMonitorJSONGetMigrationBlockers is there are no
blockers.
* Fix indentation
* Report all blockers instead of only the first.
* Squash some patches
* Move note to function doc.
* s/QEMU_MIGRATION_BLOCKED_REASONS/QEMU_CAPS_MIGRATION_BLOCKED_REASONS/
v2:
* Ask qemu if it has some pending blockers before try the migration
Eugenio Pérez (3):
qemu_monitor: add support for get qemu migration blockers
qemu_migration: get migration blockers before hardcoded checks
qemu_migration: Do not forbid vDPA devices if can query blockers
Jonathon Jongsma (1):
qemu: introduce capability QEMU_CAPS_MIGRATION_BLOCKED_REASONS
src/qemu/qemu_capabilities.c | 2 +
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_migration.c | 34 +++++++++++++-
src/qemu/qemu_monitor.c | 11 +++++
src/qemu/qemu_monitor.h | 4 ++
src/qemu/qemu_monitor_json.c | 44 +++++++++++++++++++
src/qemu/qemu_monitor_json.h | 3 ++
.../caps_6.0.0.aarch64.xml | 1 +
.../qemucapabilitiesdata/caps_6.0.0.s390x.xml | 1 +
.../caps_6.0.0.x86_64.xml | 1 +
.../caps_6.1.0.x86_64.xml | 1 +
.../caps_6.2.0.aarch64.xml | 1 +
.../qemucapabilitiesdata/caps_6.2.0.ppc64.xml | 1 +
.../caps_6.2.0.x86_64.xml | 1 +
.../caps_7.0.0.aarch64.xml | 1 +
.../qemucapabilitiesdata/caps_7.0.0.ppc64.xml | 1 +
.../caps_7.0.0.x86_64.xml | 1 +
.../caps_7.1.0.x86_64.xml | 1 +
18 files changed, 109 insertions(+), 1 deletion(-)
--
2.31.1
3
9
There are some hardcoded migration blockers in libvirt, like having a net
vhost-vdpa device. While it's true that they cannot be migrated at the moment,
there are plans to be able to migrate them soon.
They'll put a migration blockers in the cases where you cannot migrate them.
Ask qemu about then before rejecting the migration. In case the question is not
possible, assume they're not migratable.
v3:
* Return ok in qemuMonitorJSONGetMigrationBlockers is there are no
blockers.
* Fix indentation
* Report all blockers instead of only the first.
* Squash some patches
* Move note to function doc.
* s/QEMU_MIGRATION_BLOCKED_REASONS/QEMU_CAPS_MIGRATION_BLOCKED_REASONS/
v2:
* Ask qemu if it has some pending blockers before try the migration
Eugenio Pérez (3):
qemu_monitor: add support for get qemu migration blockers
qemu_migration: get migration blockers before hardcoded checks
qemu_migration: Do not forbid vDPA devices if can query blockers
Jonathon Jongsma (1):
qemu: introduce capability QEMU_CAPS_MIGRATION_BLOCKED_REASONS
src/qemu/qemu_capabilities.c | 2 +
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_migration.c | 38 +++++++++++++++-
src/qemu/qemu_monitor.c | 11 +++++
src/qemu/qemu_monitor.h | 4 ++
src/qemu/qemu_monitor_json.c | 43 +++++++++++++++++++
src/qemu/qemu_monitor_json.h | 3 ++
.../caps_6.0.0.aarch64.xml | 1 +
.../qemucapabilitiesdata/caps_6.0.0.s390x.xml | 1 +
.../caps_6.0.0.x86_64.xml | 1 +
.../caps_6.1.0.x86_64.xml | 1 +
.../caps_6.2.0.aarch64.xml | 1 +
.../qemucapabilitiesdata/caps_6.2.0.ppc64.xml | 1 +
.../caps_6.2.0.x86_64.xml | 1 +
.../caps_7.0.0.aarch64.xml | 1 +
.../qemucapabilitiesdata/caps_7.0.0.ppc64.xml | 1 +
.../caps_7.0.0.x86_64.xml | 1 +
.../caps_7.1.0.x86_64.xml | 1 +
18 files changed, 112 insertions(+), 1 deletion(-)
--
2.31.1
3
13
Persistent Failed to attach device following transient Failed to read product/vendor ID
by Pighin, Anthony (Nokia - CA/Ottawa) 20 Jul '22
by Pighin, Anthony (Nokia - CA/Ottawa) 20 Jul '22
20 Jul '22
I'm attempting to solve the issue reported here:
https://gitlab.com/libvirt/libvirt/-/issues/345
Hoping the originator of virHostdevDeleteMissingPCIDevices() will be able to comment, as I am still trying to reproduce the issue with additional debug in place.
diff --git a/src/hypervisor/virhostdev.c b/src/hypervisor/virhostdev.c
index c0ce867596..d43354963e 100644
--- a/src/hypervisor/virhostdev.c
+++ b/src/hypervisor/virhostdev.c
@@ -1101,11 +1101,11 @@ virHostdevReAttachPCIDevices(virHostdevManager *mgr,
VIR_ERROR(_("Failed to allocate PCI device list: %s"),
virGetLastErrorMessage());
virResetLastError();
- return;
}
-
- virHostdevReAttachPCIDevicesImpl(mgr, drv_name, dom_name, pcidevs,
- hostdevs, nhostdevs);
+ else {
+ virHostdevReAttachPCIDevicesImpl(mgr, drv_name, dom_name, pcidevs,
+ hostdevs, nhostdevs);
+ }
/* Handle the case where PCI devices from the host went missing
* during the domain lifetime */
2
2
Qemu support hotplug cdrom device with usb or scsi bus,
just unblock these devices in qemuDomainAttachDeviceDiskLiveInternal
and qemuDomainDetachPrepDisk.
Fixes: #261
Signed-off-by: minglei.liu <minglei.liu(a)smartx.com>
---
src/qemu/qemu_hotplug.c | 13 +++-
tests/qemuhotplugtest.c | 18 ++++++
.../qemuhotplug-cdrom-scsi.xml | 6 ++
.../qemuhotplug-cdrom-usb.xml | 6 ++
.../qemuhotplug-base-live+cdrom-scsi.xml | 60 +++++++++++++++++++
.../qemuhotplug-base-live+cdrom-usb.xml | 60 +++++++++++++++++++
6 files changed, 160 insertions(+), 3 deletions(-)
create mode 100644 tests/qemuhotplugtestdevices/qemuhotplug-cdrom-scsi.xml
create mode 100644 tests/qemuhotplugtestdevices/qemuhotplug-cdrom-usb.xml
create mode 100644 tests/qemuhotplugtestdomains/qemuhotplug-base-live+cdrom-scsi.xml
create mode 100644 tests/qemuhotplugtestdomains/qemuhotplug-base-live+cdrom-usb.xml
diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c
index 27e68370cf..d917086023 100644
--- a/src/qemu/qemu_hotplug.c
+++ b/src/qemu/qemu_hotplug.c
@@ -992,10 +992,9 @@ qemuDomainAttachDeviceDiskLiveInternal(virQEMUDriver *driver,
bool releaseSeclabel = false;
int ret = -1;
- if (disk->device == VIR_DOMAIN_DISK_DEVICE_CDROM ||
- disk->device == VIR_DOMAIN_DISK_DEVICE_FLOPPY) {
+ if (disk->device == VIR_DOMAIN_DISK_DEVICE_FLOPPY) {
virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
- _("cdrom/floppy device hotplug isn't supported"));
+ _("floppy device hotplug isn't supported"));
return -1;
}
@@ -1025,6 +1024,10 @@ qemuDomainAttachDeviceDiskLiveInternal(virQEMUDriver *driver,
break;
case VIR_DOMAIN_DISK_BUS_VIRTIO:
+ if (disk->device == VIR_DOMAIN_DISK_DEVICE_CDROM) {
+ virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
+ _("cdrom device with virtio bus isn't supported"));
+ }
if (qemuDomainEnsureVirtioAddress(&releaseVirtio, vm, dev) < 0)
goto cleanup;
break;
@@ -5414,6 +5417,10 @@ qemuDomainDetachPrepDisk(virDomainObj *vm,
case VIR_DOMAIN_DISK_DEVICE_CDROM:
case VIR_DOMAIN_DISK_DEVICE_FLOPPY:
+ if ((virDomainDiskBus) disk->bus == VIR_DOMAIN_DISK_BUS_USB ||
+ (virDomainDiskBus) disk->bus == VIR_DOMAIN_DISK_BUS_SCSI) {
+ break;
+ }
virReportError(VIR_ERR_OPERATION_UNSUPPORTED,
_("disk device type '%s' cannot be detached"),
virDomainDiskDeviceTypeToString(disk->device));
diff --git a/tests/qemuhotplugtest.c b/tests/qemuhotplugtest.c
index e98d9845e8..3c9dac241a 100644
--- a/tests/qemuhotplugtest.c
+++ b/tests/qemuhotplugtest.c
@@ -860,6 +860,24 @@ mymain(void)
DO_TEST_DETACH("base-live", "guestfwd", false, false,
"netdev_del", QMP_OK);
+ DO_TEST_ATTACH("base-live", "cdrom-usb", false, true,
+ "human-monitor-command", HMP("OK\\r\\n"),
+ "device_add", QMP_OK);
+ DO_TEST_DETACH("base-live", "cdrom-usb", true, true,
+ "device_del", QMP_OK);
+ DO_TEST_DETACH("base-live", "cdrom-usb", false, false,
+ "device_del", QMP_DEVICE_DELETED("usb-disk4") QMP_OK,
+ "human-monitor-command", HMP(""));
+
+ DO_TEST_ATTACH("base-live", "cdrom-scsi", false, true,
+ "human-monitor-command", HMP("OK\\r\\n"),
+ "device_add", QMP_OK);
+ DO_TEST_DETACH("base-live", "cdrom-scsi", true, true,
+ "device_del", QMP_OK);
+ DO_TEST_DETACH("base-live", "cdrom-scsi", false, false,
+ "device_del", QMP_DEVICE_DELETED("scsi0-0-0-4") QMP_OK,
+ "human-monitor-command", HMP(""));
+
#define DO_TEST_CPU_GROUP(prefix, vcpus, modernhp, expectfail) \
do { \
cpudata.test = prefix; \
diff --git a/tests/qemuhotplugtestdevices/qemuhotplug-cdrom-scsi.xml b/tests/qemuhotplugtestdevices/qemuhotplug-cdrom-scsi.xml
new file mode 100644
index 0000000000..da8b94bb22
--- /dev/null
+++ b/tests/qemuhotplugtestdevices/qemuhotplug-cdrom-scsi.xml
@@ -0,0 +1,6 @@
+<disk type='file' device='cdrom'>
+ <driver name='qemu' type='raw' cache='none'/>
+ <source file='/dev/null'/>
+ <target dev='sde' bus='scsi'/>
+ <readonly/>
+</disk>
diff --git a/tests/qemuhotplugtestdevices/qemuhotplug-cdrom-usb.xml b/tests/qemuhotplugtestdevices/qemuhotplug-cdrom-usb.xml
new file mode 100644
index 0000000000..efb974090c
--- /dev/null
+++ b/tests/qemuhotplugtestdevices/qemuhotplug-cdrom-usb.xml
@@ -0,0 +1,6 @@
+<disk type='file' device='cdrom'>
+ <driver name='qemu' type='raw' cache='none'/>
+ <source file='/dev/null'/>
+ <target dev='sde' bus='usb'/>
+ <readonly/>
+</disk>
diff --git a/tests/qemuhotplugtestdomains/qemuhotplug-base-live+cdrom-scsi.xml b/tests/qemuhotplugtestdomains/qemuhotplug-base-live+cdrom-scsi.xml
new file mode 100644
index 0000000000..c3242a582f
--- /dev/null
+++ b/tests/qemuhotplugtestdomains/qemuhotplug-base-live+cdrom-scsi.xml
@@ -0,0 +1,60 @@
+<domain type='kvm' id='7'>
+ <name>hotplug</name>
+ <uuid>d091ea82-29e6-2e34-3005-f02617b36e87</uuid>
+ <memory unit='KiB'>4194304</memory>
+ <currentMemory unit='KiB'>4194304</currentMemory>
+ <vcpu placement='static'>4</vcpu>
+ <os>
+ <type arch='x86_64' machine='pc'>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <features>
+ <acpi/>
+ <apic/>
+ <pae/>
+ </features>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>restart</on_crash>
+ <devices>
+ <emulator>/usr/bin/qemu-system-x86_64</emulator>
+ <disk type='file' device='cdrom'>
+ <driver name='qemu' type='raw' cache='none'/>
+ <source file='/dev/null'/>
+ <backingStore/>
+ <target dev='sde' bus='scsi'/>
+ <readonly/>
+ <alias name='scsi0-0-0-4'/>
+ <address type='drive' controller='0' bus='0' target='0' unit='4'/>
+ </disk>
+ <controller type='usb' index='0'>
+ <alias name='usb'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
+ </controller>
+ <controller type='ide' index='0'>
+ <alias name='ide'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
+ </controller>
+ <controller type='scsi' index='0' model='virtio-scsi'>
+ <alias name='scsi0'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
+ </controller>
+ <controller type='pci' index='0' model='pci-root'>
+ <alias name='pci'/>
+ </controller>
+ <controller type='virtio-serial' index='0'>
+ <alias name='virtio-serial0'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
+ </controller>
+ <input type='mouse' bus='ps2'>
+ <alias name='input0'/>
+ </input>
+ <input type='keyboard' bus='ps2'>
+ <alias name='input1'/>
+ </input>
+ <audio id='1' type='none'/>
+ <memballoon model='none'/>
+ </devices>
+ <seclabel type='none' model='none'/>
+</domain>
diff --git a/tests/qemuhotplugtestdomains/qemuhotplug-base-live+cdrom-usb.xml b/tests/qemuhotplugtestdomains/qemuhotplug-base-live+cdrom-usb.xml
new file mode 100644
index 0000000000..89317f5dc8
--- /dev/null
+++ b/tests/qemuhotplugtestdomains/qemuhotplug-base-live+cdrom-usb.xml
@@ -0,0 +1,60 @@
+<domain type='kvm' id='7'>
+ <name>hotplug</name>
+ <uuid>d091ea82-29e6-2e34-3005-f02617b36e87</uuid>
+ <memory unit='KiB'>4194304</memory>
+ <currentMemory unit='KiB'>4194304</currentMemory>
+ <vcpu placement='static'>4</vcpu>
+ <os>
+ <type arch='x86_64' machine='pc'>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <features>
+ <acpi/>
+ <apic/>
+ <pae/>
+ </features>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>restart</on_crash>
+ <devices>
+ <emulator>/usr/bin/qemu-system-x86_64</emulator>
+ <disk type='file' device='cdrom'>
+ <driver name='qemu' type='raw' cache='none'/>
+ <source file='/dev/null'/>
+ <backingStore/>
+ <target dev='sde' bus='usb'/>
+ <readonly/>
+ <alias name='usb-disk4'/>
+ <address type='usb' bus='0' port='1'/>
+ </disk>
+ <controller type='usb' index='0'>
+ <alias name='usb'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
+ </controller>
+ <controller type='ide' index='0'>
+ <alias name='ide'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
+ </controller>
+ <controller type='scsi' index='0' model='virtio-scsi'>
+ <alias name='scsi0'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
+ </controller>
+ <controller type='pci' index='0' model='pci-root'>
+ <alias name='pci'/>
+ </controller>
+ <controller type='virtio-serial' index='0'>
+ <alias name='virtio-serial0'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
+ </controller>
+ <input type='mouse' bus='ps2'>
+ <alias name='input0'/>
+ </input>
+ <input type='keyboard' bus='ps2'>
+ <alias name='input1'/>
+ </input>
+ <audio id='1' type='none'/>
+ <memballoon model='none'/>
+ </devices>
+ <seclabel type='none' model='none'/>
+</domain>
--
2.27.0
2
1
Signed-off-by: Kristina Hanicova <khanicov(a)redhat.com>
---
src/conf/domain_conf.c | 55 ++++++++++++++++++++++++------------------
1 file changed, 31 insertions(+), 24 deletions(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 44a01ab628..bc4b74c1c8 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -4084,8 +4084,8 @@ virDomainObjGetPersistentDef(virDomainXMLOption *xmlopt,
if (domain->newDef)
return domain->newDef;
- else
- return domain->def;
+
+ return domain->def;
}
@@ -4223,8 +4223,8 @@ virDomainObjGetOneDefState(virDomainObj *vm,
if (virDomainObjIsActive(vm) && flags & VIR_DOMAIN_AFFECT_CONFIG)
return vm->newDef;
- else
- return vm->def;
+
+ return vm->def;
}
@@ -6029,7 +6029,9 @@ virDomainHostdevDefParseXMLSubsys(xmlNodePtr node,
VIR_XML_PROP_NONZERO,
&scsisrc->sgio)) < 0) {
return -1;
- } else if (rv > 0) {
+ }
+
+ if (rv > 0) {
if (def->source.subsys.type != VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_SCSI) {
virReportError(VIR_ERR_XML_ERROR, "%s",
_("sgio is only supported for scsi host device"));
@@ -6041,8 +6043,9 @@ virDomainHostdevDefParseXMLSubsys(xmlNodePtr node,
VIR_XML_PROP_NONE,
&scsisrc->rawio)) < 0) {
return -1;
- } else if (rv > 0 &&
- def->source.subsys.type != VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_SCSI) {
+ }
+
+ if (rv > 0 && def->source.subsys.type != VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_SCSI) {
virReportError(VIR_ERR_XML_ERROR, "%s",
_("rawio is only supported for scsi host device"));
return -1;
@@ -8056,15 +8059,15 @@ virDomainControllerModelTypeFromString(const virDomainControllerDef *def,
{
if (def->type == VIR_DOMAIN_CONTROLLER_TYPE_SCSI)
return virDomainControllerModelSCSITypeFromString(model);
- else if (def->type == VIR_DOMAIN_CONTROLLER_TYPE_USB)
+ if (def->type == VIR_DOMAIN_CONTROLLER_TYPE_USB)
return virDomainControllerModelUSBTypeFromString(model);
- else if (def->type == VIR_DOMAIN_CONTROLLER_TYPE_PCI)
+ if (def->type == VIR_DOMAIN_CONTROLLER_TYPE_PCI)
return virDomainControllerModelPCITypeFromString(model);
- else if (def->type == VIR_DOMAIN_CONTROLLER_TYPE_IDE)
+ if (def->type == VIR_DOMAIN_CONTROLLER_TYPE_IDE)
return virDomainControllerModelIDETypeFromString(model);
- else if (def->type == VIR_DOMAIN_CONTROLLER_TYPE_VIRTIO_SERIAL)
+ if (def->type == VIR_DOMAIN_CONTROLLER_TYPE_VIRTIO_SERIAL)
return virDomainControllerModelVirtioSerialTypeFromString(model);
- else if (def->type == VIR_DOMAIN_CONTROLLER_TYPE_ISA)
+ if (def->type == VIR_DOMAIN_CONTROLLER_TYPE_ISA)
return virDomainControllerModelISATypeFromString(model);
return -1;
@@ -8077,15 +8080,15 @@ virDomainControllerModelTypeToString(virDomainControllerDef *def,
{
if (def->type == VIR_DOMAIN_CONTROLLER_TYPE_SCSI)
return virDomainControllerModelSCSITypeToString(model);
- else if (def->type == VIR_DOMAIN_CONTROLLER_TYPE_USB)
+ if (def->type == VIR_DOMAIN_CONTROLLER_TYPE_USB)
return virDomainControllerModelUSBTypeToString(model);
- else if (def->type == VIR_DOMAIN_CONTROLLER_TYPE_PCI)
+ if (def->type == VIR_DOMAIN_CONTROLLER_TYPE_PCI)
return virDomainControllerModelPCITypeToString(model);
- else if (def->type == VIR_DOMAIN_CONTROLLER_TYPE_IDE)
+ if (def->type == VIR_DOMAIN_CONTROLLER_TYPE_IDE)
return virDomainControllerModelIDETypeToString(model);
- else if (def->type == VIR_DOMAIN_CONTROLLER_TYPE_VIRTIO_SERIAL)
+ if (def->type == VIR_DOMAIN_CONTROLLER_TYPE_VIRTIO_SERIAL)
return virDomainControllerModelVirtioSerialTypeToString(model);
- else if (def->type == VIR_DOMAIN_CONTROLLER_TYPE_ISA)
+ if (def->type == VIR_DOMAIN_CONTROLLER_TYPE_ISA)
return virDomainControllerModelISATypeToString(model);
return NULL;
@@ -9915,9 +9918,10 @@ virDomainChrSourceDefParseXML(virDomainChrSourceDef *def,
ctxt->node = cur;
- if ((nsources = virXPathNodeSet("./source", ctxt, &sources)) < 0) {
+ if ((nsources = virXPathNodeSet("./source", ctxt, &sources)) < 0)
goto error;
- } else if (nsources > 0) {
+
+ if (nsources > 0) {
/* Parse only the first source element since only one is used
* for chardev devices, the only exception is UDP type, where
* user can specify two source elements. */
@@ -9926,7 +9930,8 @@ virDomainChrSourceDefParseXML(virDomainChrSourceDef *def,
_("only one source element is allowed for "
"character device"));
goto error;
- } else if (nsources > 2) {
+ }
+ if (nsources > 2) {
virReportError(VIR_ERR_XML_ERROR, "%s",
_("only two source elements are allowed for "
"character device"));
@@ -10006,9 +10011,10 @@ virDomainChrSourceDefParseXML(virDomainChrSourceDef *def,
}
}
- if ((nlogs = virXPathNodeSet("./log", ctxt, &logs)) < 0) {
+ if ((nlogs = virXPathNodeSet("./log", ctxt, &logs)) < 0)
goto error;
- } else if (nlogs == 1) {
+
+ if (nlogs == 1) {
if (virDomainChrSourceDefParseLog(def, logs[0]) < 0)
goto error;
} else if (nlogs > 1) {
@@ -10018,9 +10024,10 @@ virDomainChrSourceDefParseXML(virDomainChrSourceDef *def,
goto error;
}
- if ((nprotocols = virXPathNodeSet("./protocol", ctxt, &protocols)) < 0) {
+ if ((nprotocols = virXPathNodeSet("./protocol", ctxt, &protocols)) < 0)
goto error;
- } else if (nprotocols == 1) {
+
+ if (nprotocols == 1) {
if (virDomainChrSourceDefParseProtocol(def, protocols[0]) < 0)
goto error;
} else if (nprotocols > 1) {
--
2.35.3
2
2
According to a9fe9569ab, the <acpi index='NNN'/> is only for PCI
devices. Remove the ref acpi from devices channel, smartcard, tpm,
redirdev, panic, hub because none of them has PCI address. And add the
ref acpi to iommu device.
Fixes: a9fe9569ab
Signed-off-by: Han Han <hhan(a)redhat.com>
---
src/conf/schemas/domaincommon.rng | 21 +++------------------
1 file changed, 3 insertions(+), 18 deletions(-)
diff --git a/src/conf/schemas/domaincommon.rng b/src/conf/schemas/domaincommon.rng
index faa2561665..2f07c25430 100644
--- a/src/conf/schemas/domaincommon.rng
+++ b/src/conf/schemas/domaincommon.rng
@@ -5409,9 +5409,6 @@
<optional>
<ref name="alias"/>
</optional>
- <optional>
- <ref name="acpi"/>
- </optional>
<optional>
<ref name="address"/>
</optional>
@@ -5453,9 +5450,6 @@
</interleave>
</group>
</choice>
- <optional>
- <ref name="alias"/>
- </optional>
<optional>
<ref name="acpi"/>
</optional>
@@ -5486,9 +5480,6 @@
<optional>
<ref name="alias"/>
</optional>
- <optional>
- <ref name="acpi"/>
- </optional>
<optional>
<ref name="address"/>
</optional>
@@ -5661,6 +5652,9 @@
</optional>
</element>
</optional>
+ <optional>
+ <ref name="acpi"/>
+ </optional>
<optional>
<ref name="address"/>
</optional>
@@ -5772,9 +5766,6 @@
<optional>
<ref name="alias"/>
</optional>
- <optional>
- <ref name="acpi"/>
- </optional>
<optional>
<ref name="address"/>
</optional>
@@ -5794,9 +5785,6 @@
<optional>
<ref name="alias"/>
</optional>
- <optional>
- <ref name="acpi"/>
- </optional>
<optional>
<ref name="address"/>
</optional>
@@ -8048,9 +8036,6 @@
<optional>
<ref name="alias"/>
</optional>
- <optional>
- <ref name="acpi"/>
- </optional>
<optional>
<ref name="address"/>
</optional>
--
2.37.1
2
1
This patch prevents nesting of if conditions and makes the code
cleaner.
Signed-off-by: Kristina Hanicova <khanicov(a)redhat.com>
---
src/conf/domain_conf.c | 50 +++++++++++++++++++++---------------------
1 file changed, 25 insertions(+), 25 deletions(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 44a01ab628..6b81c61056 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -5309,18 +5309,18 @@ virDomainDeviceAddressParseXML(xmlNodePtr address,
{
g_autofree char *type = virXMLPropString(address, "type");
- if (type) {
- if ((info->type = virDomainDeviceAddressTypeFromString(type)) <= 0) {
- virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
- _("unknown address type '%s'"), type);
- return -1;
- }
- } else {
+ if (!type) {
virReportError(VIR_ERR_INTERNAL_ERROR,
"%s", _("No type specified for device address"));
return -1;
}
+ if ((info->type = virDomainDeviceAddressTypeFromString(type)) <= 0) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
+ _("unknown address type '%s'"), type);
+ return -1;
+ }
+
switch ((virDomainDeviceAddressType) info->type) {
case VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI:
if (virPCIDeviceAddressParseXML(address, &info->addr.pci) < 0)
@@ -5996,20 +5996,20 @@ virDomainHostdevDefParseXMLSubsys(xmlNodePtr node,
* <hostdev>. (the functions we're going to call expect address
* type to already be known).
*/
- if (type) {
- if ((def->source.subsys.type
- = virDomainHostdevSubsysTypeFromString(type)) < 0) {
- virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
- _("unknown host device source address type '%s'"),
- type);
- return -1;
- }
- } else {
+ if (!type) {
virReportError(VIR_ERR_XML_ERROR,
"%s", _("missing source address type"));
return -1;
}
+ if ((def->source.subsys.type
+ = virDomainHostdevSubsysTypeFromString(type)) < 0) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
+ _("unknown host device source address type '%s'"),
+ type);
+ return -1;
+ }
+
if (!(sourcenode = virXPathNode("./source", ctxt))) {
virReportError(VIR_ERR_XML_ERROR, "%s",
_("Missing <source> element in hostdev device"));
@@ -6304,20 +6304,20 @@ virDomainHostdevDefParseXMLCaps(xmlNodePtr node G_GNUC_UNUSED,
* <hostdev>. (the functions we're going to call expect address
* type to already be known).
*/
- if (type) {
- if ((def->source.caps.type
- = virDomainHostdevCapsTypeFromString(type)) < 0) {
- virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
- _("unknown host device source address type '%s'"),
- type);
- return -1;
- }
- } else {
+ if (!type) {
virReportError(VIR_ERR_XML_ERROR,
"%s", _("missing source address type"));
return -1;
}
+ if ((def->source.caps.type
+ = virDomainHostdevCapsTypeFromString(type)) < 0) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
+ _("unknown host device source address type '%s'"),
+ type);
+ return -1;
+ }
+
if (!virXPathNode("./source", ctxt)) {
virReportError(VIR_ERR_XML_ERROR, "%s",
_("Missing <source> element in hostdev device"));
--
2.35.3
2
1
This series moves generalized qemu job object into hypervisor/ and
replaces all other hypervisor-specific job objects.
Kristina Hanicova (5):
qemu & hypervisor: move job object into hypervisor
hypervisor: domain_job: rename members in
virDomainObjPrivateJobCallbacks
LXC: use virDomainJobObj
libxl: use virDomainJobObj
CH: use virDomainJobObj
src/ch/ch_domain.c | 4 +-
src/ch/ch_domain.h | 9 +----
src/hypervisor/domain_job.h | 62 ++++++++++++++++++++++++++++++
src/libxl/libxl_domain.c | 6 +--
src/libxl/libxl_domain.h | 11 +-----
src/lxc/lxc_domain.c | 4 +-
src/lxc/lxc_domain.h | 9 +----
src/qemu/qemu_domain.c | 10 ++---
src/qemu/qemu_domain.h | 2 +-
src/qemu/qemu_domainjob.c | 26 ++++++-------
src/qemu/qemu_domainjob.h | 66 +++-----------------------------
src/qemu/qemu_migration.c | 2 +-
src/qemu/qemu_migration.h | 2 +-
src/qemu/qemu_migration_params.c | 2 +-
src/qemu/qemu_process.c | 12 +++---
15 files changed, 106 insertions(+), 121 deletions(-)
--
2.35.3
2
6
Signed-off-by: Kristina Hanicova <khanicov(a)redhat.com>
---
src/hypervisor/domain_job.c | 2 ++
src/hypervisor/domain_job.h | 5 ++++-
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/hypervisor/domain_job.c b/src/hypervisor/domain_job.c
index 5939d93e47..6a0fbd42b3 100644
--- a/src/hypervisor/domain_job.c
+++ b/src/hypervisor/domain_job.c
@@ -1,4 +1,6 @@
/*
+ * domain_job.c: job functions shared between hypervisor drivers
+ *
* Copyright (C) 2022 Red Hat, Inc.
* SPDX-License-Identifier: LGPL-2.1-or-later
*/
diff --git a/src/hypervisor/domain_job.h b/src/hypervisor/domain_job.h
index 30f950ec23..b12e0c8e17 100644
--- a/src/hypervisor/domain_job.h
+++ b/src/hypervisor/domain_job.h
@@ -1,4 +1,6 @@
/*
+ * domain_job.h: job functions shared between hypervisor drivers
+ *
* Copyright (C) 2022 Red Hat, Inc.
* SPDX-License-Identifier: LGPL-2.1-or-later
*/
@@ -122,7 +124,8 @@ struct _virDomainJobData {
char *errmsg; /* optional error message for failed completed jobs */
void *privateData; /* private data of hypervisors */
- virDomainJobDataPrivateDataCallbacks *privateDataCb; /* callbacks of private data, hypervisor based */
+ virDomainJobDataPrivateDataCallbacks *privateDataCb; /* callbacks of private data,
+ hypervisor based */
};
--
2.35.3
2
1
[PATCH] qemu: domainjob: remove async variable from qemuDomainObjBeginJobInternal()
by Kristina Hanicova 20 Jul '22
by Kristina Hanicova 20 Jul '22
20 Jul '22
This patch removes variable 'async', which is used only once, and
replaces it with direct comparison with an enum member.
Signed-off-by: Kristina Hanicova <khanicov(a)redhat.com>
---
src/qemu/qemu_domainjob.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/qemu/qemu_domainjob.c b/src/qemu/qemu_domainjob.c
index 1f6d976558..7c6b697959 100644
--- a/src/qemu/qemu_domainjob.c
+++ b/src/qemu/qemu_domainjob.c
@@ -875,7 +875,6 @@ qemuDomainObjBeginJobInternal(virQEMUDriver *driver,
unsigned long long now;
unsigned long long then;
bool nested = job == VIR_JOB_ASYNC_NESTED;
- bool async = job == VIR_JOB_ASYNC;
g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver);
const char *blocker = NULL;
const char *agentBlocker = NULL;
@@ -903,7 +902,8 @@ qemuDomainObjBeginJobInternal(virQEMUDriver *driver,
then = now + QEMU_JOB_WAIT_TIME;
retry:
- if ((!async && job != VIR_JOB_DESTROY) &&
+ if (job != VIR_JOB_ASYNC &&
+ job != VIR_JOB_DESTROY &&
cfg->maxQueuedJobs &&
priv->job.jobsQueued > cfg->maxQueuedJobs) {
goto error;
--
2.35.3
2
1
20 Jul '22
It would be nice to be able to test the mediated device capabilities
without having physical hardware which supports it. The 'mtty' kernel
module presents a virtual parent device which is capable of creating
'fake' mediated devices, and as such it would be useful for testing.
However, the 'mtty' device is not part of an existing device subsystem
(e.g. PCI, etc), so libvirt ignores it and it does not get added to the
node device list. And because it does not get added to the node device
list, it cannot be used to create child mdevs using `virsh
nodedev-create`.
There is already a node device type capability
VIR_NODE_DEV_CAP_MDEV_TYPES that indicates whether a device supports
creating child mediated devices, but libvirt assumes that this is a
nested capability (in other words, it assumes that the primary
capability of a device is something like PCI). If we allow this
MDEV_TYPES capability to be a primary device capability, then we can
support virtual devices like 'mtty' as a parent for mediated devices.
See https://bugzilla.redhat.com/show_bug.cgi?id=2107031
Signed-off-by: Jonathon Jongsma <jjongsma(a)redhat.com>
---
src/conf/node_device_conf.c | 41 +++++++++++++++++++++++++++-
src/conf/node_device_conf.h | 13 +++++++++
src/libvirt_private.syms | 2 ++
src/node_device/node_device_driver.c | 5 +++-
src/node_device/node_device_udev.c | 25 +++++++++++++++++
src/util/virmdev.c | 28 +++++++++++++++++++
src/util/virmdev.h | 4 +++
7 files changed, 116 insertions(+), 2 deletions(-)
diff --git a/src/conf/node_device_conf.c b/src/conf/node_device_conf.c
index 364bb489bd..d5bfc098b2 100644
--- a/src/conf/node_device_conf.c
+++ b/src/conf/node_device_conf.c
@@ -772,6 +772,10 @@ virNodeDeviceDefFormat(const virNodeDeviceDef *def)
data->ap_matrix.nmdev_types);
break;
case VIR_NODE_DEV_CAP_MDEV_TYPES:
+ virNodeDeviceCapMdevTypesFormat(&buf,
+ data->mdev_parent.mdev_types,
+ data->mdev_parent.nmdev_types);
+ break;
case VIR_NODE_DEV_CAP_FC_HOST:
case VIR_NODE_DEV_CAP_VPORTS:
case VIR_NODE_DEV_CAP_VPD:
@@ -2674,6 +2678,11 @@ virNodeDevCapsDefFree(virNodeDevCapsDef *caps)
g_free(data->ap_matrix.mdev_types);
break;
case VIR_NODE_DEV_CAP_MDEV_TYPES:
+ for (i = 0; i < data->mdev_parent.nmdev_types; i++)
+ virMediatedDeviceTypeFree(data->mdev_parent.mdev_types[i]);
+ g_free(data->mdev_parent.mdev_types);
+ g_free(data->mdev_parent.address);
+ break;
case VIR_NODE_DEV_CAP_DRM:
case VIR_NODE_DEV_CAP_FC_HOST:
case VIR_NODE_DEV_CAP_VPORTS:
@@ -2729,6 +2738,11 @@ virNodeDeviceUpdateCaps(virNodeDeviceDef *def)
&cap->data.ap_matrix) < 0)
return -1;
break;
+ case VIR_NODE_DEV_CAP_MDEV_TYPES:
+ if (virNodeDeviceGetMdevParentDynamicCaps(def->sysfs_path,
+ &cap->data.mdev_parent) < 0)
+ return -1;
+ break;
/* all types that (supposedly) don't require any updates
* relative to what's in the cache.
@@ -2742,7 +2756,6 @@ virNodeDeviceUpdateCaps(virNodeDeviceDef *def)
case VIR_NODE_DEV_CAP_FC_HOST:
case VIR_NODE_DEV_CAP_VPORTS:
case VIR_NODE_DEV_CAP_SCSI_GENERIC:
- case VIR_NODE_DEV_CAP_MDEV_TYPES:
case VIR_NODE_DEV_CAP_MDEV:
case VIR_NODE_DEV_CAP_CCW_DEV:
case VIR_NODE_DEV_CAP_VDPA:
@@ -3193,6 +3206,24 @@ virNodeDeviceGetAPMatrixDynamicCaps(const char *sysfsPath,
return 0;
}
+/* virNodeDeviceGetMdevParentDynamicCaps() get info that is stored in sysfs
+ * about devices related to this device, i.e. things that can change
+ * without this device itself changing. These must be refreshed
+ * anytime full XML of the device is requested, because they can
+ * change with no corresponding notification from the kernel/udev.
+ */
+int
+virNodeDeviceGetMdevParentDynamicCaps(const char *sysfsPath,
+ virNodeDevCapMdevParent *mdev_parent)
+{
+ if (virNodeDeviceGetMdevTypesCaps(sysfsPath,
+ &mdev_parent->mdev_types,
+ &mdev_parent->nmdev_types) < 0)
+ return -1;
+ return 0;
+}
+
+
#else
int
@@ -3229,4 +3260,12 @@ virNodeDeviceGetAPMatrixDynamicCaps(const char *sysfsPath G_GNUC_UNUSED,
return -1;
}
+int
+virNodeDeviceGetMdevParentDynamicCaps(const char *sysfsPath G_GNUC_UNUSED,
+ virNodeDevCapMdevParent *mdev_parent G_GNUC_UNUSED)
+{
+ return -1;
+}
+
+
#endif /* __linux__ */
diff --git a/src/conf/node_device_conf.h b/src/conf/node_device_conf.h
index a234b4147b..21622c62ac 100644
--- a/src/conf/node_device_conf.h
+++ b/src/conf/node_device_conf.h
@@ -306,6 +306,14 @@ struct _virNodeDevCapAPMatrix {
size_t nmdev_types;
};
+
+typedef struct _virNodeDevCapMdevParent virNodeDevCapMdevParent;
+struct _virNodeDevCapMdevParent {
+ virMediatedDeviceType **mdev_types;
+ size_t nmdev_types;
+ char *address;
+};
+
typedef struct _virNodeDevCapData virNodeDevCapData;
struct _virNodeDevCapData {
virNodeDevCapType type;
@@ -327,6 +335,7 @@ struct _virNodeDevCapData {
virNodeDevCapAPCard ap_card;
virNodeDevCapAPQueue ap_queue;
virNodeDevCapAPMatrix ap_matrix;
+ virNodeDevCapMdevParent mdev_parent;
};
};
@@ -453,6 +462,10 @@ int
virNodeDeviceGetAPMatrixDynamicCaps(const char *sysfsPath,
virNodeDevCapAPMatrix *ap_matrix);
+int
+virNodeDeviceGetMdevParentDynamicCaps(const char *sysfsPath,
+ virNodeDevCapMdevParent *mdev_parent);
+
int
virNodeDeviceUpdateCaps(virNodeDeviceDef *def);
diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
index f4732f1742..1a5fce22e5 100644
--- a/src/libvirt_private.syms
+++ b/src/libvirt_private.syms
@@ -866,6 +866,7 @@ virNodeDeviceDefParseNode;
virNodeDeviceDefParseString;
virNodeDeviceGetAPMatrixDynamicCaps;
virNodeDeviceGetCSSDynamicCaps;
+virNodeDeviceGetMdevParentDynamicCaps;
virNodeDeviceGetPCIDynamicCaps;
virNodeDeviceGetSCSIHostCaps;
virNodeDeviceGetSCSITargetCaps;
@@ -2723,6 +2724,7 @@ virMediatedDeviceListStealIndex;
virMediatedDeviceModelTypeFromString;
virMediatedDeviceModelTypeToString;
virMediatedDeviceNew;
+virMediatedDeviceParentGetAddress;
virMediatedDeviceSetUsedBy;
virMediatedDeviceTypeFree;
virMediatedDeviceTypeReadAttrs;
diff --git a/src/node_device/node_device_driver.c b/src/node_device/node_device_driver.c
index 0178ae8b66..fa3cfcf24c 100644
--- a/src/node_device/node_device_driver.c
+++ b/src/node_device/node_device_driver.c
@@ -672,6 +672,10 @@ nodeDeviceObjFormatAddress(virNodeDeviceObj *obj)
addr = g_strdup(caps->data.ap_matrix.addr);
break;
+ case VIR_NODE_DEV_CAP_MDEV_TYPES:
+ addr = g_strdup(caps->data.mdev_parent.address);
+ break;
+
case VIR_NODE_DEV_CAP_SYSTEM:
case VIR_NODE_DEV_CAP_USB_DEV:
case VIR_NODE_DEV_CAP_USB_INTERFACE:
@@ -684,7 +688,6 @@ nodeDeviceObjFormatAddress(virNodeDeviceObj *obj)
case VIR_NODE_DEV_CAP_VPORTS:
case VIR_NODE_DEV_CAP_SCSI_GENERIC:
case VIR_NODE_DEV_CAP_DRM:
- case VIR_NODE_DEV_CAP_MDEV_TYPES:
case VIR_NODE_DEV_CAP_MDEV:
case VIR_NODE_DEV_CAP_CCW_DEV:
case VIR_NODE_DEV_CAP_VDPA:
diff --git a/src/node_device/node_device_udev.c b/src/node_device/node_device_udev.c
index 3d69bdedae..e76c1a36b8 100644
--- a/src/node_device/node_device_udev.c
+++ b/src/node_device/node_device_udev.c
@@ -457,6 +457,28 @@ udevProcessPCI(struct udev_device *device,
}
+static int
+udevProcessMdevParent(struct udev_device *device,
+ virNodeDeviceDef *def)
+{
+ virNodeDevCapMdevParent *mdev_parent = &def->caps->data.mdev_parent;
+
+ udevGenerateDeviceName(device, def, NULL);
+
+ if (virMediatedDeviceParentGetAddress(def->sysfs_path, &mdev_parent->address) < 0) {
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ _("Unable to find address for mdev parent device '%s'"),
+ def->name);
+ return -1;
+ }
+
+ if (virNodeDeviceGetMdevParentDynamicCaps(def->sysfs_path, mdev_parent) < 0)
+ return -1;
+
+ return 0;
+}
+
+
static int
drmGetMinorType(int minor)
{
@@ -1349,6 +1371,8 @@ udevGetDeviceType(struct udev_device *device,
*type = VIR_NODE_DEV_CAP_VDPA;
else if (STREQ_NULLABLE(subsystem, "matrix"))
*type = VIR_NODE_DEV_CAP_AP_MATRIX;
+ else if (STREQ_NULLABLE(subsystem, "mtty"))
+ *type = VIR_NODE_DEV_CAP_MDEV_TYPES;
VIR_FREE(subsystem);
}
@@ -1404,6 +1428,7 @@ udevGetDeviceDetails(struct udev_device *device,
case VIR_NODE_DEV_CAP_AP_MATRIX:
return udevProcessAPMatrix(device, def);
case VIR_NODE_DEV_CAP_MDEV_TYPES:
+ return udevProcessMdevParent(device, def);
case VIR_NODE_DEV_CAP_VPD:
case VIR_NODE_DEV_CAP_SYSTEM:
case VIR_NODE_DEV_CAP_FC_HOST:
diff --git a/src/util/virmdev.c b/src/util/virmdev.c
index eb566982b1..41d4cef8b9 100644
--- a/src/util/virmdev.c
+++ b/src/util/virmdev.c
@@ -520,6 +520,34 @@ void virMediatedDeviceAttrFree(virMediatedDeviceAttr *attr)
}
+#define MDEV_BUS_DIR "/sys/class/mdev_bus"
+
+
+int
+virMediatedDeviceParentGetAddress(const char *sysfspath,
+ char **address)
+{
+ g_autoptr(DIR) dir = NULL;
+ struct dirent *entry;
+ if (virDirOpen(&dir, MDEV_BUS_DIR) < 0)
+ return -1;
+
+ /* check if one of the links in /sys/class/mdev_bus/ points at the sysfs
+ * path for this device. If so, the link name is treated as the 'address'
+ * for the mdev parent */
+ while (virDirRead(dir, &entry, MDEV_BUS_DIR) > 0) {
+ g_autofree char *tmppath = g_strdup_printf("%s/%s", MDEV_BUS_DIR,
+ entry->d_name);
+
+ if (virFileLinkPointsTo(tmppath, sysfspath)) {
+ *address = g_strdup(entry->d_name);
+ return 0;
+ }
+ }
+
+ return -1;
+}
+
#ifdef __linux__
ssize_t
diff --git a/src/util/virmdev.h b/src/util/virmdev.h
index 4d3655a091..bc8306d0e1 100644
--- a/src/util/virmdev.h
+++ b/src/util/virmdev.h
@@ -149,5 +149,9 @@ virMediatedDeviceGetMdevTypes(const char *sysfspath,
virMediatedDeviceType ***types,
size_t *ntypes);
+int
+virMediatedDeviceParentGetAddress(const char *sysfspath,
+ char **address);
+
G_DEFINE_AUTOPTR_CLEANUP_FUNC(virMediatedDevice, virMediatedDeviceFree);
G_DEFINE_AUTOPTR_CLEANUP_FUNC(virMediatedDeviceType, virMediatedDeviceTypeFree);
--
2.35.3
2
1
There are some hardcoded migration blockers in libvirt, like having a net
vhost-vdpa device. While it's true that they cannot be migrated at the moment,
there are plans to be able to migrate them soon.
They'll put a migration blockers in the cases where you cannot migrate them.
Ask qemu about then before rejecting the migration. In case the question is not
possible, assume they're not migratable.
Eugenio Pérez (4):
qemu_monitor_json: Add qemuMonitorJSONGetMigrationBlockers
qemu_monitor: add support for get qemu migration blockers
qemu_migration: get migration blockers before hardcoded checks
qemu_migrate: Do not forbif vDPA devices if can query blockers
Jonathon Jongsma (1):
qemu: introduce capability QEMU_MIGRATION_BLOCKED_REASONS
src/qemu/qemu_capabilities.c | 2 +
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_migration.c | 38 ++++++++++++++++++-
src/qemu/qemu_monitor.c | 11 ++++++
src/qemu/qemu_monitor.h | 4 ++
src/qemu/qemu_monitor_json.c | 35 +++++++++++++++++
src/qemu/qemu_monitor_json.h | 3 ++
.../caps_6.0.0.aarch64.xml | 1 +
.../qemucapabilitiesdata/caps_6.0.0.s390x.xml | 1 +
.../caps_6.0.0.x86_64.xml | 1 +
.../caps_6.1.0.x86_64.xml | 1 +
.../caps_6.2.0.aarch64.xml | 1 +
.../qemucapabilitiesdata/caps_6.2.0.ppc64.xml | 1 +
.../caps_6.2.0.x86_64.xml | 1 +
.../caps_7.0.0.aarch64.xml | 1 +
.../qemucapabilitiesdata/caps_7.0.0.ppc64.xml | 1 +
.../caps_7.0.0.x86_64.xml | 1 +
.../caps_7.1.0.x86_64.xml | 1 +
18 files changed, 104 insertions(+), 1 deletion(-)
--
2.31.1
4
21
20 Jul '22
*** BLURB HERE ***
Michal Prívozník (2):
capabilityschemadata: Fix order of <features/> in caps-test2.xml
schemas: Drop <interleave/> from capabilities schemas
src/conf/schemas/capability.rng | 160 +++++++++++-----------
src/conf/schemas/domaincaps.rng | 80 +++++------
tests/capabilityschemadata/caps-test2.xml | 8 +-
3 files changed, 119 insertions(+), 129 deletions(-)
--
2.35.1
3
4
By default libvirtd will terminate itself after 120 seconds, so it is
likely that the daemon will not be running at package upgrade. Try
restarting sockets even if the daemon is inactive.
Signed-off-by: Jim Fehlig <jfehlig(a)suse.com>
---
Assuming sockets need restarted on package update?
libvirt.spec.in | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/libvirt.spec.in b/libvirt.spec.in
index 9d788b790f..5201a14431 100644
--- a/libvirt.spec.in
+++ b/libvirt.spec.in
@@ -1365,16 +1365,19 @@ then
# own the sockets again when it comes back up. Thus we must
# do this particular ordering, so that we get libvirtd
# running with socket activation in use
+ is_active=no
/bin/systemctl is-active libvirtd.service 1>/dev/null 2>&1
if test $? = 0
then
+ is_active=yes
/bin/systemctl stop libvirtd.service >/dev/null 2>&1 || :
-
- /bin/systemctl try-restart \
- libvirtd.socket \
- libvirtd-ro.socket \
- libvirtd-admin.socket >/dev/null 2>&1 || :
-
+ fi
+ /bin/systemctl try-restart \
+ libvirtd.socket \
+ libvirtd-ro.socket \
+ libvirtd-admin.socket >/dev/null 2>&1 || :
+ if test "$is_active" = yes
+ then
/bin/systemctl start libvirtd.service >/dev/null 2>&1 || :
fi
fi
--
2.36.1
2
1
Currently, the migration code denies migration as long as the VM has a
vhost-vDPA device.
While it's true that vhost-vDPA devices cannot be migrated at the moment, there are plans to be able to migrate them soon.
Libvirt must treat it equal to vhost-kernel devices: Not all of them can
be migrated (the ones that do not expose the feature VHOST_F_LOG_ALL
cannot be migrated). So checks like this one should work for all vhost
devices equally.
A more accurate solution is to ask qemu if it has an active migration
blocker at that moment. Hoever, that require synchronization to avoid
qemu to add one between the query and the actual migration command.
Signed-off-by: Eugenio Pérez <eperezma(a)redhat.com>
---
src/qemu/qemu_migration.c | 6 ------
1 file changed, 6 deletions(-)
diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
index 9c3fd41761..4ddf027c83 100644
--- a/src/qemu/qemu_migration.c
+++ b/src/qemu/qemu_migration.c
@@ -1546,12 +1546,6 @@ qemuMigrationSrcIsAllowed(virQEMUDriver *driver,
virDomainNetDef *net = vm->def->nets[i];
qemuSlirp *slirp;
- if (net->type == VIR_DOMAIN_NET_TYPE_VDPA) {
- virReportError(VIR_ERR_OPERATION_INVALID, "%s",
- _("vDPA devices cannot be migrated"));
- return false;
- }
-
slirp = QEMU_DOMAIN_NETWORK_PRIVATE(net)->slirp;
if (slirp && !qemuSlirpHasFeature(slirp, QEMU_SLIRP_FEATURE_MIGRATE)) {
--
2.31.1
4
11