[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-block] [RFC PATCH 09/56] balloon: Make balloon size unsigned in QA
From: |
Markus Armbruster |
Subject: |
[Qemu-block] [RFC PATCH 09/56] balloon: Make balloon size unsigned in QAPI/QMP |
Date: |
Mon, 7 Aug 2017 16:45:13 +0200 |
Sizes should use QAPI type 'size' (uint64_t). balloon parameter
@value is 'int' (int64_t). qmp_balloon() implicitly converts to
ram_addr_t, i.e. uint64_t. BALLOON_CHANGE parameter @actual and
BalloonInfo member @actual are also 'int'.
virtio_balloon_set_config() and virtio_balloon_stat() implicitly
convert from ram_addr_t.
Change all three to 'size', and adjust the code using them.
balloon now accepts size values between 2^63 and 2^64-1. It accepts
negative values as before, because that's how the QObject input
visitor works for backward compatibility.
Doing the same for HMP's balloon deserves its own commit (the next
one).
BALLOON_CHANGE and query-balloon now report sizes above 2^63-1
correctly instead of their (negative) two's complement.
So does HMP's "info balloon".
Signed-off-by: Markus Armbruster <address@hidden>
---
balloon.c | 2 +-
hmp.c | 2 +-
qapi-schema.json | 4 ++--
qapi/event.json | 2 +-
4 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/balloon.c b/balloon.c
index 1d720ff..2ecca76 100644
--- a/balloon.c
+++ b/balloon.c
@@ -102,7 +102,7 @@ BalloonInfo *qmp_query_balloon(Error **errp)
return info;
}
-void qmp_balloon(int64_t target, Error **errp)
+void qmp_balloon(uint64_t target, Error **errp)
{
if (!have_balloon(errp)) {
return;
diff --git a/hmp.c b/hmp.c
index 8257dd0..4556045 100644
--- a/hmp.c
+++ b/hmp.c
@@ -781,7 +781,7 @@ void hmp_info_balloon(Monitor *mon, const QDict *qdict)
return;
}
- monitor_printf(mon, "balloon: actual=%" PRId64 "\n", info->actual >> 20);
+ monitor_printf(mon, "balloon: actual=%" PRIu64 "\n", info->actual >> 20);
qapi_free_BalloonInfo(info);
}
diff --git a/qapi-schema.json b/qapi-schema.json
index 3ad2bc0..23eb60d 100644
--- a/qapi-schema.json
+++ b/qapi-schema.json
@@ -2003,7 +2003,7 @@
# Since: 0.14.0
#
##
-{ 'struct': 'BalloonInfo', 'data': {'actual': 'int' } }
+{ 'struct': 'BalloonInfo', 'data': {'actual': 'size' } }
##
# @query-balloon:
@@ -2603,7 +2603,7 @@
# <- { "return": {} }
#
##
-{ 'command': 'balloon', 'data': {'value': 'int'} }
+{ 'command': 'balloon', 'data': {'value': 'size'} }
##
# @Abort:
diff --git a/qapi/event.json b/qapi/event.json
index 6d22b02..9dfc70b 100644
--- a/qapi/event.json
+++ b/qapi/event.json
@@ -488,7 +488,7 @@
#
##
{ 'event': 'BALLOON_CHANGE',
- 'data': { 'actual': 'int' } }
+ 'data': { 'actual': 'size' } }
##
# @GUEST_PANICKED:
--
2.7.5
[Qemu-block] [RFC PATCH 09/56] balloon: Make balloon size unsigned in QAPI/QMP,
Markus Armbruster <=
[Qemu-block] [RFC PATCH 03/56] monitor: Rewrite comment describing HMP .args_type, Markus Armbruster, 2017/08/07