[libvirt PATCH 0/4] virnetserver: Make pool job name less generic
by Jiri Denemark
Jiri Denemark (4):
virthreadpool: Copy job name
virnetserver: Format functions consistently
virnetserver: Use autoptr for virNetServer and virNetServerClient
virnetserver: Make pool job name less generic
src/rpc/virnetserver.c | 247 ++++++++++++++++++++---------------
src/rpc/virnetserverclient.h | 2 +
src/util/virthreadpool.c | 5 +-
3 files changed, 145 insertions(+), 109 deletions(-)
--
2.34.0
3 years, 1 month
[PATCH] tools: fix iterating over argv when recovering xattr
by Daniel P. Berrangé
The libvirt_recover_xattrs.sh tool hangs when run. It appears that
calling 'shift' is not modifying the '$#' value, so the loop never
terminates. Rewrite to just loop over $@ instead which involves less
cleverness.
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
tools/libvirt_recover_xattrs.sh | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/tools/libvirt_recover_xattrs.sh b/tools/libvirt_recover_xattrs.sh
index be6ee84b5f..ae9a18bad8 100755
--- a/tools/libvirt_recover_xattrs.sh
+++ b/tools/libvirt_recover_xattrs.sh
@@ -104,11 +104,10 @@ fix_xattrs() {
}
-shift $((OPTIND - 1))
if [ $# -gt 0 ]; then
- while [ $# -gt 0 ]; do
- fix_xattrs "$1"
- shift $((OPTIND - 1))
+ for arg in "$@"
+ do
+ fix_xattrs "$arg"
done
else
if [ ${UNSAFE} -eq 1 ]; then
--
2.33.1
3 years, 1 month
[libvirt PATCH 00/10] Revert <acpi-hotplug-bridge>
by Laine Stump
Starting with commit 58ba0f6a3d7342fba29edbbf2bb9cb5497c870e5, support
for overriding the default hotplug method for a guest using the
<acpi-bridge-hotplug> subelement of <features>/<pci> was added to
libvirt. This uses the QEMU global commandline switch:
ICH9-LPC.acpi-pci-hotplug-with-bridge-support=<off|on>
that was added to QEMU in qemu-6.1 (along with QEMU switching the
default hotplug type for new Q35-based machinetypes from "native PCIe"
to "ACPI").
Unfortunately, soon after we pushed the <acpi-bridge-hotplug> patches
to libvirt (2 days after, to be exact), during a regular weekly
meeting I attend with some of the QEMU developers, along with bugs
that had been found in ACPI hotplug since it was made the default,
they were also discussing issues they'd found with the implementation
of the QEMU commandline switch to change back to native PCIe hotplug.
Apparently the current method used by
acpi-pci-hotplug-with-bridge-support is causing "confusion" in guests,
so they were talking about the possibility of changing what the switch
does (or replacing it), and suggested that libvirt should "hold off"
on supporting it for now. (oops) (they didn't know that we had just
pushed Ani's patches that used it)
Since the current QEMU option is doomed to either changed behavior
(which would result in a guest-visible ABI change) or full deprecation
and replacement, it would be better for libvirt to not use it at all,
and re-implement based on whatever replacement QEMU comes up
with.
Once a new XML element has appeared in a libvirt upstream
release, we are committed to keeping it there "forever". However,
since there has not yet been an upstream release since
<acpi-bridge-hotplug> was added, there is still time to revert and
avoid the endless support/maintenance burden.
Not much time though! And that is the purpose of this patch
series. They revert, in reverse order, Ani's 4 original patches adding
the feature, along with Peter's 6 followup patches that correct a
logic error and streamline/beef up the unit tests.
(Note that it is still possible that QEMU would figure out a way out
of this without modifying their current flag in any significant way,
and in that case we could always "re-apply" the original
patches. However, if we don't revert before the next release (Andrea
has pointed out the freeze for RC1 is next Tuesday, and it would be
best to have it done before then), we will no longer have the option
to remove it.)
There was some conflict resolution necessary after the "git revert"
commands, due to other unrelated patches that changed test case data,
and due to a couple of Peter's patches also touching up the i440fx
pci-root-hotplug disabling test cases (which are *not* being reverted
- they work as advertised!).
Note that this series involves *re-adding* some things, just to remove
them again in a later revert - this is because Peter's patches
effectively reverted the addition of a QEMU capability flag that had
been added in Ani's original patches. If anyone would prefer, I can
squash those patches together so that the extra dance is eliminated
from the diffs; it just seemed more mechanical to do it this way
though.
A more detailed explanation of the issue:
Current Behavior of existing QEMU option
========================================
As far as I understand (and keep in mind that I have misunderstood and
misinterpreted this *at least* 4 separate times since it was first
explained to me!), the effect of this QEMU setting:
-global ICH9-LPC.acpi-pci-hotplug-with-bridge-support=on
is to:
1) enable ACPI hotplug (i.e. expose it to the guest)
2) disable native PCIe hotplug (don't expose it to the guest)
By having only one of the two types of hotplug enabled, the intent is
to force the guest to use the still-enabled type of hotplug.
Unfortunately, after QEMU 6.1 was released with acpi-pci-hotplug=on as
the default for new machinetypes, problems were encountered with ACPI
hotplug, which caused more attention to be called to the QEMU switch,
and the people looking into that found that enabling ACPI and
disabling native PCIe hotplug doesn't necessarily have the desired
effect of causing the guest to use ACPI for hotplug (or maybe it was
the opposite direction). Instead, it "gets confused" (a very technical
term, I know. You can ask Julia or Michael for a definition :-)).
One possible fix that they talked about was changing the behavior of
ICH9-LPC.acpi-pci-hotplug-with-bridge-support:
Potential Change to Behavior of QEMU option
===========================================
I know it's more complex than this (again, Julia or Michael can
explain), but my basic understanding of the way that they're currently
thinking of modifying the acpi-pci-hotplug-with-bridge-support option
is to have everything the same, *except* that when acpi-hotplug=off,
ACPI hotplug will *still be enabled* along with native PCIe hotplug;
but because guest OSes prefer native hotplug over ACPI, native PCIe
hotplug will be chosen in that case. (Presumably this change prevents
the "confusion" that is seen with the existing behavior of the
option).
So essentially, the choice of whether to use ACPI is controlled by
enabling/disabling native PCIe hotplug (which *kind of* goes against
the libvirt philosophy of "the XML describes the virtual machine that
is presented to the guest"; instead it becomes "the XML describes how
the guest will behave").
Another possibility would be to completely scrap (well, deprecate and
later remove) the current QEMU commandline switch in favor of one or
more switches that behave differently but result in the desired
behavior.
In either case, I think the best course of action for libvirt is to
revert the current <acpi-bridge-hotplug>, wait until QEMU settles down
with a new workable set of switches, and then re-do libvirt support
based on that.
Laine Stump (10):
Revert "qemu: capabilities: Remove
QEMU_CAPS_PIIX4_ACPI_HOTPLUG_BRIDGE"
Revert "qemuxml2xmltest: Convert all acpi-hotplug control related
tests to DO_TEST_CAPS_LATEST"
Revert "qemuxml2argvtest: Add '-enable' variants for ACPI-hotplug
related cases"
Revert "qemuxml2argvtest: Use real-caps testing for
'acpi-hotplug-bridge-disable'"
Revert "qemuValidateDomainDefPCIFeature: Fix validation logic"
Revert "qemuValidateDomainDefPCIFeature: un-break error messages"
Revert "NEWS: document new acpi pci hotplug config option"
Revert "qemu: command: add support for acpi-bridge-hotplug feature"
Revert "conf: introduce support for acpi-bridge-hotplug feature"
Revert "qemu: capablities: detect
acpi-pci-hotplug-with-bridge-support"
NEWS.rst | 8 --
docs/formatdomain.rst | 29 ------
docs/schemas/domaincommon.rng | 15 ----
src/conf/domain_conf.c | 89 +------------------
src/conf/domain_conf.h | 9 --
src/qemu/qemu_capabilities.c | 4 +-
src/qemu/qemu_capabilities.h | 3 +-
src/qemu/qemu_command.c | 19 ----
src/qemu/qemu_validate.c | 41 ---------
.../caps_6.1.0.x86_64.xml | 1 -
.../caps_6.2.0.x86_64.xml | 1 -
...-hotplug-bridge-disable.aarch64-latest.err | 1 -
.../aarch64-acpi-hotplug-bridge-disable.xml | 13 ---
...-hotplug-bridge-disable.x86_64-latest.args | 34 -------
.../pc-i440fx-acpi-hotplug-bridge-disable.xml | 33 -------
...i-hotplug-bridge-enable.x86_64-latest.args | 34 -------
.../pc-i440fx-acpi-hotplug-bridge-enable.xml | 33 -------
...pi-hotplug-bridge-disable.x86_64-6.0.0.err | 1 -
...-hotplug-bridge-disable.x86_64-latest.args | 37 --------
.../q35-acpi-hotplug-bridge-disable.xml | 47 ----------
...cpi-hotplug-bridge-enable.x86_64-6.0.0.err | 1 -
...i-hotplug-bridge-enable.x86_64-latest.args | 37 --------
.../q35-acpi-hotplug-bridge-enable.xml | 47 ----------
tests/qemuxml2argvtest.c | 10 ---
...i-hotplug-bridge-disable.x86_64-latest.xml | 36 --------
...pi-hotplug-bridge-enable.x86_64-latest.xml | 36 --------
...cpi-root-hotplug-disable.x86_64-latest.xml | 33 -------
.../pc-i440fx-acpi-root-hotplug-disable.xml | 1 +
...acpi-root-hotplug-enable.x86_64-latest.xml | 33 -------
.../pc-i440fx-acpi-root-hotplug-enable.xml | 1 +
...i-hotplug-bridge-disable.x86_64-latest.xml | 53 -----------
...pi-hotplug-bridge-enable.x86_64-latest.xml | 53 -----------
tests/qemuxml2xmltest.c | 10 +--
33 files changed, 9 insertions(+), 794 deletions(-)
delete mode 100644 tests/qemuxml2argvdata/aarch64-acpi-hotplug-bridge-disable.aarch64-latest.err
delete mode 100644 tests/qemuxml2argvdata/aarch64-acpi-hotplug-bridge-disable.xml
delete mode 100644 tests/qemuxml2argvdata/pc-i440fx-acpi-hotplug-bridge-disable.x86_64-latest.args
delete mode 100644 tests/qemuxml2argvdata/pc-i440fx-acpi-hotplug-bridge-disable.xml
delete mode 100644 tests/qemuxml2argvdata/pc-i440fx-acpi-hotplug-bridge-enable.x86_64-latest.args
delete mode 100644 tests/qemuxml2argvdata/pc-i440fx-acpi-hotplug-bridge-enable.xml
delete mode 100644 tests/qemuxml2argvdata/q35-acpi-hotplug-bridge-disable.x86_64-6.0.0.err
delete mode 100644 tests/qemuxml2argvdata/q35-acpi-hotplug-bridge-disable.x86_64-latest.args
delete mode 100644 tests/qemuxml2argvdata/q35-acpi-hotplug-bridge-disable.xml
delete mode 100644 tests/qemuxml2argvdata/q35-acpi-hotplug-bridge-enable.x86_64-6.0.0.err
delete mode 100644 tests/qemuxml2argvdata/q35-acpi-hotplug-bridge-enable.x86_64-latest.args
delete mode 100644 tests/qemuxml2argvdata/q35-acpi-hotplug-bridge-enable.xml
delete mode 100644 tests/qemuxml2xmloutdata/pc-i440fx-acpi-hotplug-bridge-disable.x86_64-latest.xml
delete mode 100644 tests/qemuxml2xmloutdata/pc-i440fx-acpi-hotplug-bridge-enable.x86_64-latest.xml
delete mode 100644 tests/qemuxml2xmloutdata/pc-i440fx-acpi-root-hotplug-disable.x86_64-latest.xml
create mode 120000 tests/qemuxml2xmloutdata/pc-i440fx-acpi-root-hotplug-disable.xml
delete mode 100644 tests/qemuxml2xmloutdata/pc-i440fx-acpi-root-hotplug-enable.x86_64-latest.xml
create mode 120000 tests/qemuxml2xmloutdata/pc-i440fx-acpi-root-hotplug-enable.xml
delete mode 100644 tests/qemuxml2xmloutdata/q35-acpi-hotplug-bridge-disable.x86_64-latest.xml
delete mode 100644 tests/qemuxml2xmloutdata/q35-acpi-hotplug-bridge-enable.x86_64-latest.xml
--
2.31.1
3 years, 1 month
[PATCH for 7.10] qemu: Fix validation of PCI option rom settings on hotplug
by Peter Krempa
Commit 24be92b8e moved the option rom settings validation code to the
validation callbacks, but that doesn't work properly with device hotplug
as we assign addresses only after parsing the whole XML. The check is
too strict for that and caused failures when hotplugging devices such
as:
<interface type='network'>
<source network='default'/>
<model type='virtio'/>
<rom enabled='no'/>
</interface>
This patch relaxes the check in the validation callback to accept also
_NONE and _UNASSIGNED address types and returns the check to
'qemuBuildRomProps' so that we preserve the full validation as we've
used to.
Fixes: 24be92b8e38762e9ba13e
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2021437
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
src/qemu/qemu_command.c | 6 ++++++
src/qemu/qemu_validate.c | 4 +++-
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 7a185061d8..c47998aabd 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -1147,6 +1147,12 @@ qemuBuildRomProps(virJSONValue *props,
!info->romfile)
return 0;
+ if (info->type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
+ _("ROM tuning is only supported for PCI devices"));
+ return -1;
+ }
+
if (info->romenabled == VIR_TRISTATE_BOOL_NO) {
romfile = "";
} else {
diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c
index 397eea5ede..1de6e05101 100644
--- a/src/qemu/qemu_validate.c
+++ b/src/qemu/qemu_validate.c
@@ -1485,7 +1485,9 @@ qemuValidateDomainDeviceInfo(const virDomainDeviceDef *dev,
}
if (info->romenabled || info->rombar || info->romfile) {
- if (info->type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI) {
+ if (info->type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI &&
+ info->type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE &&
+ info->type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_UNASSIGNED) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("ROM tuning is only supported for PCI devices"));
return -1;
--
2.31.1
3 years, 1 month
[PATCH 0/6] virXMLPropStringLimit removal follow-up
by Peter Krempa
Tim pointed out that some of the code could be simplified a bit more by
using virTristateBool parsing functions and also that strnlen could be
used instead of strlen.
This series does those cleanups as well as one further refactor of
character verification in virDomainDeviceLoadparmIsValid.
Peter Krempa (6):
util: enum: Add helpers for converting virTristate* to a plain bool
conf: seclabel: Parse booleans using virXMLPropTristateBool instead of
virStringParseYesNo
internal: Add STRLIM macro for checking string length using strnlen()
virDomainDeviceLoadparmIsValid: Simplify value lenght check
virDomainDeviceLoadparmIsValid: Use 'strspn' instead of a loop
conf: domain: Convert all string length checks to STRLIM
src/conf/domain_conf.c | 83 +++++++------------
src/internal.h | 9 ++
src/libvirt_private.syms | 2 +
src/util/virenum.c | 54 ++++++++++++
src/util/virenum.h | 2 +
.../machine-loadparm-s390-char-invalid.err | 2 +-
.../machine-loadparm-s390-len-invalid.err | 2 +-
7 files changed, 99 insertions(+), 55 deletions(-)
--
2.31.1
3 years, 1 month
[libvirt PATCH 00/11] qemu snapshot create cleanup and refactor
by Pavel Hrdina
Pavel Hrdina (11):
qemu_snapshot: create: move XML parsing to separate function
qemu_snapshot: create: move XML def validation to separate function
qemu_snapshot: create: move disk align to separate function
qemu_snapshot: create: move virDomainSnapshotAssignDef to both code
paths
qemu_snapshot: create: virDomainSnapshotGetCurrent is not used with
redefine
qemu_snapshot: create: drop update_current variable
qemu_snapshot: create: refactor endjob in qemuSnapshotCreateXML
qemu_snapshot: create: move saving metadata to separate function
qemu_snapshot: create: move snapshot redefine to separate function
qemu_snapshot: create: move snapshot create to separate function
qemu_snapshot: create: drop redefine boolean
src/qemu/qemu_snapshot.c | 409 ++++++++++++++++++++++++---------------
1 file changed, 251 insertions(+), 158 deletions(-)
--
2.31.1
3 years, 1 month
[PATCH for 7.10] qemu: monitor: Fix usage of 'query-blockstats'
by Peter Krempa
Commit bc24810c2cab modified code querying blockstats to use the
'query-nodes' parameter so that we can fetch stats also for images which
are not attached to a frontend such as block copy and backup scratch
images.
Unfortunately that broke the old blockstats because if 'query-nodes' is
enabled qemu doesn't output the 'qdev' parameter which our code used for
matching to the disk and also qemu neglects to populate the frontend
stats at all so we can't even switch to using nodenema for matching.
To fix this we need to do two calls, one with 'query-nodes' disabled
using the old logic to populate everything and then an aditional one
which populates all the remaining images.
Closes: https://gitlab.com/libvirt/libvirt/-/issues/246
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
src/qemu/qemu_monitor_json.c | 52 +++++++++++++++++++++++++++++++++---
tests/qemumonitorjsontest.c | 2 ++
2 files changed, 50 insertions(+), 4 deletions(-)
diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c
index 3030cff664..56f0b22b2a 100644
--- a/src/qemu/qemu_monitor_json.c
+++ b/src/qemu/qemu_monitor_json.c
@@ -2446,6 +2446,30 @@ qemuMonitorJSONGetOneBlockStatsInfo(virJSONValue *dev,
}
+static int
+qemuMonitorJSONGetOneBlockStatsNodeInfo(virJSONValue *dev,
+ GHashTable *hash)
+{
+ qemuBlockStats *bstats = NULL;
+ int nstats = 0;
+ const char *nodename = NULL;
+
+ if (!(nodename = virJSONValueObjectGetString(dev, "node-name")))
+ return 0;
+
+ /* we already have the stats */
+ if (g_hash_table_contains(hash, nodename))
+ return 0;
+
+ if (!(bstats = qemuMonitorJSONBlockStatsCollectData(dev, &nstats)))
+ return -1;
+
+ g_hash_table_insert(hash, g_strdup(nodename), bstats);
+
+ return nstats;
+}
+
+
virJSONValue *
qemuMonitorJSONQueryBlockstats(qemuMonitor *mon,
bool queryNodes)
@@ -2475,13 +2499,14 @@ qemuMonitorJSONGetAllBlockStatsInfo(qemuMonitor *mon,
int nstats = 0;
int rc;
size_t i;
- g_autoptr(virJSONValue) devices = NULL;
+ g_autoptr(virJSONValue) blockstatsDevices = NULL;
+ g_autoptr(virJSONValue) blockstatsNodes = NULL;
- if (!(devices = qemuMonitorJSONQueryBlockstats(mon, true)))
+ if (!(blockstatsDevices = qemuMonitorJSONQueryBlockstats(mon, false)))
return -1;
- for (i = 0; i < virJSONValueArraySize(devices); i++) {
- virJSONValue *dev = virJSONValueArrayGet(devices, i);
+ for (i = 0; i < virJSONValueArraySize(blockstatsDevices); i++) {
+ virJSONValue *dev = virJSONValueArrayGet(blockstatsDevices, i);
const char *dev_name;
if (!dev || virJSONValueGetType(dev) != VIR_JSON_TYPE_OBJECT) {
@@ -2505,6 +2530,25 @@ qemuMonitorJSONGetAllBlockStatsInfo(qemuMonitor *mon,
nstats = rc;
}
+ if (!(blockstatsNodes = qemuMonitorJSONQueryBlockstats(mon, true)))
+ return -1;
+
+ for (i = 0; i < virJSONValueArraySize(blockstatsNodes); i++) {
+ virJSONValue *dev = virJSONValueArrayGet(blockstatsNodes, i);
+
+ if (!dev || virJSONValueGetType(dev) != VIR_JSON_TYPE_OBJECT) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
+ _("blockstats device entry was not in expected format"));
+ return -1;
+ }
+
+ if ((rc = qemuMonitorJSONGetOneBlockStatsNodeInfo(dev, hash)) < 0)
+ return -1;
+
+ if (rc > nstats)
+ nstats = rc;
+ }
+
return nstats;
}
diff --git a/tests/qemumonitorjsontest.c b/tests/qemumonitorjsontest.c
index 0de523007b..bcf5caa9a4 100644
--- a/tests/qemumonitorjsontest.c
+++ b/tests/qemumonitorjsontest.c
@@ -1615,6 +1615,8 @@ testQemuMonitorJSONqemuMonitorJSONGetAllBlockStatsInfo(const void *opaque)
if (qemuMonitorTestAddItem(test, "query-blockstats", reply) < 0)
return -1;
+ if (qemuMonitorTestAddItem(test, "query-blockstats", reply) < 0)
+ return -1;
#define CHECK0FULL(var, value, varformat, valformat) \
if (stats->var != value) { \
--
2.31.1
3 years, 1 month
[libvirt PATCH v2 00/12] Expose TPM availability in domain capabilities
by Daniel P. Berrangé
If we can report whuether TPM is available, then mgmt apps can enable it
by default for new VMs. This is important because OS like Win11 consider
TPM to be mandatory.
In v2:
- Avoid triggering reporting of errors when querying caps
- Only skip reporting of emulator backend when swtpm is
missing, not entire tpm suppport
- Lots of refactoring to support point 1.
Daniel P. Berrangé (12):
util: use consistent naming for swtpm global variables
util: rename typedef for parsing swtpm capabilities
util: refactor TPM helper methods to reduce duplicationm
util: replace TPM global variables with a struct array
util: don't export virTPMEmulatorInit method
util: ensure all TPM global vars access is protected by lock
util: pull TPM capabilities probing out of main init method
util: add a method for checking if swtpm is available
conf: add TPM devices to domain capabilities
qemu: fill in domain capabilities for TPMs
qemu: mock swtpm initialization in tests
run: detect daemons when run via wrapper commands
docs/schemas/domaincaps.rng | 10 +
run.in | 22 +-
src/conf/domain_capabilities.c | 14 ++
src/conf/domain_capabilities.h | 10 +
src/libvirt_private.syms | 2 +-
src/qemu/qemu_capabilities.c | 34 +++
src/qemu/qemu_capabilities.h | 3 +
src/qemu/qemu_tpm.c | 6 -
src/util/virtpm.c | 232 ++++++++++--------
src/util/virtpm.h | 3 +-
.../domaincapsdata/qemu_2.11.0-q35.x86_64.xml | 9 +
.../domaincapsdata/qemu_2.11.0-tcg.x86_64.xml | 9 +
tests/domaincapsdata/qemu_2.11.0.s390x.xml | 1 +
tests/domaincapsdata/qemu_2.11.0.x86_64.xml | 9 +
.../domaincapsdata/qemu_2.12.0-q35.x86_64.xml | 10 +
.../domaincapsdata/qemu_2.12.0-tcg.x86_64.xml | 10 +
.../qemu_2.12.0-virt.aarch64.xml | 1 +
tests/domaincapsdata/qemu_2.12.0.aarch64.xml | 1 +
tests/domaincapsdata/qemu_2.12.0.ppc64.xml | 1 +
tests/domaincapsdata/qemu_2.12.0.s390x.xml | 1 +
tests/domaincapsdata/qemu_2.12.0.x86_64.xml | 10 +
.../domaincapsdata/qemu_3.0.0-q35.x86_64.xml | 10 +
.../domaincapsdata/qemu_3.0.0-tcg.x86_64.xml | 10 +
tests/domaincapsdata/qemu_3.0.0.ppc64.xml | 1 +
tests/domaincapsdata/qemu_3.0.0.s390x.xml | 1 +
tests/domaincapsdata/qemu_3.0.0.x86_64.xml | 10 +
.../domaincapsdata/qemu_3.1.0-q35.x86_64.xml | 10 +
.../domaincapsdata/qemu_3.1.0-tcg.x86_64.xml | 10 +
tests/domaincapsdata/qemu_3.1.0.ppc64.xml | 1 +
tests/domaincapsdata/qemu_3.1.0.x86_64.xml | 10 +
.../domaincapsdata/qemu_4.0.0-q35.x86_64.xml | 10 +
.../domaincapsdata/qemu_4.0.0-tcg.x86_64.xml | 10 +
.../qemu_4.0.0-virt.aarch64.xml | 1 +
tests/domaincapsdata/qemu_4.0.0.aarch64.xml | 1 +
tests/domaincapsdata/qemu_4.0.0.ppc64.xml | 1 +
tests/domaincapsdata/qemu_4.0.0.s390x.xml | 1 +
tests/domaincapsdata/qemu_4.0.0.x86_64.xml | 10 +
.../domaincapsdata/qemu_4.1.0-q35.x86_64.xml | 10 +
.../domaincapsdata/qemu_4.1.0-tcg.x86_64.xml | 10 +
tests/domaincapsdata/qemu_4.1.0.x86_64.xml | 10 +
.../domaincapsdata/qemu_4.2.0-q35.x86_64.xml | 10 +
.../domaincapsdata/qemu_4.2.0-tcg.x86_64.xml | 10 +
.../qemu_4.2.0-virt.aarch64.xml | 1 +
tests/domaincapsdata/qemu_4.2.0.aarch64.xml | 1 +
tests/domaincapsdata/qemu_4.2.0.ppc64.xml | 6 +
tests/domaincapsdata/qemu_4.2.0.s390x.xml | 1 +
tests/domaincapsdata/qemu_4.2.0.x86_64.xml | 10 +
.../domaincapsdata/qemu_5.0.0-q35.x86_64.xml | 10 +
.../domaincapsdata/qemu_5.0.0-tcg.x86_64.xml | 10 +
.../qemu_5.0.0-virt.aarch64.xml | 9 +
tests/domaincapsdata/qemu_5.0.0.aarch64.xml | 9 +
tests/domaincapsdata/qemu_5.0.0.ppc64.xml | 10 +
tests/domaincapsdata/qemu_5.0.0.x86_64.xml | 10 +
.../domaincapsdata/qemu_5.1.0-q35.x86_64.xml | 10 +
.../domaincapsdata/qemu_5.1.0-tcg.x86_64.xml | 10 +
tests/domaincapsdata/qemu_5.1.0.sparc.xml | 1 +
tests/domaincapsdata/qemu_5.1.0.x86_64.xml | 10 +
.../domaincapsdata/qemu_5.2.0-q35.x86_64.xml | 10 +
.../domaincapsdata/qemu_5.2.0-tcg.x86_64.xml | 10 +
.../qemu_5.2.0-virt.aarch64.xml | 9 +
tests/domaincapsdata/qemu_5.2.0.aarch64.xml | 9 +
tests/domaincapsdata/qemu_5.2.0.ppc64.xml | 10 +
tests/domaincapsdata/qemu_5.2.0.s390x.xml | 1 +
tests/domaincapsdata/qemu_5.2.0.x86_64.xml | 10 +
.../domaincapsdata/qemu_6.0.0-q35.x86_64.xml | 10 +
.../domaincapsdata/qemu_6.0.0-tcg.x86_64.xml | 10 +
.../qemu_6.0.0-virt.aarch64.xml | 9 +
tests/domaincapsdata/qemu_6.0.0.aarch64.xml | 9 +
tests/domaincapsdata/qemu_6.0.0.s390x.xml | 1 +
tests/domaincapsdata/qemu_6.0.0.x86_64.xml | 10 +
.../domaincapsdata/qemu_6.1.0-q35.x86_64.xml | 10 +
.../domaincapsdata/qemu_6.1.0-tcg.x86_64.xml | 10 +
tests/domaincapsdata/qemu_6.1.0.x86_64.xml | 10 +
.../domaincapsdata/qemu_6.2.0-q35.x86_64.xml | 10 +
.../domaincapsdata/qemu_6.2.0-tcg.x86_64.xml | 10 +
.../qemu_6.2.0-virt.aarch64.xml | 9 +
tests/domaincapsdata/qemu_6.2.0.aarch64.xml | 9 +
tests/domaincapsdata/qemu_6.2.0.ppc64.xml | 10 +
tests/domaincapsdata/qemu_6.2.0.x86_64.xml | 10 +
tests/domaincapstest.c | 9 +
80 files changed, 731 insertions(+), 127 deletions(-)
--
2.33.1
3 years, 1 month
[libvirt PATCH 0/7] do not check return value of qemuDomainObjExitMonitor
by Ján Tomko
Ján Tomko (7):
qemu: qemuDomainObjExitMonitor: do not warn on unused result
qemu: do not propagate return value of qemuDomainObjExitMonitor
qemu: do not check return value of qemuDomainObjExitMonitor
qemu: do not check return value of qemuDomainObjExitMonitor
qemu: remove ignore_value for qemuDomainObjExitMonitor
qemu: turn qemuDomainObjExitMonitor into void
qemu: absorb qemuDomainObjExitMonitorInternal
src/qemu/THREADS.txt | 5 -
src/qemu/qemu_backup.c | 22 ++--
src/qemu/qemu_block.c | 28 ++--
src/qemu/qemu_blockjob.c | 31 ++---
src/qemu/qemu_checkpoint.c | 12 +-
src/qemu/qemu_domain.c | 54 +++-----
src/qemu/qemu_domain.h | 7 +-
src/qemu/qemu_driver.c | 173 +++++++++++--------------
src/qemu/qemu_hotplug.c | 214 +++++++++++--------------------
src/qemu/qemu_migration.c | 65 +++++-----
src/qemu/qemu_migration_cookie.c | 3 +-
src/qemu/qemu_migration_params.c | 12 +-
src/qemu/qemu_process.c | 75 +++++------
src/qemu/qemu_snapshot.c | 11 +-
14 files changed, 291 insertions(+), 421 deletions(-)
--
2.31.1
3 years, 1 month