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@xxxxxxxxxx> > --- > 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@xxxxxxxxxx>