On Fri, Mar 08, 2024 at 16:15:25 +0100, Michal Privoznik wrote:
In near future we will want to check whether capabilities for
given virtType exist, but report an error on our own. Introduce
reportError argument which makes the function report an error iff
set.
In one specific case (virQEMUCapsGetDefaultVersion()) we were
even overwriting (more specific) error message reportd by
virCapabilitiesDomainDataLookup(). Drop that too.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
src/conf/capabilities.c | 20 +++++++++++++++-----
src/conf/capabilities.h | 3 ++-
src/conf/domain_conf.c | 5 ++++-
src/libxl/xen_common.c | 5 ++++-
src/qemu/qemu_capabilities.c | 10 +++++-----
5 files changed, 30 insertions(+), 13 deletions(-)
diff --git a/src/conf/capabilities.c b/src/conf/capabilities.c
index 02298e40a3..5a0c7de646 100644
--- a/src/conf/capabilities.c
+++ b/src/conf/capabilities.c
@@ -591,7 +591,8 @@ virCapabilitiesDomainDataLookupInternal(virCaps *caps,
virArch arch,
virDomainVirtType domaintype,
const char *emulator,
- const char *machinetype)
+ const char *machinetype,
+ bool reportError)
{
virCapsGuest *foundguest = NULL;
virCapsGuestDomain *founddomain = NULL;
@@ -680,6 +681,10 @@ virCapabilitiesDomainDataLookupInternal(virCaps *caps,
/* XXX check default_emulator, see how it uses this */
if (!foundguest) {
g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER;
+
+ if (!reportError)
+ return NULL;
In this same scope there is another case reporting error via 'return
ret'. Preferrably change the other one to explicit return NULL as there
is a massive block of code above it and the reader doesn't know right
away why 'ret' is returned.