From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:48976) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QkejB-0001vD-4Z for qemu-devel@nongnu.org; Sat, 23 Jul 2011 12:06:58 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Qkej9-00082o-5q for qemu-devel@nongnu.org; Sat, 23 Jul 2011 12:06:57 -0400 Received: from e7.ny.us.ibm.com ([32.97.182.137]:43967) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Qkej8-00082c-VT for qemu-devel@nongnu.org; Sat, 23 Jul 2011 12:06:55 -0400 Received: from d01relay01.pok.ibm.com (d01relay01.pok.ibm.com [9.56.227.233]) by e7.ny.us.ibm.com (8.14.4/8.13.1) with ESMTP id p6NFf7D2028264 for ; Sat, 23 Jul 2011 11:41:07 -0400 Received: from d01av01.pok.ibm.com (d01av01.pok.ibm.com [9.56.224.215]) by d01relay01.pok.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id p6NG6cPR138352 for ; Sat, 23 Jul 2011 12:06:38 -0400 Received: from d01av01.pok.ibm.com (loopback [127.0.0.1]) by d01av01.pok.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id p6NG6cFX032044 for ; Sat, 23 Jul 2011 12:06:38 -0400 Message-ID: <4E2AF189.7040403@linux.vnet.ibm.com> Date: Sat, 23 Jul 2011 11:06:33 -0500 From: Michael Roth MIME-Version: 1.0 References: <1311108115-27128-4-git-send-email-mdroth@linux.vnet.ibm.com> <1311193177-22282-1-git-send-email-mdroth@linux.vnet.ibm.com> <81810A74-E616-4199-BB69-E7DE4AAE9C0C@suse.de> In-Reply-To: <81810A74-E616-4199-BB69-E7DE4AAE9C0C@suse.de> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH] guest agent: qemu-ga daemon List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alexander Graf Cc: agl@linux.vnet.ibm.com, Jes Sorensen , "qemu-devel@nongnu.org Developers" , Luiz Capitulino , Blue Swirl , Anthony Liguori On 07/23/2011 05:07 AM, Alexander Graf wrote: > > On 20.07.2011, at 22:19, Michael Roth wrote: > >> This is the actual guest daemon, it listens for requests over a >> virtio-serial/isa-serial/unix socket channel and routes them through >> to dispatch routines, and writes the results back to the channel in >> a manner similar to QMP. >> >> A shorthand invocation: >> >> qemu-ga -d >> >> Is equivalent to: >> >> qemu-ga -m virtio-serial -p /dev/virtio-ports/org.qemu.guest_agent.0= \ >> -f /var/run/qemu-ga.pid -d >> >> Signed-off-by: Michael Roth > > A rebase on top of current HEAD gave me the following on openSUSE 11.1 = PPC: > > > agraf@lychee:/home/agraf/release/qemu> make > CC qemu-ga.o > qemu-ga.c:40: error: expected specifier-qualifier-list before =91GSocke= t=92 > qemu-ga.c: In function =91ga_logging_enabled=92: > qemu-ga.c:127: error: =91GAState=92 has no member named =91logging_enab= led=92 > qemu-ga.c: In function =91ga_disable_logging=92: > qemu-ga.c:132: error: =91GAState=92 has no member named =91logging_enab= led=92 > qemu-ga.c: In function =91ga_enable_logging=92: > qemu-ga.c:137: error: =91GAState=92 has no member named =91logging_enab= led=92 > qemu-ga.c: In function =91ga_log=92: > qemu-ga.c:154: error: =91GAState=92 has no member named =91log_level=92 > qemu-ga.c:156: error: =91GAState=92 has no member named =91log_file=92 > qemu-ga.c:158: error: =91GAState=92 has no member named =91log_file=92 > qemu-ga.c: In function =91process_command=92: > qemu-ga.c:284: error: =91GAState=92 has no member named =91conn_channel= =92 > qemu-ga.c: In function =91process_event=92: > qemu-ga.c:336: error: =91GAState=92 has no member named =91conn_channel= =92 > qemu-ga.c: In function =91conn_channel_read=92: > qemu-ga.c:372: error: =91GAState=92 has no member named =91virtio=92 > qemu-ga.c:379: error: =91GAState=92 has no member named =91virtio=92 > qemu-ga.c: In function =91conn_channel_add=92: > qemu-ga.c:396: error: =91GAState=92 has no member named =91conn_channel= =92 > qemu-ga.c:407: error: =91GAState=92 has no member named =91conn_channel= =92 > qemu-ga.c: In function =91listen_channel_accept=92: > qemu-ga.c:420: error: =91GAState=92 has no member named =91conn_sock=92 > cc1: warnings being treated as errors > qemu-ga.c:420: error: implicit declaration of function =91g_socket_acce= pt=92 > qemu-ga.c:420: error: nested extern declaration of =91g_socket_accept=92 > qemu-ga.c:420: error: =91GAState=92 has no member named =91listen_sock=92 > qemu-ga.c:426: error: implicit declaration of function =91g_socket_get_= fd=92 > qemu-ga.c:426: error: nested extern declaration of =91g_socket_get_fd=92 > qemu-ga.c:426: error: =91GAState=92 has no member named =91conn_sock=92 > qemu-ga.c: In function =91listen_channel_add=92: > qemu-ga.c:446: error: =91GAState=92 has no member named =91listen_chann= el=92 > qemu-ga.c:447: error: =91GAState=92 has no member named =91listen_sock=92 > qemu-ga.c:448: error: =91GAState=92 has no member named =91listen_sock=92 > qemu-ga.c:450: error: =91GAState=92 has no member named =91listen_sock=92 > qemu-ga.c:450: error: implicit declaration of function =91g_socket_new_= from_fd=92 > qemu-ga.c:450: error: nested extern declaration of =91g_socket_new_from= _fd=92 > qemu-ga.c:457: error: =91GAState=92 has no member named =91listen_chann= el=92 > qemu-ga.c: In function =91conn_channel_close=92: > qemu-ga.c:467: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:467: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:467: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:467: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:467: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:467: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:467: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:467: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:467: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:467: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:467: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:467: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:467: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:467: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:467: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:467: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:467: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:467: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:467: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:467: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:468: error: =91GAState=92 has no member named =91conn_channel= =92 > qemu-ga.c:469: error: =91GAState=92 has no member named =91conn_sock=92 > qemu-ga.c:470: error: =91GAState=92 has no member named =91conn_sock=92 > qemu-ga.c:472: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:472: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:472: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:472: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:472: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:472: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:472: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:472: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:472: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:472: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:472: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:472: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:472: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:472: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:472: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:472: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:472: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:472: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:472: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:472: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:480: error: =91GAState=92 has no member named =91conn_channel= =92 > qemu-ga.c:481: error: =91GAState=92 has no member named =91conn_channel= =92 > qemu-ga.c: In function =91init_guest_agent=92: > qemu-ga.c:491: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:493: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:496: error: =91GAState=92 has no member named =91path=92 > qemu-ga.c:497: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:497: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:497: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:497: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:497: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:497: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:497: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:497: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:497: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:497: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:497: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:497: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:497: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:497: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:497: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:497: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:497: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:497: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:497: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:497: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:502: error: =91GAState=92 has no member named =91path=92 > qemu-ga.c:505: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:505: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:505: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:505: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:505: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:505: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:505: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:505: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:505: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:505: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:505: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:505: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:505: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:505: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:505: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:505: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:505: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:505: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:505: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:505: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:506: error: =91GAState=92 has no member named =91virtio=92 > qemu-ga.c:507: error: =91GAState=92 has no member named =91path=92 > qemu-ga.c:517: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:517: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:517: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:517: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:517: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:517: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:517: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:517: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:517: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:517: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:517: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:517: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:517: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:517: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:517: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:517: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:517: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:517: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:517: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:517: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:518: error: =91GAState=92 has no member named =91path=92 > qemu-ga.c:543: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:543: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:543: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:543: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:543: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:543: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:543: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:543: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:543: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:543: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:543: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:543: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:543: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:543: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:543: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:543: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:543: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:543: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:543: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:543: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:544: error: =91GAState=92 has no member named =91path=92 > qemu-ga.c:544: error: =91GAState=92 has no member named =91path=92 > qemu-ga.c:555: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c: In function =91main=92: > qemu-ga.c:631: error: =91GAState=92 has no member named =91conn_channel= =92 > qemu-ga.c:632: error: =91GAState=92 has no member named =91path=92 > qemu-ga.c:633: error: =91GAState=92 has no member named =91method=92 > qemu-ga.c:634: error: =91GAState=92 has no member named =91log_file=92 > qemu-ga.c:635: error: =91GAState=92 has no member named =91log_level=92 > qemu-ga.c:638: error: =91GAState=92 has no member named =91logging_enab= led=92 > qemu-ga.c:639: error: =91GAState=92 has no member named =91command_stat= e=92 > qemu-ga.c:640: error: =91GAState=92 has no member named =91command_stat= e=92 > qemu-ga.c:641: error: =91GAState=92 has no member named =91command_stat= e=92 > qemu-ga.c:650: error: =91struct GAState=92 has no member named =91comma= nd_state=92 > make: *** [qemu-ga.o] Error 1 > > > ... but it also breaks here: > > qga/guest-agent-commands.c: In function =91qmp_guest_fsfreeze_freeze=92= : > qga/guest-agent-commands.c:443: error: =91FIFREEZE=92 undeclared (first= use in this function) > qga/guest-agent-commands.c:443: error: (Each undeclared identifier is r= eported only once > qga/guest-agent-commands.c:443: error: for each function it appears in.= ) > qga/guest-agent-commands.c: In function =91qmp_guest_fsfreeze_thaw=92: > qga/guest-agent-commands.c:481: error: =91FITHAW=92 undeclared (first u= se in this function) > > > which I guess is fixed with Anthony's patch? Not sure. Either way, plea= se make sure to add proper configure checks before relying on obscure fun= ctionality. > GSocket is part of gio and should've been pulled in via the gio=20 pkg-config test. I'll poke around on a SLES11 guest and try to figure=20 out what's going on here. Anthony's patch fixed a build issue when trying to use fsfreeze on a=20 non-linux host, so it wouldn't fix the issue you mentioned. I'll look=20 into that as well. > > Alex >