Hi,

first thanks for your comments.

I have one question regarding the copyright in files: storage_event.[ch], since they are copy of network_event.[ch], with changes needed for storage pool lifecycle events.
Which way will be the best to handle the copyright in these files?

Thanks,
Jovanka

On Tue, Jun 14, 2016 at 6:49 AM, Peter Krempa <pkrempa@redhat.com> wrote:
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__
> +