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
Laine Stump d6354c1696 util: change virFile*Pid functions to return < 0 on failure
Although most functions in libvirt return 0 on success and < 0 on
failure, there are a few functions lingering around that return errno
(a positive value) on failure, and sometimes code calling those
functions incorrectly assumes the <0 standard. I noticed one of these
the other day when auditing networkStartDhcpDaemon after Guido Gunther
found a place where success was improperly returned on failure (that
patch has been acked and is pending a push). The problem was that it
expected the return value from virFileReadPid to be < 0 on failure,
but it was actually positive (it was also neglected to set the return
code in this case, similar to the bug found by Guido).

This all led to the fact that *all* of the virFile*Pid functions in
util.c are returning errno on failure. This patch remedies that
problem by changing them all to return -errno on failure, and makes
any necessary changes to callers of the functions. (In the meantime, I
also properly set the return code on failure of virFileReadPid in
networkStartDhcpDaemon).
2011-07-25 16:56:26 -04:00
.gnulib@a918da4d61 build: avoid requiring -lm 2011-07-11 17:32:11 -06:00
daemon Fix typos in daemon config file from previous commit 2011-07-22 15:19:59 +01:00
docs docs: Break up 'Basic Resources' XML section 2011-07-25 06:40:06 -04:00
examples update apparmor security driver for new udev paths 2011-07-14 11:41:48 -06:00
include Asynchronous event for BlockJob completion 2011-07-22 13:57:42 +08:00
m4 tests: Lower stack usage below 4096 bytes 2011-04-30 19:59:52 +02:00
po save: add virFileDirectFd wrapper type 2011-07-21 16:24:08 -06:00
python python: add Python binding for virDomainGetVcpuPinInfo API 2011-07-25 15:04:50 +08:00
src util: change virFile*Pid functions to return < 0 on failure 2011-07-25 16:56:26 -04:00
tests util: change virFile*Pid functions to return < 0 on failure 2011-07-25 16:56:26 -04:00
tools Enable the virDomainBlockPull API in virsh 2011-07-22 13:41:55 +08:00
.dir-locals.el maint: make spacing in .sh files easier 2011-03-14 21:57:42 -06:00
.gitignore util: add virtkeycode module 2011-07-21 15:57:47 +08:00
.gitmodules make .gnulib a submodule 2009-07-08 16:17:51 +02:00
.mailmap virsh: Avoid using magic numbers for logging 2011-07-14 07:03:40 -06:00
AUTHORS driver.h: Fix two driver documentation mistakes 2011-07-25 13:50:32 +08:00
autobuild.sh Remove the Open Nebula driver 2011-03-28 14:09:11 +01:00
autogen.sh build: avoid problems with autogen.sh runs from tarball 2011-02-12 06:28:28 -07:00
bootstrap build: update to latest gnulib 2011-06-23 10:52:08 -06:00
bootstrap.conf build: don't hand-roll cloexec code 2011-07-13 17:44:08 -06:00
cfg.mk bandwidth: Add parsing and free functions 2011-07-25 13:49:33 +08:00
ChangeLog-old generate ChangeLog from git logs into distribution tarball 2009-07-08 16:17:51 +02:00
configure.ac bandwidth: Implement functions to enable and disable QoS 2011-07-25 13:49:55 +08:00
COPYING.LIB remove all trailing blank lines 2009-07-16 15:06:42 +02:00
HACKING build: rename files.h to virfile.h 2011-07-21 10:34:51 -06:00
libvirt.pc.in * libvirt.pc.in: applied patch from Daniel Berrange to fix --cflags 2006-03-24 13:18:12 +00:00
libvirt.spec.in bandwidth: Implement functions to enable and disable QoS 2011-07-25 13:49:55 +08:00
Makefile.am Re-add libvirt.spec to tarball to allwo "make rpm" 2011-05-09 14:23:19 +08:00
Makefile.nonreentrant Ban use of all inet_* functions 2010-10-22 11:59:23 +01:00
mingw32-libvirt.spec.in conf: put virtPortProfile struct / functions in a common location 2011-07-21 14:46:33 -04:00
README Correct typos in the documentation (Atsushi SAKAI) 2008-01-24 10:15:13 +00:00
README-hacking maint: relax git minimum version 2010-02-24 14:29:27 -05:00
TODO Update todo list file to point at bugzilla/website 2010-10-13 16:45:26 +01:00

         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>