]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemuDomainSetSchedulerParameters: Make typed parameters introspectable
authorPeter Krempa <pkrempa@redhat.com>
Thu, 23 Apr 2026 11:54:49 +0000 (13:54 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Thu, 14 May 2026 10:13:10 +0000 (12:13 +0200)
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 <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/qemu/qemu_driver.c

index ac1b4004f9394d5b04399af9f832dadd466bef56..3d44c6d9602e78b99e8d76cb9fbf30a80beba639 100644 (file)
@@ -8996,6 +8996,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,
@@ -9021,26 +9035,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)))
@@ -9302,6 +9299,10 @@ qemuDomainSetSchedulerParameters(virDomainPtr dom,
                                  virTypedParameterPtr params,
                                  int nparams)
 {
+    if (virTypedParamsValidateTemplate(params, nparams,
+                                       qemuDomainSetSchedulerParametersValidation) < 0)
+        return -1;
+
     return qemuDomainSetSchedulerParametersFlags(dom,
                                                  params,
                                                  nparams,