[libvirt] [PATCH v3] virsh: avoid missing zero value judgement in cmdBlkiotune
Wen Congyang
wency at cn.fujitsu.com
Thu Jul 28 09:50:35 UTC 2011
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 at redhat.com>
> ---
> 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) {
More information about the libvir-list
mailing list