monitor: Fix do_info_balloon() output

Monitor commands should always return values in bytes and info
commands should always return a QDict.

Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
Luiz Capitulino 2009-12-10 17:15:55 -02:00 committed by Anthony Liguori
parent f2e1750803
commit 7f1796713e
1 changed files with 16 additions and 3 deletions

View File

@ -1919,12 +1919,24 @@ static void do_balloon(Monitor *mon, const QDict *qdict, QObject **ret_data)
static void monitor_print_balloon(Monitor *mon, const QObject *data) static void monitor_print_balloon(Monitor *mon, const QObject *data)
{ {
monitor_printf(mon, "balloon: actual=%d\n", QDict *qdict;
(int)qint_get_int(qobject_to_qint(data)));
qdict = qobject_to_qdict(data);
monitor_printf(mon, "balloon: actual=%" PRId64 "\n",
qdict_get_int(qdict, "balloon") >> 20);
} }
/** /**
* do_info_balloon(): Balloon information * do_info_balloon(): Balloon information
*
* Return a QDict with the following information:
*
* - "balloon": current balloon value in bytes
*
* Example:
*
* { "balloon": 1073741824 }
*/ */
static void do_info_balloon(Monitor *mon, QObject **ret_data) static void do_info_balloon(Monitor *mon, QObject **ret_data)
{ {
@ -1936,7 +1948,8 @@ static void do_info_balloon(Monitor *mon, QObject **ret_data)
else if (actual == 0) else if (actual == 0)
qemu_error_new(QERR_DEVICE_NOT_ACTIVE, "balloon"); qemu_error_new(QERR_DEVICE_NOT_ACTIVE, "balloon");
else else
*ret_data = QOBJECT(qint_from_int((int)(actual >> 20))); *ret_data = qobject_from_jsonf("{ 'balloon': %" PRId64 "}",
(int64_t) actual);
} }
static qemu_acl *find_acl(Monitor *mon, const char *name) static qemu_acl *find_acl(Monitor *mon, const char *name)