guest agent: qemu-ga daemon

Message ID
State New
Headers show

Commit Message

Alexander Graf July 23, 2011, 10:33 a.m.
On 23.07.2011, at 12:07, 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/ -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 ‘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’:


> ... 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.

JFYI: The following patch fixes it for me :). Why are we pulling in such a huge feature just before rc0 anyways? This should go in after the stable fork, so it gets some time to cook before people end up having to use it.



diff --git a/configure b/configure
index 6911c3b..156ae3c 100755
--- a/configure
+++ b/configure
@@ -2555,7 +2555,6 @@  if test "$softmmu" = yes ; then
   tools="qemu-img\$(EXESUF) qemu-io\$(EXESUF) $tools"
   if [ "$linux" = "yes" -o "$bsd" = "yes" -o "$solaris" = "yes" ] ; then
       tools="qemu-nbd\$(EXESUF) $tools"
-      tools="qemu-ga\$(EXESUF) $tools"
     if [ "$check_utests" = "yes" ]; then
       tools="check-qint check-qstring check-qdict check-qlist $tools"
       tools="check-qfloat check-qjson $tools"