From: Peter Krempa Date: Thu, 2 Apr 2026 14:46:46 +0000 (+0200) Subject: qemuDomainGetMetadata: Add top-level flag validation X-Git-Tag: v12.4.0-rc1~97 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=366c9935fa2542c6ff6fe80d7e06708cefd5988f;p=thirdparty%2Flibvirt.git qemuDomainGetMetadata: Add top-level flag validation The implementation uses 'virDomainObjGetMetadata' internally. To have a top level flag validation for the upcoming flag introspection export the supported flags as a macro and add a 'virCheckFlags'. Signed-off-by: Peter Krempa Reviewed-by: Ján Tomko --- diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 3497e84bf5..d73bac5cc5 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -31557,8 +31557,7 @@ virDomainObjGetMetadata(virDomainObj *vm, virDomainDef *def; char *ret = NULL; - virCheckFlags(VIR_DOMAIN_AFFECT_LIVE | - VIR_DOMAIN_AFFECT_CONFIG, NULL); + virCheckFlags(VIR_DOMAIN_OBJ_GET_METADATA_FLAGS, NULL); if (type >= VIR_DOMAIN_METADATA_LAST) { virReportError(VIR_ERR_INVALID_ARG, diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index a8f90803da..bdfb99ed1d 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -4543,6 +4543,10 @@ const char *virDomainChrSourceDefGetPath(virDomainChrSourceDef *chr); void virDomainChrSourceDefClear(virDomainChrSourceDef *def); +#define VIR_DOMAIN_OBJ_GET_METADATA_FLAGS \ + VIR_DOMAIN_AFFECT_LIVE | \ + VIR_DOMAIN_AFFECT_CONFIG + char *virDomainObjGetMetadata(virDomainObj *vm, int type, const char *uri, diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 2b061c56e5..794493525a 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -16004,6 +16004,8 @@ qemuDomainGetMetadata(virDomainPtr dom, virDomainObj *vm; char *ret = NULL; + virCheckFlags(VIR_DOMAIN_OBJ_GET_METADATA_FLAGS, NULL); + if (!(vm = qemuDomainObjFromDomain(dom))) return NULL;