On Mon, Jun 13, 2016 at 18:38:39 +0200, Jovanka Gulicoska wrote: > Add storage event handling infrastructure to storage_event.[ch], following > the network_event.[ch] pattern. > --- > src/Makefile.am | 5 + > src/conf/storage_conf.h | 4 + > src/conf/storage_event.c | 237 +++++++++++++++++++++++++++++++++++++++++++++++ > src/conf/storage_event.h | 60 ++++++++++++ > src/libvirt_private.syms | 5 + > 5 files changed, 311 insertions(+) > create mode 100644 src/conf/storage_event.c > create mode 100644 src/conf/storage_event.h > > diff --git a/src/Makefile.am b/src/Makefile.am > index ee4a7bf..cb9bf9b 100644 > --- a/src/Makefile.am > +++ b/src/Makefile.am > @@ -342,6 +342,9 @@ DOMAIN_EVENT_SOURCES = \ > NETWORK_EVENT_SOURCES = \ > conf/network_event.c conf/network_event.h > > +STORAGE_POOL_EVENT_SOURCES = \ Variable name contains "POOL" > + conf/storage_event.c conf/storage_event.h but files don't > + > # Network driver generic impl APIs > NETWORK_CONF_SOURCES = \ > conf/network_conf.c conf/network_conf.h \ > diff --git a/src/conf/storage_conf.h b/src/conf/storage_conf.h > index 54116a6..185ae5e 100644 > --- a/src/conf/storage_conf.h > +++ b/src/conf/storage_conf.h > @@ -31,6 +31,7 @@ > # include "virthread.h" > # include "device_conf.h" > # include "node_device_conf.h" > +# include "object_event.h" > > # include <libxml/tree.h> > > @@ -296,6 +297,9 @@ struct _virStorageDriverState { > char *autostartDir; > char *stateDir; > bool privileged; > + > + /* Immutable pointer, self-locking APIs */ > + virObjectEventStatePtr storageEventState; This isn't used anywhere as of this patch. > }; > > typedef struct _virStoragePoolSourceList virStoragePoolSourceList; > diff --git a/src/conf/storage_event.c b/src/conf/storage_event.c > new file mode 100644 > index 0000000..c5688be > --- /dev/null > +++ b/src/conf/storage_event.c > @@ -0,0 +1,237 @@ > +/* > + * storage_event.c: storage event queue processing helpers > + * > + * Copyright (C) 2010-2014 Red Hat, Inc. > + * Copyright (C) 2008 VirtualIron > + * Copyright (C) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. This copyright was copied somewhere but not updated/cleaned up. > + * 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, see > + * <http://www.gnu.org/licenses/>. > +*/ [...] > diff --git a/src/conf/storage_event.h b/src/conf/storage_event.h > new file mode 100644 > index 0000000..6f244be > --- /dev/null > +++ b/src/conf/storage_event.h > @@ -0,0 +1,60 @@ > +/* > + * storage_event.h: storage event queue processing helpers > + * > + * Copyright (C) 2010-2014 Red Hat, Inc. > + * Copyright (C) 2008 VirtualIron > + * Copyright (C) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. Same as above regarding copyright. > + * > + * 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, see > + * <http://www.gnu.org/licenses/>. > +*/ > + > +#include "internal.h" > +#include "object_event.h" > +#include "object_event_private.h" > + > +#ifndef __STORAGE_POOL_EVENT_H__ Macro name contains POOL but file name doesn't > +# define __STORAGE_POOL_EVENT_H__ > + -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list