On Tue, Jan 08, 2013 at 09:02:37AM -0700, Eric Blake wrote: > On 12/21/2012 10:08 AM, Daniel P. Berrange wrote: > > From: "Daniel P. Berrange" <berrange@xxxxxxxxxx> > > > > This patch introduces support for LXC specific public APIs. In > > common with what was done for QEMU, this creates a libvirt_lxc.so > > library and libvirt/libvirt-lxc.h header file. > > > > The actual APIs are > > > > int virDomainLxcOpenNamespace(virDomainPtr domain, > > int **fdlist, > > unsigned int flags); > > > > int virDomainLxcEnterNamespace(virDomainPtr domain, > > unsigned int flags); > > This commit message signature... Opps, that was from a work-in-progress version of the patch. > > +++ b/src/driver.h > > @@ -915,6 +915,11 @@ typedef int > > unsigned long long minimum, > > unsigned int flags); > > > > +typedef int > > + (*virDrvDomainLxcOpenNamespace)(virDomainPtr dom, > > + int **fdlist, > > + unsigned int flags); > > + > > /** > > * _virDriver: > > * > > @@ -1107,6 +1112,7 @@ struct _virDriver { > > virDrvNodeGetCPUMap nodeGetCPUMap; > > virDrvDomainFSTrim domainFSTrim; > > virDrvDomainSendProcessSignal domainSendProcessSignal; > > + virDrvDomainLxcOpenNamespace domainLxcOpenNamespace; > > No EnterNamespace driver callback? The 'virDomainLxcEnterNamespace' API is special in that it is rnu purely client-side, not in the daemon. It is pretty much just a dumb wrapper around 'setns()' and 'readdir(/proc/self/ns)' to avoid apps having to know about those low level impl details. > > +++ b/src/lxc/lxc_driver.c > > @@ -4544,6 +4544,7 @@ static virDriver lxcDriver = { > > .domainShutdown = lxcDomainShutdown, /* 1.0.1 */ > > .domainShutdownFlags = lxcDomainShutdownFlags, /* 1.0.1 */ > > .domainReboot = lxcDomainReboot, /* 1.0.1 */ > > + .domainLxcOpenNamespace = lxcDomainOpenNamespace, /* 1.0.2 */ > > Again, no EnterNamespace callback registration? Same note as above - the driver API isn't used for this code since it is client side. > ACK with those issues fixed. It made it nice that we already have > libvirt-qemu to copy from. Indeed, it would have taken me ages to get this right without copying from libvirt-qemu :-) Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :| -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list