Hi Linus- NFSD pull request follows below. First some notes: Stephen Rothwell reports a minor merge conflict with Jeff Layton's file-locks tree (and now your tree): https://lore.kernel.org/lkml/20210824100737.4bd6d815@xxxxxxxxxxxxxxxx/ The resolution Stephen provided should be adequate. There are two v5.13 regressions we are aware of: - "[Bug 213887] kernel v5.13 regression & NFSv4.2 client timeouts?" This issue appears to be addressed by recent commit 062b829c52ef ("SUNRPC: Fix XPT_BUSY flag leakage in svc_handle_xprt()...") - NFS server regression in kernel 5.13 (tested w/ 5.13.9) A fix for this has been queued for nfsd-5.15-1. It was a bit late to be included in nfsd-5.15. And there are two longstanding issues we are aware of: - BTRFS subvolumes cannot be exported properly by NFSD As featured on lwn.net: Part I: https://lwn.net/Articles/866582/ Part II: https://lwn.net/Articles/866709/ Neil Brown is working on a set of patches to address this. - NFSv4.1+ backchannel not getting restored after PATH_DOWN This might be an NFS/RDMA-only problem. The reproducer is very rare, so it's taking a while to nail down. ---- cut here ---- The following changes since commit 7c60610d476766e128cc4284bb6349732cbd6606: Linux 5.14-rc6 (2021-08-15 13:40:53 -1000) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux.git tags/nfsd-5.15 for you to fetch changes up to 0bcc7ca40bd823193224e9f38bafbd8325aaf566: nfsd: fix crash on LOCKT on reexported NFSv3 (2021-08-26 15:32:29 -0400) ---------------------------------------------------------------- New features: - Support for server-side disconnect injection via debugfs - Protocol definitions for new RPC_AUTH_TLS authentication flavor Performance improvements: - Reduce page allocator traffic in the NFSD splice read actor - Reduce CPU utilization in svcrdma's Send completion handler Notable bug fixes: - Stabilize lockd operation when re-exporting NFS mounts - Fix the use of %.*s in NFSD tracepoints - Fix /proc/sys/fs/nfs/nsm_use_hostnames ---------------------------------------------------------------- Benjamin Coddington (1): lockd: Fix invalid lockowner cast after vfs_test_lock Chuck Lever (15): NFSD: Clean up splice actor SUNRPC: Add svc_rqst_replace_page() API NFSD: Batch release pages during splice read NFSD: Use new __string_len C macros for the nfs_dirent tracepoint NFSD: Use new __string_len C macros for nfsd_clid_class svcrdma: Fewer calls to wake_up() in Send completion handler svcrdma: Relieve contention on sc_send_lock. svcrdma: Convert rdma->sc_rw_ctxts to llist SUNRPC: Fix a NULL pointer deref in trace_svc_stats_latency() SUNRPC: Add RPC_AUTH_TLS protocol numbers svcrdma: xpt_bc_xprt is already clear in __svc_rdma_free() SUNRPC: Add a /sys/kernel/debug/fail_sunrpc/ directory SUNRPC: Move client-side disconnect injection SUNRPC: Server-side disconnect injection SUNRPC: Add documentation for the fail_sunrpc/ directory J. Bruce Fields (11): rpc: fix gss_svc_init cleanup on failure nfsd4: Fix forced-expiry locking lockd: lockd server-side shouldn't set fl_ops nlm: minor nlm_lookup_file argument change nlm: minor refactoring lockd: update nlm_lookup_file reexport comment Keep read and write fds with each nlm_file nfs: don't atempt blocking locks on nfs reexports lockd: don't attempt blocking locks on nfs reexports nfs: don't allow reexport reclaims nfsd: fix crash on LOCKT on reexported NFSv3 Jia He (2): sysctl: introduce new proc handler proc_dobool lockd: change the proc_handler for nsm_use_hostnames NeilBrown (1): NFSD: remove vanity comments Steven Rostedt (VMware) (1): tracing: Add trace_event helper macros __string_len() and __assign_str_len() Documentation/fault-injection/fault-injection.rst | 18 ++++++++++++++ fs/lockd/svc.c | 2 +- fs/lockd/svc4proc.c | 7 ++++-- fs/lockd/svclock.c | 82 ++++++++++++++++++++++++++++++++++++-------------------------- fs/lockd/svcproc.c | 6 +++-- fs/lockd/svcsubs.c | 114 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------- fs/nfs/export.c | 2 +- fs/nfs/file.c | 3 +++ fs/nfsd/lockd.c | 8 ++++-- fs/nfsd/nfs4state.c | 20 ++++++++++----- fs/nfsd/nfsproc.c | 1 + fs/nfsd/trace.h | 17 ++++++------- fs/nfsd/vfs.c | 21 ++++------------ include/linux/errno.h | 1 + include/linux/exportfs.h | 2 ++ include/linux/fs.h | 1 + include/linux/lockd/bind.h | 3 ++- include/linux/lockd/lockd.h | 11 ++++++--- include/linux/sunrpc/msg_prot.h | 1 + include/linux/sunrpc/svc.h | 5 ++++ include/linux/sunrpc/svc_rdma.h | 7 +++--- include/linux/sunrpc/xdr.h | 1 + include/linux/sunrpc/xprt.h | 18 -------------- include/linux/sysctl.h | 2 ++ include/trace/events/sunrpc.h | 8 +++--- include/trace/trace_events.h | 22 +++++++++++++++++ include/uapi/linux/nfsd/nfsfh.h | 1 - kernel/sysctl.c | 42 ++++++++++++++++++++++++++++++++ lib/Kconfig.debug | 7 ++++++ net/sunrpc/auth_gss/svcauth_gss.c | 2 +- net/sunrpc/debugfs.c | 85 ++++++++++++++++++++-------------------------------------------- net/sunrpc/fail.h | 25 +++++++++++++++++++ net/sunrpc/svc.c | 44 +++++++++++++++++++++++++++++++++ net/sunrpc/svc_xprt.c | 3 +++ net/sunrpc/xprt.c | 14 +++++++++++ net/sunrpc/xprtrdma/svc_rdma_rw.c | 56 +++++++++++++++++++++++++++--------------- net/sunrpc/xprtrdma/svc_rdma_sendto.c | 41 +++++++++++++++++-------------- net/sunrpc/xprtrdma/svc_rdma_transport.c | 11 ++------- samples/trace_events/trace-events-sample.h | 27 +++++++++++++++++++++ 39 files changed, 495 insertions(+), 246 deletions(-) create mode 100644 net/sunrpc/fail.h -- Chuck Lever