From: Peter Krempa Date: Thu, 23 Apr 2026 11:54:49 +0000 (+0200) Subject: qemuDomainSetSchedulerParameters: Make typed parameters introspectable X-Git-Tag: v12.4.0-rc1~92 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ce92ec2bdbe50a782cf660393da864a846016bf4;p=thirdparty%2Flibvirt.git qemuDomainSetSchedulerParameters: Make typed parameters introspectable 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 Reviewed-by: Ján Tomko --- diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index ac1b4004f9..3d44c6d960 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -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,