On Wed, Jul 18, 2012 at 05:32:29PM +0100, Daniel P. Berrange wrote: > From: "Daniel P. Berrange" <berra...@redhat.com> > > Move the LXC driver code related to the virDomainObjPtr > private data into separate lxc_domain.{c,h} files > to reduce the size of lxc_driver.c > > Signed-off-by: Daniel P. Berrange <berra...@redhat.com> > --- > src/Makefile.am | 1 + > src/lxc/lxc_domain.c | 53 > ++++++++++++++++++++++++++++++++++++++++++++++++++ > src/lxc/lxc_domain.h | 37 +++++++++++++++++++++++++++++++++++ > src/lxc/lxc_driver.c | 33 ++-----------------------------
Improving the diff report here in git which would match the identical chunks moved from one file to another would be a great improvement :-) > 4 files changed, 93 insertions(+), 31 deletions(-) > create mode 100644 src/lxc/lxc_domain.c > create mode 100644 src/lxc/lxc_domain.h > > diff --git a/src/Makefile.am b/src/Makefile.am > index bfe74d3..e18b0dc 100644 > --- a/src/Makefile.am > +++ b/src/Makefile.am > @@ -350,6 +350,7 @@ endif > LXC_DRIVER_SOURCES = \ > lxc/lxc_conf.c lxc/lxc_conf.h \ > lxc/lxc_container.c lxc/lxc_container.h \ > + lxc/lxc_domain.c lxc/lxc_domain.h \ > lxc/lxc_driver.c lxc/lxc_driver.h > > LXC_CONTROLLER_SOURCES = \ > diff --git a/src/lxc/lxc_domain.c b/src/lxc/lxc_domain.c > new file mode 100644 > index 0000000..75fd74f > --- /dev/null > +++ b/src/lxc/lxc_domain.c > @@ -0,0 +1,53 @@ > +/* > + * Copyright (C) 2010-2012 Red Hat, Inc. > + * Copyright IBM Corp. 2008 > + * > + * lxc_domain.h: LXC domain helpers > + * > + * This library is free software; you can redistribute it and/or > + * modify it under the terms of the GNU Lesser General Public > + * License as published by the Free Software Foundation; either > + * version 2.1 of the License, or (at your option) any later version. > + * > + * This library is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > + * Lesser General Public License for more details. > + * > + * You should have received a copy of the GNU Lesser General Public > + * License along with this library; if not, write to the Free Software > + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA > + */ > + > +#include <config.h> > + > +#include "lxc_domain.h" > + > +#include "memory.h" > + > +static void *lxcDomainObjPrivateAlloc(void) > +{ > + lxcDomainObjPrivatePtr priv; > + > + if (VIR_ALLOC(priv) < 0) > + return NULL; > + > + priv->monitor = -1; > + priv->monitorWatch = -1; > + > + return priv; > +} > + > +static void lxcDomainObjPrivateFree(void *data) > +{ > + lxcDomainObjPrivatePtr priv = data; > + > + VIR_FREE(priv); > +} > + > + > +void lxcDomainSetPrivateDataHooks(virCapsPtr caps) > +{ > + caps->privateDataAllocFunc = lxcDomainObjPrivateAlloc; > + caps->privateDataFreeFunc = lxcDomainObjPrivateFree; > +} > diff --git a/src/lxc/lxc_domain.h b/src/lxc/lxc_domain.h > new file mode 100644 > index 0000000..e97b2b4 > --- /dev/null > +++ b/src/lxc/lxc_domain.h > @@ -0,0 +1,37 @@ > +/* > + * Copyright (C) 2010-2012 Red Hat, Inc. > + * Copyright IBM Corp. 2008 > + * > + * lxc_domain.h: LXC domain helpers > + * > + * This library is free software; you can redistribute it and/or > + * modify it under the terms of the GNU Lesser General Public > + * License as published by the Free Software Foundation; either > + * version 2.1 of the License, or (at your option) any later version. > + * > + * This library is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > + * Lesser General Public License for more details. > + * > + * You should have received a copy of the GNU Lesser General Public > + * License along with this library; if not, write to the Free Software > + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA > + */ > + > + > +#ifndef __LXC_DOMAIN_H__ > +# define __LXC_DOMAIN_H__ > + > +# include "lxc_conf.h" > + > +typedef struct _lxcDomainObjPrivate lxcDomainObjPrivate; > +typedef lxcDomainObjPrivate *lxcDomainObjPrivatePtr; > +struct _lxcDomainObjPrivate { > + int monitor; > + int monitorWatch; > +}; > + > +void lxcDomainSetPrivateDataHooks(virCapsPtr caps); > + > +#endif /* __LXC_DOMAIN_H__ */ > diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c > index c341125..d3895d5 100644 > --- a/src/lxc/lxc_driver.c > +++ b/src/lxc/lxc_driver.c > @@ -40,6 +40,7 @@ > #include "datatypes.h" > #include "lxc_conf.h" > #include "lxc_container.h" > +#include "lxc_domain.h" > #include "lxc_driver.h" > #include "memory.h" > #include "util.h" > @@ -69,14 +70,6 @@ > > #define LXC_NB_MEM_PARAM 3 > > -typedef struct _lxcDomainObjPrivate lxcDomainObjPrivate; > -typedef lxcDomainObjPrivate *lxcDomainObjPrivatePtr; > -struct _lxcDomainObjPrivate { > - int monitor; > - int monitorWatch; > -}; > - > - > static int lxcStartup(int privileged); > static int lxcShutdown(void); > static lxc_driver_t *lxc_driver = NULL; > @@ -92,27 +85,6 @@ static void lxcDriverUnlock(lxc_driver_t *driver) > virMutexUnlock(&driver->lock); > } > > -static void *lxcDomainObjPrivateAlloc(void) > -{ > - lxcDomainObjPrivatePtr priv; > - > - if (VIR_ALLOC(priv) < 0) > - return NULL; > - > - priv->monitor = -1; > - priv->monitorWatch = -1; > - > - return priv; > -} > - > -static void lxcDomainObjPrivateFree(void *data) > -{ > - lxcDomainObjPrivatePtr priv = data; > - > - VIR_FREE(priv); > -} > - > - > static void lxcDomainEventQueue(lxc_driver_t *driver, > virDomainEventPtr event); > > @@ -2678,8 +2650,7 @@ static int lxcStartup(int privileged) > if ((lxc_driver->caps = lxcCapsInit(lxc_driver)) == NULL) > goto cleanup; > > - lxc_driver->caps->privateDataAllocFunc = lxcDomainObjPrivateAlloc; > - lxc_driver->caps->privateDataFreeFunc = lxcDomainObjPrivateFree; > + lxcDomainSetPrivateDataHooks(lxc_driver->caps); > > if (lxcProcessAutoDestroyInit(lxc_driver) < 0) > goto cleanup; ACK Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ dan...@veillard.com | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/ -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list