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
Michal Privoznik 8a95078f98 iohelper: fdatasync() at the end
Currently, when we are doing (managed) save, we insert the
iohelper between the qemu and OS. The pipe is created, the
writing end is passed to qemu and the reading end to the
iohelper. It reads data and write them into given file. However,
with write() being asynchronous data may still be in OS
caches and hence in some (corner) cases, all migration data
may have been read and written (not physically though). So
qemu will report success, as well as iohelper. However, with
some non local filesystems, where ENOSPACE is polled every X
time units, we may get into situation where all operations
succeeded but data hasn't reached the disk. And in fact will
never do. Therefore we ought sync caches to make sure data
has reached the block device on remote host.
(cherry picked from commit f32e3a2dd6)
2012-12-09 16:11:09 -05:00
.gnulib@b4938324b7 build: avoid infinite autogen loop 2012-10-27 15:06:31 -04:00
build-aux maint: fix up copyright notice inconsistencies 2012-09-20 16:30:55 -06:00
daemon daemon: Avoid 'Could not find keytab file' in syslog 2012-10-27 15:11:09 -04:00
docs documentation: HTML tag fix 2012-10-27 15:16:41 -04:00
examples maint: fix up copyright notice inconsistencies 2012-09-20 16:30:55 -06:00
gnulib build: fix fresh checkout on RHEL5 2012-04-19 17:11:43 -06:00
include maint: fix up copyright notice inconsistencies 2012-09-20 16:30:55 -06:00
m4 build: avoid -Wno-format on new-enough gcc 2012-10-18 13:11:29 -04:00
po Prep for release 0.10.2.1 2012-10-27 16:57:20 -04:00
python Properly parse (unsigned) long long 2012-10-18 13:19:51 -04:00
src iohelper: fdatasync() at the end 2012-12-09 16:11:09 -05:00
tests Create temporary dir for socket 2012-12-09 16:07:09 -05:00
tools virsh: Fix segfault of snapshot-list 2012-10-27 15:11:48 -04:00
.dir-locals.el build: avoid tabs that failed syntax-check 2012-09-06 09:43:46 -06:00
.gitignore Autogenerate AUTHORS 2012-10-27 15:07:44 -04:00
.gitmodules
.mailmap Autogenerate AUTHORS 2012-10-27 15:07:44 -04:00
AUTHORS.in Remove a couple duplicates from AUTHORS.in 2012-10-27 15:14:05 -04: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-27 15:06:31 -04:00
bootstrap maint: regenerate bootstrap 2012-07-27 09:34:04 -06:00
bootstrap.conf Autogenerate AUTHORS 2012-10-27 15:07:44 -04:00
cfg.mk util: do a better job of matching up pids with their binaries 2012-12-09 16:07:04 -05:00
ChangeLog-old virterror.c: Fix several spelling mistakes 2012-02-03 11:32:51 -07:00
configure.ac Prep for release 0.10.2.1 2012-10-27 16:57:20 -04:00
COPYING.LIB
HACKING Update how to compile with -Werror 2012-10-17 16:18:22 -04:00
libvirt.pc.in build: silence warning from autoconf 2012-05-30 09:22:02 -06:00
libvirt.spec.in add ppc64 and s390x to arches where qemu-kvm exists 2012-11-16 11:07:05 -07:00
Makefile.am Autogenerate AUTHORS 2012-10-27 15:07:44 -04:00
Makefile.nonreentrant
mingw-libvirt.spec.in parallels: add driver skeleton 2012-08-01 11:44:26 +08:00
README
README-hacking
run.in syntax-check: fix run.in 2012-09-18 13:59:53 +02: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>