From nobody Mon Feb 9 14:33:57 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1502117394359952.6529005035701; Mon, 7 Aug 2017 07:49:54 -0700 (PDT) Received: from localhost ([::1]:37704 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dejLs-0001Ey-J0 for importer@patchew.org; Mon, 07 Aug 2017 10:49:52 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48516) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dejIj-0006wc-DB for qemu-devel@nongnu.org; Mon, 07 Aug 2017 10:46:52 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dejIY-0003fh-OB for qemu-devel@nongnu.org; Mon, 07 Aug 2017 10:46:37 -0400 Received: from mx1.redhat.com ([209.132.183.28]:55878) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dejIO-0003TW-7u; Mon, 07 Aug 2017 10:46:16 -0400 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 21641356EC; Mon, 7 Aug 2017 14:46:15 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-254.ams2.redhat.com [10.36.116.254]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 9C1E08F37A; Mon, 7 Aug 2017 14:46:14 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 2803511386CD; Mon, 7 Aug 2017 16:46:00 +0200 (CEST) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 21641356EC Authentication-Results: ext-mx06.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx06.extmail.prod.ext.phx2.redhat.com; spf=fail smtp.mailfrom=armbru@redhat.com From: Markus Armbruster To: qemu-devel@nongnu.org Date: Mon, 7 Aug 2017 16:45:13 +0200 Message-Id: <1502117160-24655-10-git-send-email-armbru@redhat.com> In-Reply-To: <1502117160-24655-1-git-send-email-armbru@redhat.com> References: <1502117160-24655-1-git-send-email-armbru@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.30]); Mon, 07 Aug 2017 14:46:15 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [RFC PATCH 09/56] balloon: Make balloon size unsigned in QAPI/QMP X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: kwolf@redhat.com, famz@redhat.com, qemu-block@nongnu.org, quintela@redhat.com, jcody@redhat.com, dgilbert@redhat.com, mreitz@redhat.com, marcandre.lureau@redhat.com, pbonzini@redhat.com, jsnow@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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 --- 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; } =20 -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; } =20 - monitor_printf(mon, "balloon: actual=3D%" PRId64 "\n", info->actual >>= 20); + monitor_printf(mon, "balloon: actual=3D%" PRIu64 "\n", info->actual >>= 20); =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' } } =20 ## # @query-balloon: @@ -2603,7 +2603,7 @@ # <- { "return": {} } # ## -{ 'command': 'balloon', 'data': {'value': 'int'} } +{ 'command': 'balloon', 'data': {'value': 'size'} } =20 ## # @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' } } =20 ## # @GUEST_PANICKED: --=20 2.7.5