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
Daniel P. Berrange 878cc33a6a Workaround for broken kernel autofs mounts
The kernel automounter is mostly broken wrt to containers. Most
notably if you start a new filesystem namespace and then attempt
to unmount any autofs filesystem, it will typically fail with a
weird error message like

  Failed to unmount '/.oldroot/sys/kernel/security':Too many levels of symbolic links

Attempting to detach the autofs mount using umount2(MNT_DETACH)
will also fail with the same error. Therefore if we get any error on
unmount()ing a filesystem from the old root FS when starting a
container, we must immediately break out and detach the entire
old root filesystem (ignoring any mounts below it).

This has the effect of making the old root filesystem inaccessible
to anything inside the container, but at the cost that the mounts
live on in the kernel until the container exits. Given that SystemD
uses autofs by default, we need LXC to be robust this scenario and
thus this tradeoff is worthwhile.

* src/lxc/lxc_container.c: Detach root filesystem if any umount
  operation fails.
2011-11-01 18:40:37 +00:00
.gnulib@2394a603e7 build: update to latest gnulib 2011-10-13 08:50:24 -06:00
daemon startupPolicty: Minor cleanups 2011-10-31 15:25:09 +01:00
docs esx: Support folders in the path of vpx:// connection URIs 2011-11-01 18:45:42 +01:00
examples Add APIs for virNetSocket for sending/receiving file descriptors 2011-10-28 10:23:53 +01:00
gnulib freebsd: Fix build problem due to picking up the wrong libvirt.h 2011-07-29 07:35:54 -06:00
include secret: add Ceph secret type 2011-10-28 11:34:17 -06:00
m4 tests: Lower stack usage below 4096 bytes 2011-04-30 19:59:52 +02:00
po Release of libvirt-0.9.6 2011-09-22 14:53:23 +08:00
python python: Fix documentation of virStream recv 2011-10-31 18:07:05 +01:00
src Workaround for broken kernel autofs mounts 2011-11-01 18:40:37 +00:00
tests qemu: simplify use of HAVE_YAJL 2011-10-26 11:55:39 -06:00
tools virsh: Fix error message on vol-create-from failure 2011-10-27 21:28:22 -06:00
.dir-locals.el maint: let emacs avoid tabs in rng files 2011-08-13 08:56:26 -06:00
.gitignore snapshot: test domainsnapshot indentation 2011-10-20 16:02:16 -06:00
.gitmodules make .gnulib a submodule 2009-07-08 16:17:51 +02:00
.mailmap bridge_driver.c: Fix autoconf setting 2011-10-03 23:35:29 -04:00
AUTHORS esx: Support vSphere 5.x 2011-11-01 18:00:34 +01:00
autobuild.sh spec: mingw cleanups 2011-10-13 09:21:02 -06:00
autogen.sh build: avoid problems with autogen.sh runs from tarball 2011-02-12 06:28:28 -07:00
bootstrap build: fix compilation on mingw64 2011-08-19 07:20:10 -06:00
bootstrap.conf build: use gnulib fdatasync 2011-10-25 09:48:34 -06:00
cfg.mk Update examples for probing with systemtap 2011-10-11 11:26:15 +01:00
ChangeLog-old generate ChangeLog from git logs into distribution tarball 2009-07-08 16:17:51 +02:00
configure.ac build: avoid RHEL 5 build failure on LXC 2011-10-26 10:11:50 -06:00
COPYING.LIB remove all trailing blank lines 2009-07-16 15:06:42 +02:00
HACKING Document STREQ_NULLABLE and STRNEQ_NULLABLE 2011-10-06 16:50:38 +02: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 Create /var/lib/libvirt/filesystems for LXC trees 2011-11-01 18:40:37 +00:00
Makefile.am maint: add missing copyright notices 2011-07-28 15:01:17 -06:00
Makefile.nonreentrant Ban use of all inet_* functions 2010-10-22 11:59:23 +01:00
mingw32-libvirt.spec.in Allow for URI aliases when connecting to libvirt 2011-10-19 09:14:34 +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

         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>