qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH v2 070/109] virtiofsd: passthrough_ll: control readdirplus


From: Dr. David Alan Gilbert
Subject: Re: [PATCH v2 070/109] virtiofsd: passthrough_ll: control readdirplus
Date: Wed, 22 Jan 2020 17:42:00 +0000
User-agent: Mutt/1.13.0 (2019-11-30)

* Misono Tomohiro (address@hidden) wrote:
> > From: Miklos Szeredi <address@hidden>
> > 
> > Signed-off-by: Miklos Szeredi <address@hidden>
> > ---
> >  tools/virtiofsd/helper.c         | 3 +++
> >  tools/virtiofsd/passthrough_ll.c | 7 ++++++-
> >  2 files changed, 9 insertions(+), 1 deletion(-)
> > 
> > diff --git a/tools/virtiofsd/helper.c b/tools/virtiofsd/helper.c
> > index c8cb88afdd..36eb273d8e 100644
> > --- a/tools/virtiofsd/helper.c
> > +++ b/tools/virtiofsd/helper.c
> > @@ -154,6 +154,9 @@ void fuse_cmdline_help(void)
> >             "                               allowed (default: 10)\n"
> >             "    -o norace                  disable racy fallback\n"
> >             "                               default: false\n"
> > +           "    -o readdirplus|no_readdirplus\n"
> > +           "                               enable/disable readirplus\n"
> > +           "                               default: readdirplus\n"
> 
> Actually, default behavior is
>  1. no_readdirplus if cache=none
>  2. readdirplus otherwise.
> So help message should be fixed.

Thanks, I've made that:

    -o readdirplus|no_readdirplus
                               enable/disable readirplus
                               default: readdirplus except with cache=never

and then swapped never for none in the 'clean up cache related options'
patch.

> Reviewed-by: Misono Tomohiro <address@hidden>

Thanks.

> 
> >            );
> >  }
> >  
> > diff --git a/tools/virtiofsd/passthrough_ll.c 
> > b/tools/virtiofsd/passthrough_ll.c
> > index ae364a4825..b15633a044 100644
> > --- a/tools/virtiofsd/passthrough_ll.c
> > +++ b/tools/virtiofsd/passthrough_ll.c
> > @@ -117,6 +117,8 @@ struct lo_data {
> >      double timeout;
> >      int cache;
> >      int timeout_set;
> > +    int readdirplus_set;
> > +    int readdirplus_clear;
> >      struct lo_inode root; /* protected by lo->mutex */
> >      struct lo_map ino_map; /* protected by lo->mutex */
> >      struct lo_map dirp_map; /* protected by lo->mutex */
> > @@ -140,6 +142,8 @@ static const struct fuse_opt lo_opts[] = {
> >      { "cache=auto", offsetof(struct lo_data, cache), CACHE_NORMAL },
> >      { "cache=always", offsetof(struct lo_data, cache), CACHE_ALWAYS },
> >      { "norace", offsetof(struct lo_data, norace), 1 },
> > +    { "readdirplus", offsetof(struct lo_data, readdirplus_set), 1 },
> > +    { "no_readdirplus", offsetof(struct lo_data, readdirplus_clear), 1 },
> >      FUSE_OPT_END
> >  };
> >  static bool use_syslog = false;
> > @@ -478,7 +482,8 @@ static void lo_init(void *userdata, struct 
> > fuse_conn_info *conn)
> >          fuse_log(FUSE_LOG_DEBUG, "lo_init: activating flock locks\n");
> >          conn->want |= FUSE_CAP_FLOCK_LOCKS;
> >      }
> > -    if (lo->cache == CACHE_NEVER) {
> > +    if ((lo->cache == CACHE_NEVER && !lo->readdirplus_set) ||
> > +        lo->readdirplus_clear) {
> >          fuse_log(FUSE_LOG_DEBUG, "lo_init: disabling readdirplus\n");
> >          conn->want &= ~FUSE_CAP_READDIRPLUS;
> >      }
> > -- 
> > 2.24.1
> 
--
Dr. David Alan Gilbert / address@hidden / Manchester, UK




reply via email to

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