Add libxenlight driver
authorJim Fehlig <jfehlig@novell.com>
Thu, 10 Feb 2011 22:42:34 +0000 (15:42 -0700)
committerJim Fehlig <jfehlig@novell.com>
Fri, 18 Mar 2011 14:57:48 +0000 (08:57 -0600)
commit2b84e445d598894c711278afacfbb9247333bdd8
treefc1a018e51d51e3c6bcc6dedcf478c24b6823892
parentfba550f65147d36d9c878fc13e9fb5770d250e07
Add libxenlight driver

Add a new xen driver based on libxenlight [1], which is the primary
toolstack starting with Xen 4.1.0.  The driver is stateful and runs
privileged only.

Like the existing xen-unified driver, the libxenlight driver is
accessed with xen:// URI.  Driver selection is based on the status
of xend.  If xend is running, the libxenlight driver will not load
and xen:// connections are handled by xen-unified.  If xend is not
running *and* the libxenlight driver is available, xen://
connections are deferred to the libxenlight driver.

V6:
 - Address several code style issues noted by Daniel Veillard
 - Make drive work with xen:/// URI
 - Hold domain object reference while domain is injected in
   libvirt event loop.  Race found and fixed by Markus Groß.

V5:
 - Ensure events are unregistered when domain private data
   is destroyed.  Discovered and fixed by Markus Groß.

V4:
 - Handle restart of libvirtd, reconnecting to previously
   started domains
 - Rebased to current master
 - Tested against Xen 4.1 RC7-pre (c/s 22961:c5d121fd35c0)

V3:
  - Reserve vnc port within driver when autoport=yes

V2:
  - Update to Xen 4.1 RC6-pre (c/s 22940:5a4710640f81)
  - Rebased to current master
  - Plug memory leaks found by Stefano Stabellini and valgrind
  - Handle SHUTDOWN_crash domain death event

[1] http://lists.xensource.com/archives/html/xen-devel/2009-11/msg00436.html
16 files changed:
cfg.mk
configure.ac
daemon/Makefile.am
daemon/libvirtd.c
include/libvirt/virterror.h
libvirt.spec.in
po/POTFILES.in
src/Makefile.am
src/driver.h
src/libvirt.c
src/libxl/libxl_conf.c [new file with mode: 0644]
src/libxl/libxl_conf.h [new file with mode: 0644]
src/libxl/libxl_driver.c [new file with mode: 0644]
src/libxl/libxl_driver.h [new file with mode: 0644]
src/util/virterror.c
src/xen/xen_driver.c