[GIT PULL] nfsd changes for 5.17

From: Chuck Lever III
Date: Fri Jan 14 2022 - 10:59:44 EST


Hi Linux-

Happy new year! First, the news:

Bruce has announced he is leaving Red Hat at the end of the month
and is stepping back from his role as NFSD co-maintainer. This pull
request includes a patch removing him from the MAINTAINERS file.

There is one patch in this PR that Jeff Layton was carrying in the
locks tree. Since he had only one for this cycle, he asked us to
send it to you via the nfsd tree.

There continues to be 0-day reports from Robert Morris @MIT. This
time we include a fix for a crash in the COPY_NOTIFY operation.


Pull request details:

A while back, Stephen Rothwell reported a minor merge conflict with
the userns tree:

https://lore.kernel.org/linux-next/20211217181325.4fa394c4@xxxxxxxxxxxxxxxx/T/#u

I'm not sure exactly how this conflict is resolved with recent
linux-next trees, but the original resolution was small and correct
and no problems have been reported since then.


The following changes since commit 2585cf9dfaaddf00b069673f27bb3f8530e2039c:

Linux 5.16-rc5 (2021-12-12 14:53:01 -0800)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux.git tags/nfsd-5.17

for you to fetch changes up to 16720861675393a35974532b3c837d9fd7bfe08c:

SUNRPC: Fix sockaddr handling in svcsock_accept_class trace points (2022-01-10 10:57:34 -0500)

----------------------------------------------------------------
Highlights:
- Bruce steps down as NFSD maintainer
- Prepare for dynamic nfsd thread management
- More work on supporting re-exporting NFS mounts
- One fs/locks patch on behalf of Jeff Layton

Notable bug fixes:
- Fix zero-length NFSv3 WRITEs
- Fix directory cinfo on FS's that do not support iversion
- Fix WRITE verifiers for stable writes
- Fix crash on COPY_NOTIFY with a special state ID

----------------------------------------------------------------
Arnd Bergmann (1):
fs/locks: fix fcntl_getlk64/fcntl_setlk64 stub prototypes

Chuck Lever (18):
NFSD: Fix sparse warning
NFSD: Remove be32_to_cpu() from DRC hash function
SUNRPC: Remove low signal-to-noise tracepoints
NFSD: Combine XDR error tracepoints
NFSD: De-duplicate nfsd4_decode_bitmap4()
NFSD: Fix zero-length NFSv3 WRITEs
NFSD: Fix verifier returned in stable WRITEs
NFSD: Clean up nfsd_vfs_write()
NFSD: De-duplicate net_generic(SVC_NET(rqstp), nfsd_net_id)
NFSD: De-duplicate net_generic(nf->nf_net, nfsd_net_id)
NFSD: Write verifier might go backwards
NFSD: Clean up the nfsd_net::nfssvc_boot field
NFSD: Rename boot verifier functions
NFSD: Trace boot verifier resets
Revert "nfsd: skip some unnecessary stats in the v4 case"
NFSD: Move fill_pre_wcc() and fill_post_wcc()
SUNRPC: Fix sockaddr handling in the svc_xprt_create_error trace point
SUNRPC: Fix sockaddr handling in svcsock_accept_class trace points

J. Bruce Fields (4):
nfsd: improve stateid access bitmask documentation
nfs: block notification on fs with its own ->lock
MAINTAINERS: remove bfields
nfsd: fix crash on COPY_NOTIFY with special stateid

Jeff Layton (2):
nfsd: Add errno mapping for EREMOTEIO
nfsd: Retry once in nfsd_open on an -EOPENSTALE return

Jiapeng Chong (1):
NFSD: Fix inconsistent indenting

NeilBrown (21):
NFSD: handle errors better in write_ports_addfd()
SUNRPC: change svc_get() to return the svc.
SUNRPC/NFSD: clean up get/put functions.
SUNRPC: stop using ->sv_nrthreads as a refcount
nfsd: make nfsd_stats.th_cnt atomic_t
SUNRPC: use sv_lock to protect updates to sv_nrthreads.
NFSD: narrow nfsd_mutex protection in nfsd thread
NFSD: Make it possible to use svc_set_num_threads_sync
SUNRPC: discard svo_setup and rename svc_set_num_threads_sync()
NFSD: simplify locking for network notifier.
lockd: introduce nlmsvc_serv
lockd: simplify management of network status notifiers
lockd: move lockd_start_svc() call into lockd_create_svc()
lockd: move svc_exit_thread() into the thread
lockd: introduce lockd_put()
lockd: rename lockd_create_svc() to lockd_get()
SUNRPC: move the pool_map definitions (back) into svc.c
SUNRPC: always treat sv_nrpools==1 as "not pooled"
lockd: use svc_set_num_threads() for thread start and stop
NFS: switch the callback service back to non-pooled.
NFSD: simplify per-net file cache management

Peng Tao (1):
nfsd: map EBADF

Trond Myklebust (2):
nfsd: Replace use of rwsem with errseq_t
nfsd: Add a tracepoint for errors in nfsd4_clone_file_range()

Vasily Averin (1):
nfsd4: add refcount for nfsd4_blocked_lock

MAINTAINERS | 4 +-
fs/lockd/svc.c | 200 ++++++++++++++++++++++++++++++------------------------------------------------------------------
fs/lockd/svclock.c | 6 ++-
fs/nfs/callback.c | 32 +++++-----------
fs/nfs/export.c | 2 +-
fs/nfsd/filecache.c | 79 ++++++++------------------------------
fs/nfsd/filecache.h | 1 -
fs/nfsd/netns.h | 27 +++++++------
fs/nfsd/nfs3proc.c | 6 +--
fs/nfsd/nfs3xdr.c | 65 --------------------------------
fs/nfsd/nfs4proc.c | 24 ++++++------
fs/nfsd/nfs4state.c | 63 ++++++++++++++++++++++++-------
fs/nfsd/nfs4xdr.c | 21 +++--------
fs/nfsd/nfscache.c | 2 +-
fs/nfsd/nfsctl.c | 27 ++++++-------
fs/nfsd/nfsd.h | 2 +-
fs/nfsd/nfsfh.c | 66 +++++++++++++++++++++++++++++++-
fs/nfsd/nfsfh.h | 40 +++++++++++++-------
fs/nfsd/nfsproc.c | 8 ++--
fs/nfsd/nfssvc.c | 220 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------
fs/nfsd/state.h | 5 +++
fs/nfsd/stats.c | 2 +-
fs/nfsd/stats.h | 4 +-
fs/nfsd/trace.h | 106 ++++++++++++++++++++++++++++++++++++++++-----------
fs/nfsd/vfs.c | 122 +++++++++++++++++++++++++++++++----------------------------
fs/nfsd/vfs.h | 3 +-
include/linux/exportfs.h | 2 -
include/linux/fs.h | 4 +-
include/linux/lockd/lockd.h | 9 ++++-
include/linux/sunrpc/svc.h | 79 +++++++++++++++++++-------------------
include/trace/events/sunrpc.h | 37 ++++--------------
net/sunrpc/svc.c | 175 ++++++++++++++++++++++++++++++++++++------------------------------------------------
net/sunrpc/svc_xprt.c | 8 ++--
33 files changed, 702 insertions(+), 749 deletions(-)

--
Chuck Lever