Hi Linus- The following changes since commit 0d02ec6b3136c73c09e7859f0d0e4e2c4c07b49b: Linux 5.12-rc4 (2021-03-21 14:56:43 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux.git tags/nfsd-5.13 for you to fetch changes up to b73ac6808b0f7994a05ebc38571e2e9eaf98a0f4: NFSD: Use DEFINE_SPINLOCK() for spinlock (2021-04-06 11:27:38 -0400) ---------------------------------------------------------------- Highlights: - Update NFSv2 and NFSv3 XDR encoding functions - Add batch Receive posting to the server's RPC/RDMA transport (take 2) - Reduce page allocator traffic in svcrdma ---------------------------------------------------------------- Chuck Lever (59): NFSD: Extract the svcxdr_init_encode() helper NFSD: Update the GETATTR3res encoder to use struct xdr_stream NFSD: Update the NFSv3 ACCESS3res encoder to use struct xdr_stream NFSD: Update the NFSv3 LOOKUP3res encoder to use struct xdr_stream NFSD: Update the NFSv3 wccstat result encoder to use struct xdr_stream NFSD: Update the NFSv3 READLINK3res encoder to use struct xdr_stream NFSD: Update the NFSv3 READ3res encode to use struct xdr_stream NFSD: Update the NFSv3 WRITE3res encoder to use struct xdr_stream NFSD: Update the NFSv3 CREATE family of encoders to use struct xdr_stream NFSD: Update the NFSv3 RENAMEv3res encoder to use struct xdr_stream NFSD: Update the NFSv3 LINK3res encoder to use struct xdr_stream NFSD: Update the NFSv3 FSSTAT3res encoder to use struct xdr_stream NFSD: Update the NFSv3 FSINFO3res encoder to use struct xdr_stream NFSD: Update the NFSv3 PATHCONF3res encoder to use struct xdr_stream NFSD: Update the NFSv3 COMMIT3res encoder to use struct xdr_stream NFSD: Add a helper that encodes NFSv3 directory offset cookies NFSD: Count bytes instead of pages in the NFSv3 READDIR encoder NFSD: Update the NFSv3 READDIR3res encoder to use struct xdr_stream NFSD: Update NFSv3 READDIR entry encoders to use struct xdr_stream NFSD: Remove unused NFSv3 directory entry encoders NFSD: Reduce svc_rqst::rq_pages churn during READDIR operations NFSD: Update the NFSv2 stat encoder to use struct xdr_stream NFSD: Update the NFSv2 attrstat encoder to use struct xdr_stream NFSD: Update the NFSv2 diropres encoder to use struct xdr_stream NFSD: Update the NFSv2 READLINK result encoder to use struct xdr_stream NFSD: Update the NFSv2 READ result encoder to use struct xdr_stream NFSD: Update the NFSv2 STATFS result encoder to use struct xdr_stream NFSD: Add a helper that encodes NFSv3 directory offset cookies NFSD: Count bytes instead of pages in the NFSv2 READDIR encoder NFSD: Update the NFSv2 READDIR result encoder to use struct xdr_stream NFSD: Update the NFSv2 READDIR entry encoder to use struct xdr_stream NFSD: Remove unused NFSv2 directory entry encoders NFSD: Add an xdr_stream-based encoder for NFSv2/3 ACLs NFSD: Update the NFSv2 GETACL result encoder to use struct xdr_stream NFSD: Update the NFSv2 SETACL result encoder to use struct xdr_stream NFSD: Update the NFSv2 ACL GETATTR result encoder to use struct xdr_stream NFSD: Update the NFSv2 ACL ACCESS result encoder to use struct xdr_stream NFSD: Clean up after updating NFSv2 ACL encoders NFSD: Update the NFSv3 GETACL result encoder to use struct xdr_stream NFSD: Update the NFSv3 SETACL result encoder to use struct xdr_stream NFSD: Clean up after updating NFSv3 ACL encoders NFSD: Add a tracepoint to record directory entry encoding NFSD: Clean up NFSDDBG_FACILITY macro svcrdma: RPCDBG_FACILITY is no longer used svcrdma: Provide an explanatory comment in CMA event handler svcrdma: Remove stale comment for svc_rdma_wc_receive() svcrdma: Add a batch Receive posting mechanism svcrdma: Use svc_rdma_refresh_recvs() in wc_receive svcrdma: Maintain a Receive water mark svcrdma: Add a "deferred close" helper svcrdma: Normalize Send page handling svcrdma: Remove unused sc_pages field svcrdma: Retain the page backing rq_res.head[0].iov_base SUNRPC: Export svc_xprt_received() SUNRPC: Move svc_xprt_received() call sites svcrdma: Single-stage RDMA Read svcrdma: Remove sc_read_complete_q svcrdma: Remove svc_rdma_recv_ctxt::rc_pages and ::rc_arg svcrdma: Clean up dto_q critical section in svc_rdma_recvfrom() Guobin Huang (1): NFSD: Use DEFINE_SPINLOCK() for spinlock Gustavo A. R. Silva (1): UAPI: nfsfh.h: Replace one-element array with flexible-array member J. Bruce Fields (3): nfsd: helper for laundromat expiry calculations nfsd: COPY with length 0 should copy to end of file nfsd: don't ignore high bits of copy count Jiapeng Chong (1): sunrpc: Remove unused function ip_map_lookup NeilBrown (1): nfsd: report client confirmation status in "info" file Olga Kornievskaia (1): NFSv4.2: fix copy stateid copying for the async copy Paul Menzel (1): nfsd: Log client tracking type log message as info instead of warning Ricardo Ribalda (1): nfsd: Fix typo "accesible" Trond Myklebust (1): nfsd: Ensure knfsd shuts down when the "nfsd" pseudofs is unmounted fs/nfs_common/nfsacl.c | 71 +++++++ fs/nfsd/Kconfig | 6 +- fs/nfsd/netns.h | 6 +- fs/nfsd/nfs2acl.c | 89 +++----- fs/nfsd/nfs3acl.c | 39 ++-- fs/nfsd/nfs3proc.c | 97 +++------ fs/nfsd/nfs3xdr.c | 1057 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------ fs/nfsd/nfs4proc.c | 40 ++-- fs/nfsd/nfs4recover.c | 8 +- fs/nfsd/nfs4state.c | 82 ++++---- fs/nfsd/nfs4xdr.c | 110 +++++----- fs/nfsd/nfsctl.c | 28 +-- fs/nfsd/nfsd.h | 7 +- fs/nfsd/nfsfh.c | 2 +- fs/nfsd/nfsfh.h | 2 +- fs/nfsd/nfsproc.c | 53 +++-- fs/nfsd/nfssvc.c | 42 +++- fs/nfsd/nfsxdr.c | 413 ++++++++++++++++++++++-------------- fs/nfsd/state.h | 4 + fs/nfsd/trace.h | 24 +++ fs/nfsd/vfs.c | 9 +- fs/nfsd/vfs.h | 2 +- fs/nfsd/xdr.h | 23 +- fs/nfsd/xdr3.h | 37 ++-- fs/nfsd/xdr4.h | 2 +- include/linux/nfsacl.h | 3 + include/linux/sunrpc/svc.h | 25 +++ include/linux/sunrpc/svc_rdma.h | 11 +- include/linux/sunrpc/svc_xprt.h | 2 + include/linux/sunrpc/xdr.h | 34 +++ include/trace/events/sunrpc.h | 1 + include/uapi/linux/nfsd/nfsfh.h | 27 ++- net/sunrpc/svc_xprt.c | 34 ++- net/sunrpc/svcauth_unix.c | 9 - net/sunrpc/svcsock.c | 24 ++- net/sunrpc/xprtrdma/svc_rdma_backchannel.c | 8 +- net/sunrpc/xprtrdma/svc_rdma_recvfrom.c | 178 +++++++--------- net/sunrpc/xprtrdma/svc_rdma_rw.c | 111 ++++------ net/sunrpc/xprtrdma/svc_rdma_sendto.c | 69 +++--- net/sunrpc/xprtrdma/svc_rdma_transport.c | 15 +- 40 files changed, 1609 insertions(+), 1195 deletions(-) -- Chuck Lever