qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
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
>

  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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).