From: Michael Roth <mdroth@linux.vnet.ibm.com>
To: Alexander Graf <agraf@suse.de>
Cc: agl@linux.vnet.ibm.com, Jes Sorensen <Jes.Sorensen@redhat.com>,
"qemu-devel@nongnu.org Developers" <qemu-devel@nongnu.org>,
Luiz Capitulino <lcapitulino@redhat.com>,
Blue Swirl <blauwirbel@gmail.com>,
Anthony Liguori <aliguori@linux.vnet.ibm.com>
Subject: Re: [Qemu-devel] [PATCH] guest agent: qemu-ga daemon
Date: Sat, 23 Jul 2011 11:06:33 -0500 [thread overview]
Message-ID: <4E2AF189.7040403@linux.vnet.ibm.com> (raw)
In-Reply-To: <81810A74-E616-4199-BB69-E7DE4AAE9C0C@suse.de>
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<mdroth@linux.vnet.ibm.com>
>
> 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 ‘GSocket’
> qemu-ga.c: In function ‘ga_logging_enabled’:
> qemu-ga.c:127: error: ‘GAState’ has no member named ‘logging_enabled’
> qemu-ga.c: In function ‘ga_disable_logging’:
> qemu-ga.c:132: error: ‘GAState’ has no member named ‘logging_enabled’
> qemu-ga.c: In function ‘ga_enable_logging’:
> qemu-ga.c:137: error: ‘GAState’ has no member named ‘logging_enabled’
> qemu-ga.c: In function ‘ga_log’:
> qemu-ga.c:154: error: ‘GAState’ has no member named ‘log_level’
> qemu-ga.c:156: error: ‘GAState’ has no member named ‘log_file’
> qemu-ga.c:158: error: ‘GAState’ has no member named ‘log_file’
> qemu-ga.c: In function ‘process_command’:
> qemu-ga.c:284: error: ‘GAState’ has no member named ‘conn_channel’
> qemu-ga.c: In function ‘process_event’:
> qemu-ga.c:336: error: ‘GAState’ has no member named ‘conn_channel’
> qemu-ga.c: In function ‘conn_channel_read’:
> qemu-ga.c:372: error: ‘GAState’ has no member named ‘virtio’
> qemu-ga.c:379: error: ‘GAState’ has no member named ‘virtio’
> qemu-ga.c: In function ‘conn_channel_add’:
> qemu-ga.c:396: error: ‘GAState’ has no member named ‘conn_channel’
> qemu-ga.c:407: error: ‘GAState’ has no member named ‘conn_channel’
> qemu-ga.c: In function ‘listen_channel_accept’:
> qemu-ga.c:420: error: ‘GAState’ has no member named ‘conn_sock’
> cc1: warnings being treated as errors
> qemu-ga.c:420: error: implicit declaration of function ‘g_socket_accept’
> qemu-ga.c:420: error: nested extern declaration of ‘g_socket_accept’
> qemu-ga.c:420: error: ‘GAState’ has no member named ‘listen_sock’
> qemu-ga.c:426: error: implicit declaration of function ‘g_socket_get_fd’
> qemu-ga.c:426: error: nested extern declaration of ‘g_socket_get_fd’
> qemu-ga.c:426: error: ‘GAState’ has no member named ‘conn_sock’
> qemu-ga.c: In function ‘listen_channel_add’:
> qemu-ga.c:446: error: ‘GAState’ has no member named ‘listen_channel’
> qemu-ga.c:447: error: ‘GAState’ has no member named ‘listen_sock’
> qemu-ga.c:448: error: ‘GAState’ has no member named ‘listen_sock’
> qemu-ga.c:450: error: ‘GAState’ has no member named ‘listen_sock’
> qemu-ga.c:450: error: implicit declaration of function ‘g_socket_new_from_fd’
> qemu-ga.c:450: error: nested extern declaration of ‘g_socket_new_from_fd’
> qemu-ga.c:457: error: ‘GAState’ has no member named ‘listen_channel’
> qemu-ga.c: In function ‘conn_channel_close’:
> qemu-ga.c:467: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:467: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:467: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:467: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:467: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:467: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:467: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:467: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:467: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:467: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:467: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:467: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:467: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:467: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:467: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:467: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:467: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:467: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:467: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:467: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:468: error: ‘GAState’ has no member named ‘conn_channel’
> qemu-ga.c:469: error: ‘GAState’ has no member named ‘conn_sock’
> qemu-ga.c:470: error: ‘GAState’ has no member named ‘conn_sock’
> qemu-ga.c:472: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:472: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:472: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:472: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:472: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:472: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:472: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:472: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:472: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:472: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:472: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:472: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:472: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:472: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:472: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:472: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:472: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:472: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:472: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:472: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:480: error: ‘GAState’ has no member named ‘conn_channel’
> qemu-ga.c:481: error: ‘GAState’ has no member named ‘conn_channel’
> qemu-ga.c: In function ‘init_guest_agent’:
> qemu-ga.c:491: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:493: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:496: error: ‘GAState’ has no member named ‘path’
> qemu-ga.c:497: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:497: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:497: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:497: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:497: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:497: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:497: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:497: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:497: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:497: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:497: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:497: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:497: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:497: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:497: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:497: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:497: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:497: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:497: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:497: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:502: error: ‘GAState’ has no member named ‘path’
> qemu-ga.c:505: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:505: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:505: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:505: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:505: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:505: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:505: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:505: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:505: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:505: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:505: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:505: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:505: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:505: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:505: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:505: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:505: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:505: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:505: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:505: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:506: error: ‘GAState’ has no member named ‘virtio’
> qemu-ga.c:507: error: ‘GAState’ has no member named ‘path’
> qemu-ga.c:517: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:517: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:517: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:517: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:517: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:517: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:517: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:517: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:517: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:517: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:517: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:517: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:517: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:517: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:517: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:517: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:517: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:517: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:517: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:517: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:518: error: ‘GAState’ has no member named ‘path’
> qemu-ga.c:543: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:543: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:543: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:543: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:543: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:543: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:543: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:543: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:543: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:543: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:543: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:543: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:543: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:543: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:543: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:543: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:543: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:543: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:543: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:543: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:544: error: ‘GAState’ has no member named ‘path’
> qemu-ga.c:544: error: ‘GAState’ has no member named ‘path’
> qemu-ga.c:555: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c: In function ‘main’:
> qemu-ga.c:631: error: ‘GAState’ has no member named ‘conn_channel’
> qemu-ga.c:632: error: ‘GAState’ has no member named ‘path’
> qemu-ga.c:633: error: ‘GAState’ has no member named ‘method’
> qemu-ga.c:634: error: ‘GAState’ has no member named ‘log_file’
> qemu-ga.c:635: error: ‘GAState’ has no member named ‘log_level’
> qemu-ga.c:638: error: ‘GAState’ has no member named ‘logging_enabled’
> qemu-ga.c:639: error: ‘GAState’ has no member named ‘command_state’
> qemu-ga.c:640: error: ‘GAState’ has no member named ‘command_state’
> qemu-ga.c:641: error: ‘GAState’ has no member named ‘command_state’
> qemu-ga.c:650: error: ‘struct GAState’ has no member named ‘command_state’
> make: *** [qemu-ga.o] Error 1
>
>
> ... but it also breaks here:
>
> qga/guest-agent-commands.c: In function ‘qmp_guest_fsfreeze_freeze’:
> qga/guest-agent-commands.c:443: error: ‘FIFREEZE’ undeclared (first use in this function)
> qga/guest-agent-commands.c:443: error: (Each undeclared identifier is reported only once
> qga/guest-agent-commands.c:443: error: for each function it appears in.)
> qga/guest-agent-commands.c: In function ‘qmp_guest_fsfreeze_thaw’:
> qga/guest-agent-commands.c:481: error: ‘FITHAW’ undeclared (first use in this function)
>
>
> which I guess is fixed with Anthony's patch? Not sure. Either way, please make sure to add proper configure checks before relying on obscure functionality.
>
GSocket is part of gio and should've been pulled in via the gio
pkg-config test. I'll poke around on a SLES11 guest and try to figure
out what's going on here.
Anthony's patch fixed a build issue when trying to use fsfreeze on a
non-linux host, so it wouldn't fix the issue you mentioned. I'll look
into that as well.
>
> Alex
>
next prev parent reply other threads:[~2011-07-23 16:06 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-07-19 20:41 [Qemu-devel] [QAPI+QGA 3/3] QEMU Guest Agent (virtagent) v8 Michael Roth
2011-07-19 20:41 ` [Qemu-devel] [PATCH v8 1/4] qerror: add QERR_JSON_PARSE_ERROR to qerror.c Michael Roth
2011-07-19 20:41 ` [Qemu-devel] [PATCH v8 2/4] guest agent: command state class Michael Roth
2011-07-19 20:41 ` [Qemu-devel] [PATCH v8 3/4] guest agent: qemu-ga daemon Michael Roth
2011-07-20 17:56 ` Luiz Capitulino
2011-07-20 19:25 ` Michael Roth
2011-07-20 19:31 ` Luiz Capitulino
2011-07-20 20:01 ` Michael Roth
2011-07-20 20:05 ` Michael Roth
2011-07-20 20:12 ` Luiz Capitulino
2011-07-20 20:00 ` [Qemu-devel] [PATCH] guest agent: qemu-ga, remove unused variables Michael Roth
2011-07-20 20:19 ` [Qemu-devel] [PATCH] guest agent: qemu-ga daemon Michael Roth
2011-07-23 10:07 ` Alexander Graf
2011-07-23 10:33 ` Alexander Graf
2011-07-23 16:06 ` Michael Roth [this message]
2011-07-23 16:10 ` Anthony Liguori
2011-07-23 19:23 ` Jes Sorensen
2011-07-23 19:38 ` Alexander Graf
2011-07-23 16:10 ` Anthony Liguori
2011-07-23 16:43 ` Michael Roth
2011-07-23 16:49 ` Anthony Liguori
2011-07-23 18:35 ` Alexander Graf
2011-07-23 19:12 ` Anthony Liguori
2011-07-23 19:20 ` Alexander Graf
2011-07-23 18:34 ` Alexander Graf
2011-07-23 19:14 ` Anthony Liguori
2011-07-23 19:22 ` Alexander Graf
2011-07-23 21:12 ` Anthony Liguori
2011-07-23 21:34 ` Alexander Graf
2011-07-19 20:41 ` [Qemu-devel] [PATCH v8 4/4] guest agent: add guest agent RPCs/commands Michael Roth
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4E2AF189.7040403@linux.vnet.ibm.com \
--to=mdroth@linux.vnet.ibm.com \
--cc=Jes.Sorensen@redhat.com \
--cc=agl@linux.vnet.ibm.com \
--cc=agraf@suse.de \
--cc=aliguori@linux.vnet.ibm.com \
--cc=blauwirbel@gmail.com \
--cc=lcapitulino@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.