At 07/28/2011 05:52 PM, Alex Jia Write: > * tools/virsh.c: avoid missing zero value judgement in cmdBlkiotune, when > weight is equal to 0, the cmdBlkiotune will not raise any error information > when judge weight value first time, and execute else branch to judge weight > value again, strncpy(temp->field, VIR_DOMAIN_BLKIO_WEIGHT, sizeof(temp->field)) > will be not executed for ever. However, if and only if param->field is equal > to VIR_DOMAIN_BLKIO_WEIGHT, underlying qemuDomainSetBlkioParameters function > will check whether weight value is in range [100, 1000]. > > * how to reproduce? > > % virsh blkiotune ${guestname} --weight 0 > > Signed-off-by: Alex Jia <ajia@xxxxxxxxxx> > --- > tools/virsh.c | 6 +++--- > 1 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/tools/virsh.c b/tools/virsh.c > index 8bd22dc..f24050d 100644 > --- a/tools/virsh.c > +++ b/tools/virsh.c > @@ -4037,12 +4037,12 @@ cmdBlkiotune(vshControl * ctl, const vshCmd * cmd) > goto cleanup; > } > > - if (weight) { > - nparams++; > - if (weight < 0) { > + if (vshCommandOptInt(cmd, "weight", &weight) > 0) { Why you call vshCommandOptInt(cmd, "weight", &weight) again? > + if (weight <= 0) { > vshError(ctl, _("Invalid value of %d for I/O weight"), weight); > goto cleanup; > } > + nparams++; > } > > if (nparams == 0) { -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list