Patchwork guest agent: qemu-ga daemon

login
register
mail settings
Submitter Alexander Graf
Date July 23, 2011, 10:33 a.m.
Message ID <DD4DC911-81F5-45AF-846C-B8B3FFAC442D@suse.de>
Download mbox | patch
Permalink /patch/106427/
State New
Headers show

Comments

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

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"