Patchwork [9/9] HMP: info status: Print the VM state

login
register
mail settings
Submitter Luiz Capitulino
Date Sept. 9, 2011, 8:25 p.m.
Message ID <1315599946-27081-10-git-send-email-lcapitulino@redhat.com>
Download mbox | patch
Permalink /patch/114132/
State New
Headers show

Comments

Luiz Capitulino - Sept. 9, 2011, 8:25 p.m.
Today our printf format for the "info status" command is:

  VM status: %s

Where the string can be "running", "running (single step mode)" or
"paused".

This commit extends it to:

 VM status: %s (%s)

The second string corresponds to the "status" field as returned
by the query-status QMP command and it's only printed if "status"
is not "running" or "paused".

Example:

 VM status: paused (shutdown)

PS: libvirt uses "info status" when using HMP, but the new format
    should not break it.

Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
---
 monitor.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

Patch

diff --git a/monitor.c b/monitor.c
index 7684ba9..860530b 100644
--- a/monitor.c
+++ b/monitor.c
@@ -2618,6 +2618,7 @@  static int do_inject_nmi(Monitor *mon, const QDict *qdict, QObject **ret_data)
 static void do_info_status_print(Monitor *mon, const QObject *data)
 {
     QDict *qdict;
+    const char *status;
 
     qdict = qobject_to_qdict(data);
 
@@ -2631,6 +2632,11 @@  static void do_info_status_print(Monitor *mon, const QObject *data)
         monitor_printf(mon, "paused");
     }
 
+    status = qdict_get_str(qdict, "status");
+    if (strcmp(status, "paused") && strcmp(status, "running")) {
+        monitor_printf(mon, " (%s)", status);
+    }
+
     monitor_printf(mon, "\n");
 }