guest agent: qemu-ga daemon

Submitted by Alexander Graf on July 23, 2011, 10:33 a.m.

Details

Message ID DD4DC911-81F5-45AF-846C-B8B3FFAC442D@suse.de
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/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’:

[...]

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




Alex

Patch hide | download patch | download mbox

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"