> On Dec 18, 2021, at 8:38 PM, trondmy@xxxxxxxxxx wrote: > > From: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> > > In some cases, we may want to use a userland NLM server which will > require that we turn off lockd. > > Signed-off-by: Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> > Signed-off-by: Lance Shelton <lance.shelton@xxxxxxxxxxxxxxx> > Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> > --- > fs/nfsd/nfssvc.c | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/fs/nfsd/nfssvc.c b/fs/nfsd/nfssvc.c > index 80431921e5d7..6815c70b06af 100644 > --- a/fs/nfsd/nfssvc.c > +++ b/fs/nfsd/nfssvc.c > @@ -340,8 +340,19 @@ static void nfsd_shutdown_generic(void) > nfsd_file_cache_shutdown(); > } > > +/* > + * Allow admin to disable lockd. This would typically be used to allow (e.g.) > + * a userspace NLM server of some sort to be used. > + */ > +static bool nfsd_disable_lockd = false; > +module_param(nfsd_disable_lockd, bool, 0644); > +MODULE_PARM_DESC(nfsd_disable_lockd, "Allow lockd to be manually disabled."); > + > static bool nfsd_needs_lockd(struct nfsd_net *nn) ^^^^^^^^^^^^^^^^^^^^ An nfsd_net * is passed to nfsd_needs_lockd(), therefore the availability of the lockd service needs to be aware of net namespaces, right? NAK for now, but I'm open to more dialog about how to support the "no lockd" use case. That's intriguing. > { > + if (nfsd_disable_lockd) > + return false; > + > return nfsd_vers(nn, 2, NFSD_TEST) || nfsd_vers(nn, 3, NFSD_TEST); > } > > -- > 2.33.1 > -- Chuck Lever