History | View | Annotate | Download (39.8 kB)
qga: Fix memory allocation pasto
qmp_guest_file_seek() allocates memory for a GuestFileRead objectinstead of the GuestFileSeek object it actually uses. Harmless,because the GuestFileRead is slightly larger.
Signed-off-by: Markus Armbruster <armbru@redhat.com>...
qga: Don't require 'time' argument in guest-set-time command
As the description to the guest-set-time states, the command isthere to ease time synchronization after resume. If guest wassuspended for longer period of time, its system time can go offso badly, that even NTP refuses to set it. That's why the command...
Use error_is_set() only when necessary
error_is_set(&var) is the same as var != NULL, but it takeswhole-program analysis to figure that out. Unnecessarily hard foroptimizers, static checkers, and human readers. Dumb it down toobvious.
Gets rid of several dozen Coverity false positives....
qga: Fix compiler warnings (missing format attribute, wrong format strings)
gcc 4.8.2 reports this warning when extra warnings are enabled (-Wextra):
CC qga/commands.oqga/commands.c: In function ‘slog’:qga/commands.c:28:5: error: function might be possible candidate for ‘gnu_printf’ format attribute [-Werror=suggest-attribute=format]...
qga: Fix shutdown command of guest agent to work with SysV
For now guest agent uses following command to shutdown system:shutdown -P +0 "blabla" but this syntax works only with shutdown command from systemd or upstart,because SysV shutdown requires -h switch....
qemu-ga: execute fsfreeze-freeze in reverse order of mounts
Currently, fsfreeze-freeze may cause deadlock if a guest has loopback mountsof image files in its disk; e.g.:
qga: distinguish binary modes in "guest_file_open_modes" map
In Windows guests this may make a difference.
Since the original patch (commit c689b4f1) sought to be pedantic and toconsider theoretical corner cases of portability, we should fix it upwhere it failed to come through in that pursuit....
qga: unlink just created guest-file if fchmod() or fdopen() fails on it
We shouldn't allow guest filesystem pollution on error paths.
Suggested-by: Eric Blake <eblake@redhat.com>Signed-off-by: Laszlo Ersek <lersek@redhat.com>Reviewed-by: Eric Blake <eblake@redhat.com>...
qga: set umask 0077 when daemonizing (CVE-2013-2007)
The qemu guest agent creates a bunch of files with insecure permissionswhen started in daemon mode. For example:
rw-rw-rw 1 root root /var/log/qemu-ga.log rw-rw-rw 1 root root /var/run/qga.state...
Fix typos and misspellings
Fix various typos and misspellings. The bulk of these were found withcodespell.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>Reviewed-by: Stefan Weil <sw@weilnetz.de>Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
qga: implement qmp_guest_set_vcpus() for Linux with sysfs
Signed-off-by: Laszlo Ersek <lersek@redhat.com>Reviewed-by: Eric Blake <eblake@redhat.com>Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
qga: implement qmp_guest_get_vcpus() for Linux with sysfs
qga: introduce guest-get-vcpus / guest-set-vcpus with stubs
qemu-ga: use key-value store to avoid recycling fd handles after restart
Hosts hold on to handles provided by guest-file-open for periods that canspan beyond the life of the qemu-ga process that issued them. Since theseare issued starting from 0 on every restart, we run the risk of issuing...
qga: add guest-get-time command
Signed-off-by: Lei Li <lilei@linux.vnet.ibm.com>Reviewed-by: Eric Blake <eblake@redhat.com>Reviewed-by: Michael Roth <mdroth@linux.vnet.ibm.com>
*added stub for w32
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
qga: add guest-set-time command
qemu-ga: Plug leaks on qmp_guest_network_get_interfaces() error paths
Spotted by Coverity.
Signed-off-by: Markus Armbruster <armbru@redhat.com>Reviewed-by: Eric Blake <eblake@redhat.com>Reviewed-by: Luiz Capitulino <lcapitulino@redhat.com>Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
qemu-ga: Plug memory leak in guest_fsfreeze_cleanup()
Neglects to free errors allocated by qmp_guest_fsfreeze_thaw().Spotted by Coverity.
While there, drop the test whether return value is negative (it'snever true), and improve logging.
Replace non-portable asprintf by g_strdup_printf
g_strdup_printf already handles OOM errors, so some error handling inQEMU code can be removed.
Signed-off-by: Stefan Weil <sw@weilnetz.de>Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
qemu-ga: bios_supports_mode(): improve error reporting
Most errors are QERR_UNDEFINED_ERROR today.
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>Reviewed-by: Michael Roth <mdroth@linux.vnet.ibm.com>Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
qemu-ga: guest_suspend(): improve error reporting
qemu-ga: execute hook to quiesce the guest on fsfreeze-freeze/thaw
To use the online disk snapshot for online-backup, application-levelconsistency of the snapshot image is required. However, currently theguest agent can provide only filesystem-level consistency, and the...
qemu-ga: qmp_guest_file_*: improve error reporting
Use error_setg_errno() when possible with an improved error description.
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
qemu-ga: qmp_guest_shutdown(): improve error reporting
Most errors are QERR_UNDEFINED_ERROR. Also, adds ga_wait_child() asa future commit will use it too.
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>Reviewed-by: Michael Roth <mdroth@linux.vnet.ibm.com>...
qemu-ga: build_fs_mount_list(): take an Error argument
qemu-ga: qmp_guest_fsfreeze_*(): get rid of sprintf() + error_set()
Convert them to error_setg_errno().
qemu-ga: qmp_guest_fstrim(): get rid of sprintf() + error_set()
qemu-ga: qmp_guest_network_get_interfaces(): get rid of snprintf() + error_set()
qemu-ga: guest_file_handle_find(): take an Error argument
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>Reviewed-by: Michael Roth <mdroth@linux.vnet.ibm.com>
*Fixed missing space character in error message
qemu-ga: qmp_guest_file_close(): fix fclose() error check
fclose() returns EOF on error.
misc: move include files to include/qemu/
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
qapi: move include files to include/qobject/
Merge branch 'trivial-patches' of git://github.com/stefanha/qemu
cleanup useless return sentence
This patch cleans up return sentences in the end of void functions.
Reported-by: Paolo Bonzini <pbonzini@redhat.com>Signed-off-by: Amos Kong <akong@redhat.com>Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
qemu-ga: prefer pstrcpy: consistently NUL-terminate ifreq.ifr_name
NUL-termination of the .ifr_name field is not required, but is fine(and preferable to using strncpy and leaving the reader to wonder),since the first thing the linux kernel does is to clear the last byte....
qemu-ga: add guest-fstrim command
FITRIM is a mounted filesystem feature to discard (or "trim") blocks whichare not in use by the filesystem. This is useful for solid-state drives(SSDs) and thinly-provisioned storage. Provide access to the featurefrom the host so that filesystems can be trimmed periodically or before...
qemu-ga: make names more generic for mount list functions
We will use these functions and types for more than FSFREEZE, so rename them.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>Reviewed-by: Luiz Capitulino <lcapitulino@redhat.com>Reviewed-by: Michal Privoznik <mprivozn@redhat.com>...
qemu-ga: avoid blocking on atime update when reading /etc/mtab
Currently we re-read/re-process /etc/mtab to get an updated list ofmounts when guest-fsfreeze-thaw is called. This can cause an atimeupdate on /etc/mtab, which will block if we're in a frozen state....
qemu-ga: Fix use of environ on Darwin
Use _NSGetEnviron() helper to access the environment.
Signed-off-by: Andreas Färber <andreas.faerber@web.de>Cc: Charlie Somerville <charlie@charliesomerville.com>Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
qemu-ga: Fix missing environ declaration
Commit 3674838cd05268954bb6473239cd7f700a79bf0f uses the environ globalvariable, but is relying on environ to be declared somewhere else.
This worked for me because on F16 environ is declared in <unistd.h>, butthat doesn't happen in OpenBSD for example, causing a build failure....
qemu-ga: make reopen_fd_to_null() public
The next commit wants to use it.
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>Reviewed-by: Eric Blake <eblake@redhat.com>Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
qemu-ga: guest-suspend: make the API synchronous
Currently, qemu-ga has a SIGCHLD handler that automatically reaps terminatedchildren processes. The idea is to avoid having qemu-ga commands blockedwaiting for children to terminate.
That approach has two problems:...
qemu-ga: guest-shutdown: become synchronous
Last commit dropped qemu-ga's SIGCHLD handler, used to automaticallyreap terminated children processes. This introduced a bug toqmp_guest_shutdown(): it will generate zombies.
This problem probably doesn't matter in the success case, as the VM...
qemu-ga: guest-shutdown: use only async-signal-safe functions
POSIX mandates1 that a child process of a multi-thread program usesonly async-signal-safe functions before exec(). We consider qemu-gato be multi-thread, because it uses glib.
However, qmp_guest_shutdown() uses functions that are not...
fix some common typos
These were identified using: http://github.com/lyda/misspell-checkand 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/'...
qemu-ga: add a whitelist for fsfreeze-safe commands
Currently we rely on fsfreeze/thaw commands disabling/enabling loggingthen having other commands check whether logging is disabled to avoidexecuting if they aren't safe for running while a filesystem is frozen....
qemu-ga: improve recovery options for fsfreeze
guest-fsfreeze-thaw relies on state information obtained fromguest-fsfreeze-freeze to determine what filesystems to unfreeze.This is unreliable due to the fact that that state does not accountfor FIFREEZE being issued by other processes, or previous instances...
qemu-ga: generate missing stubs for fsfreeze
When linux-specific commands (including guest-fsfreeze-*) were consolidatedunder defined(linux), we forgot to account for the case wheredefined(linux) && !defined(FIFREEZE). As a result stubs are no longer...
qemu-ga: fix bsd build, and re-org linux-specific implementations
qemu-ga: add guest-sync-delimited
guest-sync leaves it as an exercise to the user as to how to reliablyobtain the response to guest-sync if the client had previously read in apartial response (due qemu-ga previously being restarted mid-"sentence" due to reboot, forced restart, etc)....
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 byother suspend modes (introduced by next commits)....
qemu-ga: add guest-suspend-ram
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
qemu-ga: add guest-suspend-hybrid
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 <mprivozn@redhat.com>
qemu-ga: rename guest-agent-commands.c -> commands-posix.c