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