aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuiz Capitulino <lcapitulino@redhat.com>2009-10-07 13:42:03 -0300
committerAnthony Liguori <aliguori@us.ibm.com>2009-10-08 21:17:19 -0500
commitcc1d9c70152ecb9bb85908af31c04b1e80bce34d (patch)
treee1e8367cce165c012598a610838030fed6534718
parentab2d3187620e98f23c84b991e1c8d70aefc76198 (diff)
monitor: Convert do_info_balloon() to QObject
On success return a QInt with the balloon's value. This also introduces monitor_print_balloon() to print the balloon information in the user protocol. Please, note that errors are not being converted yet. Patchworks-ID: 35351 Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
-rw-r--r--monitor.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/monitor.c b/monitor.c
index 8c9cc9b190..9983f34525 100644
--- a/monitor.c
+++ b/monitor.c
@@ -1633,7 +1633,16 @@ static void do_balloon(Monitor *mon, const QDict *qdict, QObject **ret_data)
qemu_balloon(target << 20);
}
-static void do_info_balloon(Monitor *mon)
+static void monitor_print_balloon(Monitor *mon, const QObject *data)
+{
+ monitor_printf(mon, "balloon: actual=%d\n",
+ (int)qint_get_int(qobject_to_qint(data)));
+}
+
+/**
+ * do_info_balloon(): Balloon information
+ */
+static void do_info_balloon(Monitor *mon, QObject **ret_data)
{
ram_addr_t actual;
@@ -1644,7 +1653,7 @@ static void do_info_balloon(Monitor *mon)
else if (actual == 0)
monitor_printf(mon, "Ballooning not activated in VM\n");
else
- monitor_printf(mon, "balloon: actual=%d\n", (int)(actual >> 20));
+ *ret_data = QOBJECT(qint_from_int((int)(actual >> 20)));
}
static qemu_acl *find_acl(Monitor *mon, const char *name)
@@ -2107,7 +2116,8 @@ static const mon_cmd_t info_cmds[] = {
.args_type = "",
.params = "",
.help = "show balloon information",
- .mhandler.info = do_info_balloon,
+ .user_print = monitor_print_balloon,
+ .mhandler.info_new = do_info_balloon,
},
{
.name = "qtree",