[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