Blob Blame History Raw
From e864627c742bc647a36f622066744fdabe1be8c0 Mon Sep 17 00:00:00 2001
Message-Id: <e864627c742bc647a36f622066744fdabe1be8c0.1387385061.git.jdenemar@redhat.com>
From: Guannan Ren <gren@redhat.com>
Date: Mon, 16 Dec 2013 09:48:44 +0100
Subject: [PATCH] virsh: fix return value error of cpu-stats

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

(cherry picked from commit 9eb444364e5afca1e02448c48e0cb4ce36bf65db)

https://bugzilla.redhat.com/show_bug.cgi?id=1043388

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
---
 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 b692299..9afe44a 100644
--- a/tools/virsh-domain.c
+++ b/tools/virsh-domain.c
@@ -6340,7 +6340,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)
@@ -6379,10 +6381,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.5.1