New monitor commands should always return values in bytes. Signed-off-by: Luiz Capitulino <lcapitul...@redhat.com> --- monitor.c | 12 +++++++++--- 1 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/monitor.c b/monitor.c index 3286ba2..e3368c8 100644 --- a/monitor.c +++ b/monitor.c @@ -1702,12 +1702,18 @@ static void do_balloon(Monitor *mon, const QDict *qdict, QObject **ret_data) 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))); + monitor_printf(mon, "balloon: actual=%" PRId64 "\n", + qint_get_int(qobject_to_qint(data)) >> 20); } /** * do_info_balloon(): Balloon information + * + * Return a QInt with current ballooning value. + * + * Example: + * + * 1073741824 */ static void do_info_balloon(Monitor *mon, QObject **ret_data) { @@ -1720,7 +1726,7 @@ static void do_info_balloon(Monitor *mon, QObject **ret_data) else if (actual == 0) monitor_printf(mon, "Ballooning not activated in VM\n"); else - *ret_data = QOBJECT(qint_from_int((int)(actual >> 20))); + *ret_data = QOBJECT(qint_from_int(actual)); } static qemu_acl *find_acl(Monitor *mon, const char *name) -- 1.6.5.3.148.g785c5