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
Peter Krempa a877a1635b conf: Remove pre-calculation of initial memory size
While we need to know the difference between the total memory stored in
<memory> and the actual size not included in the possible memory modules
we can't pre-calculate it reliably. This is due to the fact that
libvirt's XML is copied via formatting and parsing the XML and the
initial memory size can be reliably calculated only when certain
conditions are met due to backwards compatibility.

This patch removes the storage of 'initial_memory' and fixes the helpers
to recalculate the initial memory size all the time from the total
memory size. This conversion is possible when we also make sure that
memory hotplug accounts properly for the update of the total memory size
and thus the helpers for inserting and removing memory devices need to
be tweaked too.

This fixes a bug where a cold-plug and cold-remove of a memory device
would increase the size reported in <memory> in the XML by the size of
the memory device. This would happen as the persistent definition is
copied before attaching the device and this would lead to the loss of
data in 'initial_memory'.

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1344892
2016-06-17 10:36:41 +02:00
.gnulib@246b3b2880 maint: update to latest gnulib 2016-05-27 14:06:45 -06:00
build-aux check-spacing: fix error message 2016-06-15 16:05:08 +02:00
daemon remote: implement storage lifecycle event APIs 2016-06-16 12:22:11 -04:00
docs docs: Add at least some docs and fix schema entry for perf events 2016-06-17 09:35:14 +02:00
examples event-test: support storage lifecycle event APIs 2016-06-16 12:22:11 -04:00
gnulib maint: update to latest gnulib 2016-01-04 13:56:35 -07:00
include/libvirt Introduce storage lifecycle event APIs 2016-06-16 12:22:11 -04:00
m4 virt-login-shell: mark as Linux only 2016-06-13 12:51:17 +03:00
po libxl: introduce libxl_capabilities.{ch} 2016-06-13 14:13:16 -06:00
src conf: Remove pre-calculation of initial memory size 2016-06-17 10:36:41 +02:00
tests conf: Fix perf event parser 2016-06-17 09:35:14 +02:00
tools virsh: Fix help string for net-dumpxml 2016-06-16 09:38:41 -04:00
.ctags maint: Make ctags work out of the box 2013-07-18 08:47:21 +02:00
.dir-locals.el
.gitignore maint: Switch to xz compressed PAX release archives 2016-06-15 18:53:34 +02:00
.gitmodules
.mailmap maint: update .mailmap for recent contributions 2015-03-20 06:17:55 -06:00
AUTHORS.in Change maintainers list 2016-02-12 13:10:05 +03:00
autobuild.sh maint: Switch to xz compressed PAX release archives 2016-06-15 18:53:34 +02:00
autogen.sh maint: improve usage of autogen's --no-git 2015-02-06 11:35:29 -07:00
bootstrap maint: update to latest gnulib 2016-05-26 10:47:03 -06:00
bootstrap.conf build: use gnulib's unsetenv 2016-05-28 23:13:26 +02:00
cfg.mk syntax-check: drop prohibit_undesirable_word_seq 2016-06-16 07:57:53 +02:00
ChangeLog-old Fix typos in src/* 2014-04-21 16:49:08 -06:00
config-post.h libvirt-lxc: add virDomainLxcEnterCGroup API 2016-06-10 11:02:53 +01:00
configure.ac maint: Switch to xz compressed PAX release archives 2016-06-15 18:53:34 +02:00
COPYING
COPYING.LESSER maint: Remove control characters from LGPL license file 2015-09-25 09:16:24 +02:00
HACKING virtestmock: Print invalid file accesses into a file 2016-05-14 09:46:23 +02:00
libvirt-admin.pc.in Add libvirt-admin library 2015-06-16 13:46:20 +02:00
libvirt-lxc.pc.in Add pkg-config files for libvirt-qemu & libvirt-lxc 2014-06-23 16:17:27 +01:00
libvirt-qemu.pc.in Add pkg-config files for libvirt-qemu & libvirt-lxc 2014-06-23 16:17:27 +01:00
libvirt.pc.in Add pkg-config files for libvirt-qemu & libvirt-lxc 2014-06-23 16:17:27 +01:00
libvirt.spec.in maint: Switch to xz compressed PAX release archives 2016-06-15 18:53:34 +02:00
Makefile.am maint: Switch to xz compressed PAX release archives 2016-06-15 18:53:34 +02:00
Makefile.nonreentrant cfg.mk: use a single regex for all non-reentrant functions 2016-06-15 15:00:56 +02:00
mingw-libvirt.spec.in maint: Switch to xz compressed PAX release archives 2016-06-15 18:53:34 +02:00
README
README-hacking docs: update README-hacking 2014-05-06 16:20:24 -06:00
run.in Add PKG_CONFIG_PATH to run.in script. 2014-06-26 14:32:35 +01: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>