From: Peter Krempa <[email protected]>

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 <[email protected]>
---
 src/conf/domain_conf.c | 3 +--
 src/conf/domain_conf.h | 4 ++++
 src/qemu/qemu_driver.c | 2 ++
 3 files changed, 7 insertions(+), 2 deletions(-)

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 758dbbe19f..c8975fbbf6 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -15998,6 +15998,8 @@ qemuDomainGetMetadata(virDomainPtr dom,
     virDomainObj *vm;
     char *ret = NULL;

+    virCheckFlags(VIR_DOMAIN_OBJ_GET_METADATA_FLAGS, NULL);
+
     if (!(vm = qemuDomainObjFromDomain(dom)))
         return NULL;

-- 
2.54.0

Reply via email to