[GIT PULL] nfsd changes for 4.20

From: J. Bruce Fields
Date: Tue Oct 30 2018 - 15:17:14 EST


Please pull nfsd changes for 4.20:

git://linux-nfs.org/~bfields/linux.git tags/nfsd-4.20

Olga added support for the NFSv4.2 asynchronous copy protocol. We
already supported COPY, by copying a limited amount of data and then
returning a short result, letting the client resend. The asynchronous
protocol should offer better performance at the expense of some
complexity.

The other highlight is Trond's work to convert the duplicate reply cache
to a red-black tree, and to move it and some other server caches to RCU.
(Previously these have meant taking global spinlocks on every RPC.)

Otherwise, some RDMA work and miscellaneous bugfixes.

--b.

Amir Goldstein (1):
lockd: fix access beyond unterminated strings in prints

Andrew Elble (1):
nfsd: correctly decrement odstate refcount in error path

Chuck Lever (4):
svcrdma: Reduce max_send_sges
svcrdma: Remove ->release_rqst call in bc reply handler
svcrdma: Remove try_module_get from backchannel
svcrdma: Increase the default connection credit limit

Gustavo A. R. Silva (1):
nfsd: fix fall-through annotations

Olga Kornievskaia (4):
NFSD CB_OFFLOAD xdr
NFSD OFFLOAD_STATUS xdr
NFSD OFFLOAD_CANCEL xdr
NFSD introduce async copy feature

Trond Myklebust (18):
SUNRPC: Remove the server 'authtab_lock' and just use RCU
SUNRPC: Add lockless lookup of the server's auth domain
SUNRPC: Refactor sunrpc_cache_lookup
SUNRPC: Allow cache lookups to use RCU protection rather than the r/w spinlock
SUNRPC: Make server side AUTH_UNIX use lockless lookups
knfsd: Allow lockless lookups of the exports
SUNRPC: Lockless server RPCSEC_GSS context lookup
knfsd: Lockless lookup of NFSv4 identities.
NFS: Lockless DNS lookups
NFS: Fix up a typo in nfs_dns_ent_put
SUNRPC: Remove non-RCU protected lookup
SUNRPC: Replace the cache_detail->hash_lock with a regular spinlock
SUNRPC: Simplify TCP receive code
knfsd: Remove dead code from nfsd_cache_lookup
knfsd: Simplify NFS duplicate replay cache
knfsd: Further simplify the cache lookup
knfsd: Improve lookup performance in the duplicate reply cache using an rbtree
nfsd: Fix an Oops in free_session()

YueHaibing (1):
nfsd: remove set but not used variable 'dirp'

Documentation/filesystems/nfs/rpc-cache.txt | 6 +-
fs/lockd/host.c | 2 +-
fs/nfs/dns_resolve.c | 15 +-
fs/nfsd/cache.h | 20 +-
fs/nfsd/export.c | 14 +-
fs/nfsd/export.h | 2 +
fs/nfsd/netns.h | 8 +
fs/nfsd/nfs4callback.c | 98 ++++++++++
fs/nfsd/nfs4idmap.c | 11 +-
fs/nfsd/nfs4proc.c | 289 ++++++++++++++++++++++++++--
fs/nfsd/nfs4state.c | 41 +++-
fs/nfsd/nfs4xdr.c | 50 ++++-
fs/nfsd/nfscache.c | 142 +++++++-------
fs/nfsd/nfsctl.c | 1 +
fs/nfsd/state.h | 10 +
fs/nfsd/vfs.c | 5 +-
fs/nfsd/xdr4.h | 28 +++
fs/nfsd/xdr4cb.h | 10 +
include/linux/sunrpc/cache.h | 18 +-
include/linux/sunrpc/svc_rdma.h | 13 +-
include/linux/sunrpc/svcauth.h | 1 +
net/sunrpc/auth_gss/svcauth_gss.c | 41 +++-
net/sunrpc/cache.c | 153 +++++++++------
net/sunrpc/svc_xprt.c | 2 +-
net/sunrpc/svcauth.c | 74 +++++--
net/sunrpc/svcauth_unix.c | 24 ++-
net/sunrpc/svcsock.c | 53 ++---
net/sunrpc/xprtrdma/svc_rdma_backchannel.c | 23 +--
net/sunrpc/xprtrdma/svc_rdma_transport.c | 10 +-
29 files changed, 858 insertions(+), 306 deletions(-)