On Fri, Sep 13, 2013 at 11:34:37AM +0800, Chunyan Liu wrote: > Change lxc driver to use hostdev common library instead of its own APIs in > lxc_hostdev.[ch] > > Signed-off-by: Chunyan Liu <cyliu@xxxxxxxx> > --- > po/POTFILES.in | 1 - > src/Makefile.am | 1 - > src/lxc/lxc_conf.h | 4 - > src/lxc/lxc_driver.c | 45 +++--- > src/lxc/lxc_hostdev.c | 413 ------------------------------------------------- > src/lxc/lxc_hostdev.h | 43 ----- > src/lxc/lxc_process.c | 21 ++- > 7 files changed, 43 insertions(+), 485 deletions(-) > delete mode 100644 src/lxc/lxc_hostdev.c > delete mode 100644 src/lxc/lxc_hostdev.h > > diff --git a/po/POTFILES.in b/po/POTFILES.in > index 2fc7e67..b3b7832 100644 > --- a/po/POTFILES.in > +++ b/po/POTFILES.in > @@ -61,7 +61,6 @@ src/locking/lock_manager.c > src/locking/sanlock_helper.c > src/lxc/lxc_cgroup.c > src/lxc/lxc_fuse.c > -src/lxc/lxc_hostdev.c > src/lxc/lxc_container.c > src/lxc/lxc_conf.c > src/lxc/lxc_controller.c > diff --git a/src/Makefile.am b/src/Makefile.am > index c3a8ba0..afae0a8 100644 > --- a/src/Makefile.am > +++ b/src/Makefile.am > @@ -600,7 +600,6 @@ LXC_DRIVER_SOURCES = \ > lxc/lxc_container.c lxc/lxc_container.h \ > lxc/lxc_cgroup.c lxc/lxc_cgroup.h \ > lxc/lxc_domain.c lxc/lxc_domain.h \ > - lxc/lxc_hostdev.c lxc/lxc_hostdev.h \ > lxc/lxc_monitor.c lxc/lxc_monitor.h \ > lxc/lxc_process.c lxc/lxc_process.h \ > lxc/lxc_fuse.c lxc/lxc_fuse.h \ > diff --git a/src/lxc/lxc_conf.h b/src/lxc/lxc_conf.h > index a6208a2..05f2a80 100644 > --- a/src/lxc/lxc_conf.h > +++ b/src/lxc/lxc_conf.h > @@ -92,10 +92,6 @@ struct _virLXCDriver { > /* Immutable pointer, self-locking APIs */ > virDomainObjListPtr domains; > > - /* Immutable pointer. Requires lock to be held before > - * calling APIs. */ > - virUSBDeviceListPtr activeUsbHostdevs; > - > /* Immutable pointer, self-locking APIs */ > virDomainEventStatePtr domainEventState; > > diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c > index b587c22..098f2f0 100644 > --- a/src/lxc/lxc_driver.c > +++ b/src/lxc/lxc_driver.c > @@ -70,6 +70,7 @@ > #include "virstring.h" > #include "viraccessapicheck.h" > #include "viraccessapichecklxc.h" > +#include "virhostdev.h" > > #define VIR_FROM_THIS VIR_FROM_LXC > > @@ -1418,9 +1419,6 @@ static int lxcStateInitialize(bool privileged, > if (!(lxc_driver->securityManager = lxcSecurityInit(cfg))) > goto cleanup; > > - if ((lxc_driver->activeUsbHostdevs = virUSBDeviceListNew()) == NULL) > - goto cleanup; > - > if ((virLXCDriverGetCapabilities(lxc_driver, true)) == NULL) > goto cleanup; > > @@ -1535,7 +1533,6 @@ static int lxcStateCleanup(void) > > virSysinfoDefFree(lxc_driver->hostsysinfo); > > - virObjectUnref(lxc_driver->activeUsbHostdevs); > virObjectUnref(lxc_driver->caps); > virObjectUnref(lxc_driver->securityManager); > virObjectUnref(lxc_driver->xmlopt); > @@ -3214,6 +3211,7 @@ lxcDomainAttachDeviceHostdevSubsysUSBLive(virLXCDriverPtr driver, > mode_t mode; > bool created = false; > virUSBDevicePtr usb = NULL; > + virHostdevManagerPtr hostdev_mgr; > > if (virDomainHostdevFind(vm->def, def, NULL) >= 0) { > virReportError(VIR_ERR_OPERATION_FAILED, "%s", > @@ -3221,6 +3219,13 @@ lxcDomainAttachDeviceHostdevSubsysUSBLive(virLXCDriverPtr driver, > return -1; > } > > + hostdev_mgr = virHostdevManagerGetDefault(); Check for NULL, and other places. 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