[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