Libvirt provides a portable, long term stable C API for managing the virtualization technologies provided by many operating systems. It includes support for QEMU, KVM, Xen, LXC, bhyve, Virtuozzo, VMware vCenter and ESX, VMware Desktop, Hyper-V, VirtualBox and the POWER Hypervisor.
Go to file
Martin Kletzander f2c961140c qemu: make sure agent returns error when required data are missing
Commit 5b3492fa aimed to fix this and caught one error but exposed
another one.  When agent command is being executed and the thread
waiting for the reply is woken up by an event (e.g. EOF in case of
shutdown), the command finishes with no data (rxObject == NULL), but
no error is reported, since this might be desired by the caller
(e.g. suspend through agent).  However, in other situations, when the
data are required (e.g. getting vCPUs), we proceed to getting desired
data out of the reply, but none of the virJSON*() functions works well
with NULLs.  I chose the way of a new parameter for qemuAgentCommand()
function that specifies whether reply is required and behaves
according to that.

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1058149

Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
(cherry picked from commit 736e017e36)
2014-04-11 09:48:27 +02:00
.gnulib@0ba087759d maint: update gnulib submodule 2013-08-15 16:54:30 -06:00
build-aux Add API for calling systemd-machined's DBus API 2013-07-22 13:09:58 +01:00
daemon event: move event filtering to daemon (regression fix) 2014-02-05 08:45:54 -07:00
docs LXC: Fix handling of RAM filesystem size units 2013-10-15 13:05:40 +02:00
examples Don't link virt-login-shell against libvirt.so (CVE-2013-4400) 2013-10-21 14:20:40 +01:00
gnulib Don't link virt-login-shell against libvirt.so (CVE-2013-4400) 2013-10-21 14:20:40 +01:00
include Add flag to BaselineCPU API to return detailed CPU features 2013-08-16 15:31:18 -06:00
m4 Check for --no-copy-dt-needed linker flag 2013-08-22 16:17:36 +02:00
po Release of libvirt-1.1.2 2013-09-02 09:47:37 +08:00
python python: Fix Create*WithFiles filefd passing 2013-10-23 09:54:06 +01:00
src qemu: make sure agent returns error when required data are missing 2014-04-11 09:48:27 +02:00
tests Remove virConnectPtr arg from virNWFilterDefParse* 2014-02-06 12:46:53 +02:00
tools Remove all direct use of getenv 2013-10-30 11:51:11 +00:00
.ctags maint: Make ctags work out of the box 2013-07-18 08:47:21 +02:00
.dir-locals.el build: avoid tabs that failed syntax-check 2012-09-06 09:43:46 -06:00
.gitignore Fix flaw in detecting log format 2013-10-30 11:49:39 +00:00
.gitmodules
.mailmap Autogenerate AUTHORS 2012-10-19 12:44:56 -04:00
AUTHORS.in Add John Ferlan to the committers list 2013-02-05 10:59:32 -05:00
autobuild.sh build: add configure option to disable gnulib tests 2013-08-12 10:02:38 -06:00
autogen.sh autogen.sh: Correctly detect .git as a file 2013-08-29 13:19:45 +02:00
bootstrap maint: update gnulib submodule 2013-08-15 16:54:30 -06:00
bootstrap.conf Add helpers for getting env vars in a setuid environment 2013-10-21 14:20:27 +01:00
cfg.mk Block all use of getenv with syntax-check 2013-10-30 11:51:17 +00:00
ChangeLog-old
config-post.h build: fix build of virt-login-shell on systems with older gnutls 2013-10-23 09:53:52 +01:00
configure.ac Don't link virt-login-shell against libvirt.so (CVE-2013-4400) 2013-10-21 14:20:40 +01:00
COPYING maint: follow recommended practice for using LGPL 2013-05-20 14:15:21 -06:00
COPYING.LESSER maint: follow recommended practice for using LGPL 2013-05-20 14:15:21 -06:00
HACKING docs: mention VIR_TEST_RANGE 2013-08-12 20:44:41 -06:00
libvirt.pc.in build: silence warning from autoconf 2012-05-30 09:22:02 -06:00
libvirt.spec.in Move virt-login-shell into libvirt-login-shell sub-RPM 2013-10-30 11:49:28 +00:00
Makefile.am Don't link virt-login-shell against libvirt.so (CVE-2013-4400) 2013-10-21 14:20:40 +01:00
Makefile.nonreentrant maint: use LGPL correctly 2013-05-20 14:03:48 -06:00
mingw-libvirt.spec.in build: add configure option to disable gnulib tests 2013-08-12 10:02:38 -06:00
README
README-hacking
run.in run: license as LGPL 2013-02-23 14:03:19 -07:00
TODO

         LibVirt : simple API for virtualization

  Libvirt is a C toolkit to interact with the virtualization capabilities
of recent versions of Linux (and other OSes). It is free software
available under the GNU Lesser General Public License. Virtualization of
the Linux Operating System means the ability to run multiple instances of
Operating Systems concurrently on a single hardware system where the basic
resources are driven by a Linux instance. The library aim at providing
long term stable C API initially for the Xen paravirtualization but
should be able to integrate other virtualization mechanisms if needed.

Daniel Veillard <veillard@redhat.com>