[libvirt] [PATCH] util: Use virStorageSourceNew in virStorageFileMetadataNew

Peter Krempa pkrempa at redhat.com
Mon Feb 18 12:51:10 UTC 2019


On Mon, Feb 18, 2019 at 07:38:34 -0500, John Ferlan wrote:
> 
> 
> On 2/18/19 7:27 AM, Peter Krempa wrote:
> > Commit dcda2bf4c110 forgot to fix this one instance.
> > 
> > Signed-off-by: Peter Krempa <pkrempa at redhat.com>
> > ---
> >  src/util/virstoragefile.c | 14 ++++++--------
> >  1 file changed, 6 insertions(+), 8 deletions(-)
> > 
> 
> Right fix as far as I'm concerned; however, I am curious to know whether
> this passes the MinGW build test because this is exactly where things
> started to break down for VIR_AUTOPTR usage.

We'll see after I push it. I don't have mingw deployed and don't care
enough about that platform to do so.

> 
> VIR_AUTOUNREF could also be used more liberally in this module...

I'll not pursue this refactor.

> 
> > diff --git a/src/util/virstoragefile.c b/src/util/virstoragefile.c
> > index 5927140a66..b2e308d81d 100644
> > --- a/src/util/virstoragefile.c
> > +++ b/src/util/virstoragefile.c
> > @@ -1119,22 +1119,20 @@ static virStorageSourcePtr
> >  virStorageFileMetadataNew(const char *path,
> >                            int format)
> >  {
> > -    virStorageSourcePtr def = NULL;
> > +    VIR_AUTOUNREF(virStorageSourcePtr) def = NULL;
> > +    virStorageSourcePtr ret = NULL;
> 
> Erik prefers the usage of VIR_AUTO* defs last (IOW, swap these).

Well I prefer if the returned variable is last and if the longer lines
are first.

> As long as this gets through the MinGW build test, then
> 
> Reviewed-by: John Ferlan <jferlan at redhat.com>
> 
> John
> 
> Altering other virStorageSource refs here to use VIR_AUTOUNREF would be
> the next step (and of course getting them through MinGW build test).
> 
> > 
> > -    if (VIR_ALLOC(def) < 0)
> > +    if (!(def = virStorageSourceNew()))
> >          return NULL;
> > 
> >      def->format = format;
> >      def->type = VIR_STORAGE_TYPE_FILE;
> > 
> >      if (VIR_STRDUP(def->path, path) < 0)
> > -        goto error;
> > -
> > -    return def;
> > +        return NULL;
> > 
> > - error:
> > -    virObjectUnref(def);
> > -    return NULL;
> > +    VIR_STEAL_PTR(ret, def);
> > +    return ret;
> >  }
> > 
> > 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20190218/485d055d/attachment-0001.sig>


More information about the libvir-list mailing list