Statistics
| Branch: | Revision:

root / qga / commands-posix.c @ ebb9518a

History | View | Annotate | Download (24.4 kB)

# Date Author Comment
9e2fa418 05/30/2012 05:00 am Michael Roth

qemu-ga: avoid blocking on atime update when reading /etc/mtab

Currently we re-read/re-process /etc/mtab to get an updated list of
mounts when guest-fsfreeze-thaw is called. This can cause an atime
update on /etc/mtab, which will block if we're in a frozen state....

eecae147 05/30/2012 05:00 am Andreas Färber

qemu-ga: Fix use of environ on Darwin

Use _NSGetEnviron() helper to access the environment.

Signed-off-by: Andreas Färber <>
Cc: Charlie Somerville <>
Signed-off-by: Michael Roth <>

2c02cbf6 05/24/2012 09:06 pm Luiz Capitulino

qemu-ga: Fix missing environ declaration

Commit 3674838cd05268954bb6473239cd7f700a79bf0f uses the environ global
variable, but is relying on environ to be declared somewhere else.

This worked for me because on F16 environ is declared in <unistd.h>, but
that doesn't happen in OpenBSD for example, causing a build failure....

04b4e75f 05/15/2012 05:15 pm Luiz Capitulino

qemu-ga: make reopen_fd_to_null() public

The next commit wants to use it.

Signed-off-by: Luiz Capitulino <>
Reviewed-by: Eric Blake <>
Signed-off-by: Michael Roth <>

dc8764f0 05/15/2012 05:15 pm Luiz Capitulino

qemu-ga: guest-suspend: make the API synchronous

Currently, qemu-ga has a SIGCHLD handler that automatically reaps terminated
children processes. The idea is to avoid having qemu-ga commands blocked
waiting for children to terminate.

That approach has two problems:...

d5dd3498 05/15/2012 05:15 pm Luiz Capitulino

qemu-ga: guest-shutdown: become synchronous

Last commit dropped qemu-ga's SIGCHLD handler, used to automatically
reap terminated children processes. This introduced a bug to
qmp_guest_shutdown(): it will generate zombies.

This problem probably doesn't matter in the success case, as the VM...

3674838c 05/15/2012 05:15 pm Luiz Capitulino

qemu-ga: guest-shutdown: use only async-signal-safe functions

POSIX mandates1 that a child process of a multi-thread program uses
only async-signal-safe functions before exec(). We consider qemu-ga
to be multi-thread, because it uses glib.

However, qmp_guest_shutdown() uses functions that are not...

a31f0531 05/14/2012 08:27 am Jim Meyering

fix some common typos

These were identified using: http://github.com/lyda/misspell-check
and run like this to create a bourne shell script using GNU sed's
-i option:

git ls-files|grep -vF .bin | misspellings -f - |grep -v '^ERROR:' |perl \
-pe 's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'...

f22d85e9 04/30/2012 04:42 pm Michael Roth

qemu-ga: add a whitelist for fsfreeze-safe commands

Currently we rely on fsfreeze/thaw commands disabling/enabling logging
then having other commands check whether logging is disabled to avoid
executing if they aren't safe for running while a filesystem is frozen....

9e8aded4 04/30/2012 04:41 pm Michael Roth

qemu-ga: improve recovery options for fsfreeze

guest-fsfreeze-thaw relies on state information obtained from
guest-fsfreeze-freeze to determine what filesystems to unfreeze.
This is unreliable due to the fact that that state does not account
for FIFREEZE being issued by other processes, or previous instances...

d35d4cb5 04/19/2012 06:42 pm Michael Roth

qemu-ga: generate missing stubs for fsfreeze

When linux-specific commands (including guest-fsfreeze-*) were consolidated
under defined(linux), we forgot to account for the case where
defined(linux) && !defined(FIFREEZE). As a result stubs are no longer...

e72c3f2e 03/25/2012 10:34 pm Michael Roth

qemu-ga: fix bsd build, and re-org linux-specific implementations

3cf0bed8 03/12/2012 10:09 pm Michael Roth

qemu-ga: add guest-sync-delimited

guest-sync leaves it as an exercise to the user as to how to reliably
obtain the response to guest-sync if the client had previously read in a
partial response (due qemu-ga previously being restarted mid-"sentence"
due to reboot, forced restart, etc)....

11d0f125 03/12/2012 10:09 pm Luiz Capitulino

qemu-ga: add guest-suspend-disk

As the command name implies, this command suspends the guest to disk.

The suspend operation is implemented by two functions: bios_supports_mode()
and guest_suspend(). Both functions are generic enough to be used by
other suspend modes (introduced by next commits)....

fbf42210 03/12/2012 10:09 pm Luiz Capitulino

qemu-ga: add guest-suspend-ram

Signed-off-by: Luiz Capitulino <>

95f4f404 03/12/2012 10:09 pm Luiz Capitulino

qemu-ga: add guest-suspend-hybrid

Signed-off-by: Luiz Capitulino <>

3424fc9f 03/12/2012 10:09 pm Michal Privoznik

qemu-ga: add guest-network-get-interfaces command

This command returns an array of:

[ifname, hwaddr, [ipaddr, ipaddr_family, prefix] ]

for each interface in the system.
Currently, only IPv4 and IPv6 are supported.

Signed-off-by: Michal Privoznik <>

c216e5ad 02/23/2012 11:40 pm Michael Roth

qemu-ga: rename guest-agent-commands.c -> commands-posix.c