Hi Linus, The following changes since commit 085b7755808aa11f78ab9377257e1dad2e6fa4bb:
Linux 5.1-rc6 (2019-04-21 10:45:57 -0700) are available in the Git repository at: git://git.linux-nfs.org/projects/anna/linux-nfs.git tags/nfs-for-5.2-1 for you to fetch changes up to 5940d1cf9f42f67e9cc3f7df9eda39f5888d6e9e: SUNRPC: Rebalance a kref in auth_gss.c (2019-05-09 16:27:24 -0400) ---------------------------------------------------------------- Highlights include: Stable bugfixes: - Fall back to MDS if no deviceid is found rather than aborting # v4.11+ - NFS4: Fix v4.0 client state corruption when mount Features: - Much improved handling of soft mounts with NFS v4.0 - Reduce risk of false positive timeouts - Faster failover of reads and writes after a timeout - Added a "softerr" mount option to return ETIMEDOUT instead of EIO to the application after a timeout - Increase number of xprtrdma backchannel requests - Add additional xprtrdma tracepoints - Improved send completion batching for xprtrdma Other bugfixes and cleanups: - Return -EINVAL when NFS v4.2 is passed an invalid dedup mode - Reduce usage of GFP_ATOMIC pages in SUNRPC - Various minor NFS over RDMA cleanups and bugfixes - Use the correct container namespace for upcalls - Don't share superblocks between user namespaces - Various other container fixes - Make nfs_match_client() killable to prevent soft lockups - Don't mark all open state for recovery when handling recallable state revoked flag Thanks, Anna ---------------------------------------------------------------- Benjamin Coddington (1): NFS: Fix a double unlock from nfs_match,get_client Christoph Hellwig (1): nfs: pass the correct prototype to read_cache_page Chuck Lever (22): SUNRPC: Avoid digging into the ATOMIC pool xprtrdma: Fix an frwr_map recovery nit xprtrdma: Clean up rpcrdma_create_req() xprtrdma: Clean up rpcrdma_create_rep() and rpcrdma_destroy_rep() xprtrdma: rpcrdma_regbuf alignment xprtrdma: Allocate req's regbufs at xprt create time xprtrdma: De-duplicate "allocate new, free old regbuf" xprtrdma: Clean up regbuf helpers xprtrdma: Backchannel can use GFP_KERNEL allocations xprtrdma: Increase maximum number of backchannel requests xprtrdma: Trace marshaling failures xprtrdma: Clean up sendctx functions xprtrdma: More Send completion batching xprtrdma: Eliminate rpcrdma_ia::ri_device SUNRPC: Update comments based on recent changes xprtrdma: Remove rpcrdma_create_data_internal::rsize and wsize xprtrdma: Aggregate the inline settings in struct rpcrdma_ep xprtrdma: Eliminate struct rpcrdma_create_data_internal xprtrdma: Remove pr_err() call sites from completion handlers xprtrdma: Update comments that reference ib_drain_qp xprtrdma: Remove stale comment SUNRPC: Rebalance a kref in auth_gss.c Dan Carpenter (1): SUNRPC: Fix an error code in gss_alloc_msg() Olga Kornievskaia (1): PNFS fallback to MDS if no deviceid found Roberto Bergantinos Corpas (1): NFS: make nfs_match_client killable Scott Mayhew (1): NFSv4: don't mark all open state for recovery when handling recallable state revoked flag Trond Myklebust (38): SUNRPC: Fix up task signalling SUNRPC: Refactor rpc_restart_call/rpc_restart_call_prepare SUNRPC: Refactor xprt_request_wait_receive() SUNRPC: Refactor rpc_sleep_on() SUNRPC: Remove unused argument 'action' from rpc_sleep_on_priority() SUNRPC: Add function rpc_sleep_on_timeout() SUNRPC: Fix up tracking of timeouts SUNRPC: Simplify queue timeouts using timer_reduce() SUNRPC: Declare RPC timers as TIMER_DEFERRABLE SUNRPC: Ensure that the transport layer respect major timeouts SUNRPC: Add tracking of RPC level errors SUNRPC: Make "no retrans timeout" soft tasks behave like softconn for timeouts SUNRPC: Start the first major timeout calculation at task creation SUNRPC: Ensure to ratelimit the "server not responding" syslog messages SUNRPC: Add the 'softerr' rpc_client flag NFS: Consider ETIMEDOUT to be a fatal error NFS: Move internal constants out of uapi/linux/nfs_mount.h NFS: Add a mount option "softerr" to allow clients to see ETIMEDOUT errors NFS: Don't interrupt file writeout due to fatal errors NFS: Don't call generic_error_remove_page() while holding locks NFS: Don't inadvertently clear writeback errors NFS: Replace custom error reporting mechanism with generic one NFS: Fix up NFS I/O subrequest creation NFS: Remove unused argument from nfs_create_request() pNFS: Add tracking to limit the number of pNFS retries NFS: Allow signal interruption of NFS4ERR_DELAYed operations NFS: Ensure that all nfs lock contexts have a valid open context NFS: Add a helper to return a pointer to the open context of a struct nfs_page NFS: Remove redundant open context from nfs_page SUNRPC: Cache cred of process creating the rpc_client NFS: Store the credential of the mount process in the nfs_server SUNRPC: Use the client user namespace when encoding creds SUNRPC: Use namespace of listening daemon in the client AUTH_GSS upcall NFS: Convert NFSv3 to use the container user namespace NFSv4: Convert the NFS client idmapper to use the container user namespace NFS: Convert NFSv2 to use the container user namespace NFS: When mounting, don't share filesystems between different user namespaces lockd: Store the lockd client credential in struct nlm_host Xiaoli Feng (1): Fix nfs4.2 return -EINVAL when do dedupe operation ZhangXiaoxu (2): NFS4: Fix v4.0 client state corruption when mount SUNRPC: task should be exit if encode return EKEYEXPIRED more times fs/lockd/clntlock.c | 2 +- fs/lockd/clntproc.c | 4 +- fs/lockd/host.c | 10 +- fs/lockd/mon.c | 1 + fs/nfs/client.c | 16 +- fs/nfs/delegation.c | 12 + fs/nfs/delegation.h | 1 + fs/nfs/dir.c | 7 +- fs/nfs/direct.c | 11 +- fs/nfs/file.c | 31 +-- fs/nfs/filelayout/filelayout.c | 6 +- fs/nfs/flexfilelayout/flexfilelayout.c | 14 +- fs/nfs/inode.c | 13 +- fs/nfs/internal.h | 8 +- fs/nfs/mount_clnt.c | 2 + fs/nfs/nfs2xdr.c | 58 +++-- fs/nfs/nfs3client.c | 1 + fs/nfs/nfs3xdr.c | 142 +++++++----- fs/nfs/nfs4_fs.h | 1 + fs/nfs/nfs4client.c | 6 + fs/nfs/nfs4file.c | 4 +- fs/nfs/nfs4idmap.c | 27 ++- fs/nfs/nfs4proc.c | 159 ++++++++++---- fs/nfs/nfs4state.c | 7 +- fs/nfs/pagelist.c | 123 ++++++----- fs/nfs/pnfs.c | 4 +- fs/nfs/pnfs.h | 4 +- fs/nfs/read.c | 6 +- fs/nfs/super.c | 32 ++- fs/nfs/symlink.c | 7 +- fs/nfs/write.c | 70 +++--- fs/nfsd/nfs4callback.c | 5 +- include/linux/lockd/bind.h | 1 + include/linux/lockd/lockd.h | 4 +- include/linux/nfs_fs.h | 1 - include/linux/nfs_fs_sb.h | 13 ++ include/linux/nfs_page.h | 12 +- include/linux/sunrpc/clnt.h | 4 + include/linux/sunrpc/sched.h | 20 +- include/linux/sunrpc/xprt.h | 6 +- include/trace/events/rpcrdma.h | 27 +++ include/trace/events/sunrpc.h | 8 +- include/uapi/linux/nfs_mount.h | 9 - net/sunrpc/auth_gss/auth_gss.c | 71 ++++-- net/sunrpc/auth_unix.c | 9 +- net/sunrpc/clnt.c | 132 +++++++---- net/sunrpc/debugfs.c | 2 +- net/sunrpc/rpcb_clnt.c | 12 +- net/sunrpc/sched.c | 158 ++++++++++---- net/sunrpc/socklib.c | 2 +- net/sunrpc/xprt.c | 154 ++++++++----- net/sunrpc/xprtrdma/backchannel.c | 120 ++++------ net/sunrpc/xprtrdma/frwr_ops.c | 63 ++---- net/sunrpc/xprtrdma/rpc_rdma.c | 115 +++++----- net/sunrpc/xprtrdma/svc_rdma_backchannel.c | 2 +- net/sunrpc/xprtrdma/transport.c | 105 ++------- net/sunrpc/xprtrdma/verbs.c | 338 ++++++++++++++++------------- net/sunrpc/xprtrdma/xprt_rdma.h | 121 +++++------ net/sunrpc/xprtsock.c | 9 +- 59 files changed, 1366 insertions(+), 946 deletions(-)