[libvirt] [RESEND][PATCHv5 4/4] change lxc driver to use hostdev common library
Daniel P. Berrange
berrange at redhat.com
Mon Oct 14 16:16:51 UTC 2013
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 at suse.com>
> ---
> 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 :|
More information about the libvir-list
mailing list