On 05/18/2011 04:21 AM, Matthias Bolte wrote: > Add invalid argument checks for params and nparams to the public API > and remove the from the drivers (e.g. xend). > > Add subset handling to libxl and test drivers. > @@ -5092,6 +5092,12 @@ virDomainSetSchedulerParameters(virDomainPtr domain, > virDispatchError(NULL); > return -1; > } > + > + if (params == NULL || nparams < 0) { So this documents that nparams should be in the closed range [1, max]... > @@ -2683,20 +2683,19 @@ static int testDomainSetSchedulerParams(virDomainPtr domain, > goto cleanup; > } > > - if (nparams != 1) { > - testError(VIR_ERR_INVALID_ARG, "nparams"); > - goto cleanup; > - } > - if (STRNEQ(params[0].field, "weight")) { > - testError(VIR_ERR_INVALID_ARG, "field"); > - goto cleanup; > - } > - if (params[0].type != VIR_DOMAIN_SCHED_FIELD_UINT) { > - testError(VIR_ERR_INVALID_ARG, "type"); > - goto cleanup; > + for (i = 0; i < nparams; i++) { > + if (STRNEQ(params[i].field, "weight")) { Hmm, this change lets us pass an array of two separate weight changes, the last one wins, whereas prepatch the maximum was 1, so you could not pass two duplicate weights. > +++ b/src/xen/xen_hypervisor.c > @@ -1364,10 +1364,9 @@ xenHypervisorSetSchedulerParameters(virDomainPtr domain, > return -1; > } > > - if ((nparams == 0) || (params == NULL)) { > - virXenErrorFunc(VIR_ERR_INVALID_ARG, __FUNCTION__, > - "Noparameters given", 0); > - return(-1); > + if (nparams == 0) { > + /* nothing to do, exit early */ > + return 0; Given the public check that nparams is not less than 1, this is now dead code. -- Eric Blake eblake@xxxxxxxxxx +1-801-349-2682 Libvirt virtualization library http://libvirt.org
Attachment:
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list