[libvirt] [PATCH 2/5] util: storage: Turn virStorageSource into a virObject

Erik Skultety eskultet at redhat.com
Mon Feb 18 07:56:59 UTC 2019


On Fri, Feb 15, 2019 at 01:42:10PM +0100, Peter Krempa wrote:
> To allow tracking a single virStorageSource in multiple structures
> without extra hassle allow refcounting by turining it into an object.
>
> Signed-off-by: Peter Krempa <pkrempa at redhat.com>
> ---
>  src/util/virstoragefile.c | 40 +++++++++++++++++++++++++++++----------
>  src/util/virstoragefile.h |  2 ++
>  2 files changed, 32 insertions(+), 10 deletions(-)
>
> diff --git a/src/util/virstoragefile.c b/src/util/virstoragefile.c
> index 7f52a5fdc7..56c6510c5e 100644
> --- a/src/util/virstoragefile.c
> +++ b/src/util/virstoragefile.c
> @@ -47,6 +47,8 @@
>
>  VIR_LOG_INIT("util.storagefile");
>
> +static virClassPtr virStorageSourceClass;
> +
>  VIR_ENUM_IMPL(virStorage, VIR_STORAGE_TYPE_LAST,
>                "none",
>                "file",
> @@ -2558,30 +2560,48 @@ virStorageSourceClear(virStorageSourcePtr def)
>
>      virStorageSourceInitiatorClear(&def->initiator);
>
> -    memset(def, 0, sizeof(*def));
> +    /* clear everything except the class header */
> +    memset((char *) def + sizeof(def->parent), 0,
> +           sizeof(*def) - sizeof(def->parent));

I've seen the reason behind this change, but I think a more thorough
explanation would be appreciated - in this case enhancing the commentary is
more useful than the commit message.

Reviewed-by: Erik Skultety <eskultet at redhat.com>




More information about the libvir-list mailing list