From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=51373 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PPyfR-0007Gh-CC for qemu-devel@nongnu.org; Tue, 07 Dec 2010 09:37:22 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PPyfQ-0004KB-5l for qemu-devel@nongnu.org; Tue, 07 Dec 2010 09:37:21 -0500 Received: from mx1.redhat.com ([209.132.183.28]:46662) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PPyfP-0004K7-Tu for qemu-devel@nongnu.org; Tue, 07 Dec 2010 09:37:20 -0500 Message-ID: <4CFE4699.5070000@redhat.com> Date: Tue, 07 Dec 2010 15:37:13 +0100 From: Jes Sorensen MIME-Version: 1.0 References: <1291399402-20366-1-git-send-email-mdroth@linux.vnet.ibm.com> <1291399402-20366-10-git-send-email-mdroth@linux.vnet.ibm.com> In-Reply-To: <1291399402-20366-10-git-send-email-mdroth@linux.vnet.ibm.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] Re: [RFC][PATCH v5 09/21] virtagent: add va.getdmesg RPC List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Michael Roth Cc: agl@linux.vnet.ibm.com, stefanha@linux.vnet.ibm.com, abeekhof@redhat.com, qemu-devel@nongnu.org, aliguori@linux.vnet.ibm.com, ryanh@us.ibm.com On 12/03/10 19:03, Michael Roth wrote: > Add RPC to view guest dmesg output. > > Signed-off-by: Michael Roth > --- > virtagent-server.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++ > 1 files changed, 46 insertions(+), 0 deletions(-) > > diff --git a/virtagent-server.c b/virtagent-server.c > index a430b58..aac8f70 100644 > --- a/virtagent-server.c > +++ b/virtagent-server.c > @@ -83,6 +83,50 @@ EXIT_CLOSE_BAD: > return result; > } > > +/* va_getdmesg(): return dmesg output > + * rpc return values: > + * - dmesg output as a string > + */ > +static xmlrpc_value *va_getdmesg(xmlrpc_env *env, > + xmlrpc_value *param, > + void *user_data) > +{ > + char *dmesg_buf = NULL, cmd[256]; > + int ret; > + xmlrpc_value *result = NULL; > + FILE *pipe; > + > + SLOG("va_getdmesg()"); > + > + dmesg_buf = qemu_mallocz(VA_DMESG_LEN + 2048); > + sprintf(cmd, "dmesg -s %d", VA_DMESG_LEN); What happens if the guest's dmesg buffer is larger than your hardcoded value? Jes