From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MqUPX-0003Ni-RR for qemu-devel@nongnu.org; Wed, 23 Sep 2009 12:09:43 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MqUPT-0003JJ-4L for qemu-devel@nongnu.org; Wed, 23 Sep 2009 12:09:43 -0400 Received: from [199.232.76.173] (port=54910 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MqUPS-0003J4-SY for qemu-devel@nongnu.org; Wed, 23 Sep 2009 12:09:38 -0400 Received: from mx1.redhat.com ([209.132.183.28]:48181) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MqUPS-0007sU-AD for qemu-devel@nongnu.org; Wed, 23 Sep 2009 12:09:38 -0400 Date: Wed, 23 Sep 2009 13:09:29 -0300 From: Luiz Capitulino Subject: Re: [Qemu-devel] [PATCH 4/5] monitor: Port do_info_balloon() to QObject Message-ID: <20090923130929.32331eff@doriath> In-Reply-To: <87vdj9iru1.fsf@pike.pond.sub.org> References: <1251987859-20254-1-git-send-email-lcapitulino@redhat.com> <1251987859-20254-5-git-send-email-lcapitulino@redhat.com> <87vdj9iru1.fsf@pike.pond.sub.org> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Markus Armbruster Cc: aliguori@us.ibm.com, qemu-devel@nongnu.org, avi@redhat.com On Wed, 23 Sep 2009 17:49:42 +0200 Markus Armbruster wrote: > Luiz Capitulino writes: > > > do_info_balloon() returns 0 on success or -1 when the 'balloon' > > value could not be queried. > > > > The returned data is always a QString. > > > > This also introduces monitor_print_qobject(), which can be > > used as a standard way to print QObjects in the user protocol > > format. > > > > Signed-off-by: Luiz Capitulino > > --- > > monitor.c | 41 +++++++++++++++++++++++++++++++++-------- > > 1 files changed, 33 insertions(+), 8 deletions(-) > > > > diff --git a/monitor.c b/monitor.c > > index f9f3cbd..545833d 100644 > > --- a/monitor.c > > +++ b/monitor.c > [...] > > @@ -1586,18 +1602,27 @@ static void do_balloon(Monitor *mon, const QDict *qdict) > > qemu_balloon(target << 20); > > } > > > > -static void do_info_balloon(Monitor *mon) > > +static int do_info_balloon(Monitor *mon, QObject **ret_data) > > { > > + QString *qs; > > ram_addr_t actual; > > + int ret = -1; > > > > actual = qemu_balloon_status(); > > - if (kvm_enabled() && !kvm_has_sync_mmu()) > > - monitor_printf(mon, "Using KVM without synchronous MMU, " > > + if (kvm_enabled() && !kvm_has_sync_mmu()) { > > + qs = qstring_from_str("Using KVM without synchronous MMU, " > > "ballooning disabled\n"); > > - else if (actual == 0) > > - monitor_printf(mon, "Ballooning not activated in VM\n"); > > - else > > - monitor_printf(mon, "balloon: actual=%d\n", (int)(actual >> 20)); > > + } else if (actual == 0) { > > + qs = qstring_from_str("Ballooning not activated in VM\n"); > > + } else { > > + char buf[128]; > > + sprintf(buf, "balloon: actual=%d\n", (int)(actual >> 20)); > > + qs = qstring_from_str(buf); > > + ret = 0; > > If this pattern turns out to be common, let's create qstring_printf() to > print to a new qstring. Yes, I already have it in my tree, but do_info_balloon() is a bit different now. This is my RFC series, right? Things change fast on QMP buggy world. :)