From: Peter Krempa <[email protected]>

For making introspection possible both qemuDomainSetSchedulerParameters
and qemuDomainSetSchedulerParametersFlags need to have the check
present.

Refactor the flag validation to make it present in both APIs.

Signed-off-by: Peter Krempa <[email protected]>
---
 src/qemu/qemu_driver.c | 41 +++++++++++++++++++++--------------------
 1 file changed, 21 insertions(+), 20 deletions(-)

diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index d64366924c..f0ef6796d3 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -8991,6 +8991,20 @@ qemuSetIOThreadsBWLive(virDomainObj *vm, virCgroup 
*cgroup,
         goto endjob; \
     }

+
+const virTypedParamValidationTemplate 
qemuDomainSetSchedulerParametersValidation[] = {
+    { VIR_DOMAIN_SCHEDULER_CPU_SHARES, VIR_TYPED_PARAM_ULLONG },
+    { VIR_DOMAIN_SCHEDULER_VCPU_PERIOD, VIR_TYPED_PARAM_ULLONG },
+    { VIR_DOMAIN_SCHEDULER_VCPU_QUOTA, VIR_TYPED_PARAM_LLONG },
+    { VIR_DOMAIN_SCHEDULER_GLOBAL_PERIOD, VIR_TYPED_PARAM_ULLONG },
+    { VIR_DOMAIN_SCHEDULER_GLOBAL_QUOTA, VIR_TYPED_PARAM_LLONG },
+    { VIR_DOMAIN_SCHEDULER_EMULATOR_PERIOD, VIR_TYPED_PARAM_ULLONG },
+    { VIR_DOMAIN_SCHEDULER_EMULATOR_QUOTA, VIR_TYPED_PARAM_LLONG },
+    { VIR_DOMAIN_SCHEDULER_IOTHREAD_PERIOD, VIR_TYPED_PARAM_ULLONG },
+    { VIR_DOMAIN_SCHEDULER_IOTHREAD_QUOTA, VIR_TYPED_PARAM_LLONG },
+    { "", 0 }
+};
+
 static int
 qemuDomainSetSchedulerParametersFlags(virDomainPtr dom,
                                       virTypedParameterPtr params,
@@ -9016,26 +9030,9 @@ qemuDomainSetSchedulerParametersFlags(virDomainPtr dom,

     virCheckFlags(VIR_DOMAIN_AFFECT_LIVE |
                   VIR_DOMAIN_AFFECT_CONFIG, -1);
-    if (virTypedParamsValidate(params, nparams,
-                               VIR_DOMAIN_SCHEDULER_CPU_SHARES,
-                               VIR_TYPED_PARAM_ULLONG,
-                               VIR_DOMAIN_SCHEDULER_VCPU_PERIOD,
-                               VIR_TYPED_PARAM_ULLONG,
-                               VIR_DOMAIN_SCHEDULER_VCPU_QUOTA,
-                               VIR_TYPED_PARAM_LLONG,
-                               VIR_DOMAIN_SCHEDULER_GLOBAL_PERIOD,
-                               VIR_TYPED_PARAM_ULLONG,
-                               VIR_DOMAIN_SCHEDULER_GLOBAL_QUOTA,
-                               VIR_TYPED_PARAM_LLONG,
-                               VIR_DOMAIN_SCHEDULER_EMULATOR_PERIOD,
-                               VIR_TYPED_PARAM_ULLONG,
-                               VIR_DOMAIN_SCHEDULER_EMULATOR_QUOTA,
-                               VIR_TYPED_PARAM_LLONG,
-                               VIR_DOMAIN_SCHEDULER_IOTHREAD_PERIOD,
-                               VIR_TYPED_PARAM_ULLONG,
-                               VIR_DOMAIN_SCHEDULER_IOTHREAD_QUOTA,
-                               VIR_TYPED_PARAM_LLONG,
-                               NULL) < 0)
+
+    if (virTypedParamsValidateTemplate(params, nparams,
+                                       
qemuDomainSetSchedulerParametersValidation) < 0)
         return -1;

     if (!(vm = qemuDomainObjFromDomain(dom)))
@@ -9297,6 +9294,10 @@ qemuDomainSetSchedulerParameters(virDomainPtr dom,
                                  virTypedParameterPtr params,
                                  int nparams)
 {
+    if (virTypedParamsValidateTemplate(params, nparams,
+                                       
qemuDomainSetSchedulerParametersValidation) < 0)
+        return -1;
+
     return qemuDomainSetSchedulerParametersFlags(dom,
                                                  params,
                                                  nparams,
-- 
2.54.0

Reply via email to