[libvirt] [PATCH] virsh: fix return value error of cpu-stats

Guannan Ren gren at redhat.com
Fri Aug 23 10:22:08 UTC 2013


virsh cpu-stats guest --start 0 --count 3
It outputs right but the return value is 1 rather than 0
echo $?
1

Found by running libvirt-autotest
./run -t libvirt --tests virsh_cpu_stats
---
 tools/virsh-domain.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c
index b29f934..bcf495c 100644
--- a/tools/virsh-domain.c
+++ b/tools/virsh-domain.c
@@ -6350,7 +6350,9 @@ cmdCPUStats(vshControl *ctl, const vshCmd *cmd)
 
     if (!nparams) {
         vshPrint(ctl, "%s", _("No per-CPU stats available"));
-        goto do_show_total;
+        if (show_total)
+            goto do_show_total;
+        goto cleanup;
     }
 
     if (VIR_ALLOC_N(params, nparams * MIN(show_count, 128)) < 0)
@@ -6389,10 +6391,12 @@ cmdCPUStats(vshControl *ctl, const vshCmd *cmd)
     }
     VIR_FREE(params);
 
-do_show_total:
-    if (!show_total)
+    if (!show_total) {
+        ret = true;
         goto cleanup;
+    }
 
+do_show_total:
     /* get supported num of parameter for total statistics */
     if ((nparams = virDomainGetCPUStats(dom, NULL, 0, -1, 1, flags)) < 0)
         goto failed_stats;
-- 
1.8.3.1




More information about the libvir-list mailing list