Go to file
Eric Blake 4fbf322fe9 cpustat: fix regression when cpus are offline
It turns out that the cpuacct results properly account for offline
cpus, and always returns results for every possible cpu, not just
the online ones.  So there is no need to check the map of online
cpus in the first place, merely only a need to know the maximum
possible cpu.  Meanwhile, virNodeGetCPUBitmap had a subtle change
from returning the maximum id to instead returning the width of
the bitmap (one larger than the maximum id) in commit 2f4c5338,
which made this code encounter some off-by-one logic leading to
bad error messages when a cpu was offline:

$ virsh cpu-stats dom
error: Failed to virDomainGetCPUStats()

error: An error occurred, but the cause is unknown

Cleaning this up unraveled a chain of other unused variables.

* src/qemu/qemu_driver.c (qemuDomainGetPercpuStats): Drop
pointless check for cpumap changes, and use correct number of
cpus.  Simplify signature.
(qemuDomainGetCPUStats): Adjust caller.
* src/nodeinfo.h (nodeGetCPUCount): New prototype.
(nodeGetCPUBitmap): Drop unused parameter.
* src/nodeinfo.c (nodeGetCPUBitmap): Likewise.
(nodeGetCPUMap): Adjust caller.
(nodeGetCPUCount): New function.
* src/libvirt_private.syms (nodeinfo.h): Export it.
2012-10-26 15:34:52 -06:00
.gnulib@d245e6ddd6 maint: update to latest gnulib 2012-10-22 20:25:44 -06:00
build-aux maint: fix up copyright notice inconsistencies 2012-09-20 16:30:55 -06:00
daemon build: check for pod errors 2012-10-26 15:13:39 -06:00
docs documentation: HTML tag fix 2012-10-26 09:53:41 -04:00
examples tests: Fix domain-events python test 2012-10-16 16:37:29 +02:00
gnulib build: fix fresh checkout on RHEL5 2012-04-19 17:11:43 -06:00
include libvirt.h.in: Add new cpumap macro VIR_CPU_USED 2012-10-23 18:48:04 -06:00
m4 build: improve FORTIFY_SOURCE usage 2012-10-23 14:00:32 -06:00
po Implement CPU model driver for PowerPC 2012-10-17 10:03:34 +02:00
python maint: consistent whitespace after 'if' 2012-10-25 11:36:43 -06:00
src cpustat: fix regression when cpus are offline 2012-10-26 15:34:52 -06:00
tests bitmap: add virBitmapCountBits 2012-10-25 11:19:23 -06:00
tools build: fix syntax-check tab violation 2012-10-26 15:27:59 -06:00
.dir-locals.el build: avoid tabs that failed syntax-check 2012-09-06 09:43:46 -06:00
.gitignore maint: Sort .gitignore 2012-10-26 14:39:55 +02:00
.gitmodules make .gnulib a submodule 2009-07-08 16:17:51 +02:00
.mailmap Autogenerate AUTHORS 2012-10-19 12:44:56 -04:00
AUTHORS.in Remove a couple duplicates from AUTHORS.in 2012-10-22 16:19:38 -04:00
COPYING.LIB remove all trailing blank lines 2009-07-16 15:06:42 +02:00
ChangeLog-old virterror.c: Fix several spelling mistakes 2012-02-03 11:32:51 -07:00
HACKING Various typos and misspellings 2012-10-12 00:03:43 +02:00
Makefile.am Autogenerate AUTHORS 2012-10-19 12:44:56 -04:00
Makefile.nonreentrant Ban use of all inet_* functions 2010-10-22 11:59:23 +01: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
autobuild.sh Switch automated builds to use Mingw64 toolchain instead of Mingw32 2012-06-25 10:41:10 +01:00
autogen.sh build: avoid infinite autogen loop 2012-10-01 09:47:38 -06:00
bootstrap maint: regenerate bootstrap 2012-07-27 09:34:04 -06:00
bootstrap.conf Autogenerate AUTHORS 2012-10-19 12:44:56 -04:00
cfg.mk Autogenerate AUTHORS 2012-10-19 12:44:56 -04:00
configure.ac Fix disabling of apparmor/selinux security drivers 2012-10-23 08:56:03 +02:00
libvirt.pc.in build: silence warning from autoconf 2012-05-30 09:22:02 -06:00
libvirt.spec.in spec: Fix multilib issue with systemtap tapsets 2012-10-22 16:15:12 -04:00
mingw-libvirt.spec.in parallels: add driver skeleton 2012-08-01 11:44:26 +08:00
run.in syntax-check: fix run.in 2012-09-18 13:59:53 +02:00

README

         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>