From: Peter Krempa <pkrempa@redhat.com> 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> --- 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