[Virtio-fs] [PATCH] virtiofsd: make FUSE_REMOVEMAPPING support multiple entries

Dr. David Alan Gilbert dgilbert at redhat.com
Wed May 22 11:38:33 UTC 2019


* Miklos Szeredi (mszeredi at redhat.com) wrote:
> On Wed, May 22, 2019 at 1:27 PM Dr. David Alan Gilbert
> <dgilbert at redhat.com> wrote:
> >
> > * Peng Tao (tao.peng at linux.alibaba.com) wrote:
> > > The fuse wire protocol is changed so that we can unmap multiple
> > > mappings in a single call.
> > >
> > > Signed-off-by: Peng Tao <tao.peng at linux.alibaba.com>
> >
> > Hi,
> >   Thanks for the patch and apologies for not responding sooner
> >
> > > ---
> > >  contrib/virtiofsd/fuse_kernel.h    |  9 +++++++--
> > >  contrib/virtiofsd/fuse_lowlevel.c  | 21 ++++++++++++++------
> > >  contrib/virtiofsd/fuse_lowlevel.h  |  5 +++--
> > >  contrib/virtiofsd/passthrough_ll.c | 31 ++++++++++++++++++++----------
> > >  4 files changed, 46 insertions(+), 20 deletions(-)
> > >
> > > diff --git a/contrib/virtiofsd/fuse_kernel.h b/contrib/virtiofsd/fuse_kernel.h
> > > index ce46046a4f..093cacff02 100644
> > > --- a/contrib/virtiofsd/fuse_kernel.h
> > > +++ b/contrib/virtiofsd/fuse_kernel.h
> > > @@ -830,9 +830,14 @@ struct fuse_setupmapping_out {
> > >          uint64_t        len[FUSE_SETUPMAPPING_ENTRIES];
> > >  };
> > >
> > > -struct fuse_removemapping_in {
> > > +struct fuse_removemapping_in_header {
> > >          /* An already open handle */
> > > -     uint64_t        fh;
> > > +        uint64_t        fh;
> > > +        /* number of fuse_removemapping_in follows */
> > > +        unsigned        num;
> >
> > I think all fields in fuse structures are fixed length - e.g. uint32_t
> > or uint64_t.
> >
> > > +};
> > > +
> > > +struct fuse_removemapping_in {
> > >          /* Offset into the dax to start the unmapping */
> > >          uint64_t        moffset;
> > >          /* Length of mapping required */
> >
> > Miklos: Does this make sense for a fuse structure? It's that header
> > followed by 'num' of fuse_removemapping_in.
> 
> There's one example of that already: fuse_batch_forget_in followed by
> 'count' number of fuse_forget_one.

OK, it would be great to follow the same naming pattern for this.

Dave

> Thanks,
> Miklos
--
Dr. David Alan Gilbert / dgilbert at redhat.com / Manchester, UK




More information about the Virtio-fs mailing list