Re: [PATCH v2] virsh: avoid missing zero value judgement in cmdBlkiotune

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 07/28/2011 05:04 PM, Alex Jia wrote:
* 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 |   11 +++++------
  1 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/tools/virsh.c b/tools/virsh.c
index 8bd22dc..512f2c6 100644
--- a/tools/virsh.c
+++ b/tools/virsh.c
@@ -4037,14 +4037,13 @@ cmdBlkiotune(vshControl * ctl, const vshCmd * cmd)
          goto cleanup;
      }

-    if (weight) {
-        nparams++;
-        if (weight<  0) {
-            vshError(ctl, _("Invalid value of %d for I/O weight"), weight);
-            goto cleanup;
-        }
+    if (weight<= 0) {
+        vshError(ctl, _("Invalid value of %d for I/O weight"), weight);
+        goto cleanup;
      }

+    nparams++;
+
      if (nparams == 0) {
          /* get the number of blkio parameters */
          if (virDomainGetBlkioParameters(dom, NULL,&nparams, flags) != 0) {
Hmm, the above patch will introduce new issue, if blkiotune without any weight option,
vshError will also be hit, that is not we expected.

The reason of root is vshCommandOptInt will assign 0 to weight if option not found and not required, so we need to specifically deal with 0 value, I will renew consider this
issue, so cancel this patch.

Thanks,
Alex

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list


[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]