qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 080/104] virtiofsd: add helper for lo_data cleanup


From: Dr. David Alan Gilbert
Subject: Re: [PATCH 080/104] virtiofsd: add helper for lo_data cleanup
Date: Thu, 9 Jan 2020 17:41:53 +0000
User-agent: Mutt/1.13.0 (2019-11-30)

* Daniel P. Berrangé (address@hidden) wrote:
> On Thu, Dec 12, 2019 at 04:38:40PM +0000, Dr. David Alan Gilbert (git) wrote:
> > From: Liu Bo <address@hidden>
> > 
> > This offers an helper function for lo_data's cleanup.
> > 
> > Signed-off-by: Liu Bo <address@hidden>
> > ---
> >  tools/virtiofsd/passthrough_ll.c | 37 ++++++++++++++++++--------------
> >  1 file changed, 21 insertions(+), 16 deletions(-)
> 
> Reviewed-by: Daniel P. Berrangé <address@hidden>

Thanks.

> 
> > 
> > diff --git a/tools/virtiofsd/passthrough_ll.c 
> > b/tools/virtiofsd/passthrough_ll.c
> > index 45cf466178..097033aa00 100644
> > --- a/tools/virtiofsd/passthrough_ll.c
> > +++ b/tools/virtiofsd/passthrough_ll.c
> > @@ -2439,6 +2439,26 @@ static gboolean lo_key_equal(gconstpointer a, 
> > gconstpointer b)
> >      return la->ino == lb->ino && la->dev == lb->dev;
> >  }
> >  
> > +static void fuse_lo_data_cleanup(struct lo_data *lo)
> > +{
> > +    if (lo->inodes) {
> > +        g_hash_table_destroy(lo->inodes);
> > +    }
> > +    lo_map_destroy(&lo->fd_map);
> > +    lo_map_destroy(&lo->dirp_map);
> > +    lo_map_destroy(&lo->ino_map);
> > +
> > +    if (lo->proc_self_fd >= 0) {
> > +        close(lo->proc_self_fd);
> > +    }
> > +
> > +    if (lo->root.fd >= 0) {
> > +        close(lo->root.fd);
> > +    }
> > +
> > +    free((char *)lo->source);
> 
> This will need changing if you follow my comment on prev patch about
> removing the const & cast

Done.

> 
> > +}
> > +
> >  int main(int argc, char *argv[])
> >  {
> >      struct fuse_args args = FUSE_ARGS_INIT(argc, argv);
> > @@ -2594,22 +2614,7 @@ err_out2:
> >  err_out1:
> >      fuse_opt_free_args(&args);
> >  
> > -    if (lo.inodes) {
> > -        g_hash_table_destroy(lo.inodes);
> > -    }
> > -    lo_map_destroy(&lo.fd_map);
> > -    lo_map_destroy(&lo.dirp_map);
> > -    lo_map_destroy(&lo.ino_map);
> > -
> > -    if (lo.proc_self_fd >= 0) {
> > -        close(lo.proc_self_fd);
> > -    }
> > -
> > -    if (lo.root.fd >= 0) {
> > -        close(lo.root.fd);
> > -    }
> > -
> > -    free((char *)lo.source);
> > +    fuse_lo_data_cleanup(&lo);
> >  
> >      return ret ? 1 : 0;
> >  }
> > -- 
> > 2.23.0
> > 
> > 
> 
> Regards,
> Daniel
> -- 
> |: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
> |: https://libvirt.org         -o-            https://fstop138.berrange.com :|
> |: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|
--
Dr. David Alan Gilbert / address@hidden / Manchester, UK




reply via email to

[Prev in Thread] Current Thread [Next in Thread]