On 12/03/10 19:03, Michael Roth wrote: > Add RPC to view guest dmesg output. > > Signed-off-by: Michael Roth <mdr...@linux.vnet.ibm.com> > --- > 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