Go to file
Eric Blake 38c4a9cc40 storage: use cache to walk backing chain
We used to walk the backing file chain at least twice per disk,
once to set up cgroup device whitelisting, and once to set up
security labeling.  Rather than walk the chain every iteration,
which possibly includes calls to fork() in order to open root-squashed
NFS files, we can exploit the cache of the previous patch.

* src/conf/domain_conf.h (virDomainDiskDefForeachPath): Alter
signature.
* src/conf/domain_conf.c (virDomainDiskDefForeachPath): Require caller
to supply backing chain via disk, if recursion is desired.
* src/security/security_dac.c
(virSecurityDACSetSecurityImageLabel): Adjust caller.
* src/security/security_selinux.c
(virSecuritySELinuxSetSecurityImageLabel): Likewise.
* src/security/virt-aa-helper.c (get_files): Likewise.
* src/qemu/qemu_cgroup.c (qemuSetupDiskCgroup)
(qemuTeardownDiskCgroup): Likewise.
(qemuSetupCgroup): Pre-populate chain.
2012-10-19 17:35:11 -06:00
.gnulib@2a9edc6f2b build: update gnulib for FreeBSD build 2012-10-03 11:50:02 -06:00
build-aux maint: fix up copyright notice inconsistencies 2012-09-20 16:30:55 -06:00
daemon Add JSON serialization of virNetServerClientPtr objects for process re-exec() 2012-10-16 15:45:55 +01:00
docs storage: match RNG to supported driver types 2012-10-19 17:35:09 -06: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 Introduce an internal API for handling file based lockspaces 2012-10-16 15:45:55 +01:00
m4 build: avoid -Wno-format on new-enough gcc 2012-10-02 09:48:23 -06:00
po Implement CPU model driver for PowerPC 2012-10-17 10:03:34 +02:00
python Add support for SUSPEND_DISK event 2012-10-15 12:09:10 +02:00
src storage: use cache to walk backing chain 2012-10-19 17:35:11 -06:00
tests storage: treat 'aio' like 'raw' at parse time 2012-10-19 17:35:09 -06:00
tools node_memory: Add new parameter field to tune the new sysfs knob 2012-10-15 17:35:54 +08:00
.dir-locals.el build: avoid tabs that failed syntax-check 2012-09-06 09:43:46 -06:00
.gitignore Autogenerate AUTHORS 2012-10-19 12:44:56 -04: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 Autogenerate AUTHORS 2012-10-19 12:44:56 -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 locking: Fix build with sanlock < 2.4 2012-10-16 21:32:05 +02:00
libvirt.pc.in build: silence warning from autoconf 2012-05-30 09:22:02 -06:00
libvirt.spec.in spec: Fix dependency for lock-sanlock subpackage 2012-10-18 14:23:24 +02: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>