[GIT PULL] Please pull NFS Client updates for Linux 5.4

From: Schumaker, Anna
Date: Thu Sep 26 2019 - 15:13:38 EST


Hi Linus,

The following changes since commit d1abaeb3be7b5fa6d7a1fbbd2e14e3310005c4c1:

Linux 5.3-rc5 (2019-08-18 14:31:08 -0700)

are available in the Git repository at:

git://git.linux-nfs.org/projects/anna/linux-nfs.git tags/nfs-for-5.4-1

for you to fetch changes up to a8fd0feeca35cb8f9ddd950191f4aeb777f52f89:

pNFS/filelayout: enable LAYOUTGET on OPEN (2019-09-24 16:28:38 -0400)

----------------------------------------------------------------
Stable bugfixes:
- Dequeue the request from the receive queue while we're re-encoding # v4.20+
- Fix buffer handling of GSS MIC without slack # 5.1

Features:
- Increase xprtrdma maximum transport header and slot table sizes
- Add support for nfs4_call_sync() calls using a custom rpc_task_struct
- Optimize the default readahead size
- Enable pNFS filelayout LAYOUTGET on OPEN

Other bugfixes and cleanups:
- Fix possible null-pointer dereferences and memory leaks
- Various NFS over RDMA cleanups
- Various NFS over RDMA comment updates
- Don't receive TCP data into a reset request buffer
- Don't try to parse incomplete RPC messages
- Fix congestion window race with disconnect
- Clean up pNFS return-on-close error handling
- Fixes for NFS4ERR_OLD_STATEID handling

Thanks,
Anna
----------------------------------------------------------------
Anna Schumaker (6):
NFS: Add an nfs4_call_sync_custom() function
NFS: Have nfs4_proc_setclientid() call nfs4_call_sync_custom()
NFS: Have _nfs4_proc_secinfo() call nfs4_call_sync_custom()
NFS: Have nfs41_proc_reclaim_complete() call nfs4_call_sync_custom()
NFS: Have nfs41_proc_secinfo_no_name() call nfs4_call_sync_custom()
NFS: Have nfs4_proc_get_lease_time() call nfs4_call_sync_custom()

Benjamin Coddington (5):
SUNRPC: Fix buffer handling of GSS MIC without slack
SUNRPC: Rename xdr_buf_read_netobj to xdr_buf_read_mic
NFS: Refactor nfs_instantiate() for dentry referencing callers
NFSv3: use nfs_add_or_obtain() to create and reference inodes
NFS: remove unused check for negative dentry

Chuck Lever (25):
SUNRPC: Remove rpc_wake_up_queued_task_on_wq()
SUNRPC: Inline xdr_commit_encode
xprtrdma: Refresh the documenting comment in frwr_ops.c
xprtrdma: Update obsolete comment
xprtrdma: Fix calculation of ri_max_segs again
xprtrdma: Boost maximum transport header size
xprtrdma: Boost client's max slot table size to match Linux server
xprtrdma: Rename CQE field in Receive trace points
xprtrdma: Rename rpcrdma_buffer::rb_all
xprtrdma: Toggle XPRT_CONGESTED in xprtrdma's slot methods
xprtrdma: Simplify rpcrdma_mr_pop
xprtrdma: Combine rpcrdma_mr_put and rpcrdma_mr_unmap_and_put
xprtrdma: Move rpcrdma_mr_get out of frwr_map
xprtrdma: Ensure creating an MR does not trigger FS writeback
xprtrdma: Cache free MRs in each rpcrdma_req
xprtrdma: Remove rpcrdma_buffer::rb_mrlock
xprtrdma: Use an llist to manage free rpcrdma_reps
xprtrdma: Clean up xprt_rdma_set_connect_timeout()
xprtrdma: Fix bc_max_slots return value
xprtrdma: Inline XDR chunk encoder functions
xprtrdma: Optimize rpcrdma_post_recvs()
xprtrdma: Recycle MRs after disconnect
xprtrdma: Clear xprt->reestablish_timeout on close
xprtrdma: Send Queue size grows after a reconnect
SUNRPC: Fix congestion window race with disconnect

Jia-Ju Bai (1):
fs: nfs: Fix possible null-pointer dereferences in encode_attrs()

Olga Kornievskaia (1):
pNFS/filelayout: enable LAYOUTGET on OPEN

Trond Myklebust (14):
SUNRPC: Dequeue the request from the receive queue while we're re-encoding
SUNRPC: Don't receive TCP data into a request buffer that has been reset
SUNRPC: RPC level errors should always set task->tk_rpc_status
SUNRPC: Don't try to parse incomplete RPC messages
pNFS: Ensure we do clear the return-on-close layout stateid on fatal errors
NFSv4: Clean up pNFS return-on-close error handling
NFSv4: Handle NFS4ERR_DELAY correctly in return-on-close
NFSv4: Handle RPC level errors in LAYOUTRETURN
NFSv4: Add a helper to increment stateid seqids
pNFS: Handle NFS4ERR_OLD_STATEID on layoutreturn by bumping the state seqid
NFSv4: Fix OPEN_DOWNGRADE error handling
NFSv4: Handle NFS4ERR_OLD_STATEID in CLOSE/OPEN_DOWNGRADE
NFSv4: Handle NFS4ERR_OLD_STATEID in LOCKU
NFS: Optimise the default readahead size

Wenwen Wang (1):
NFSv4: Fix a memory leak bug

fs/nfs/dir.c | 41 +++--
fs/nfs/filelayout/filelayout.c | 1 +
fs/nfs/internal.h | 8 -
fs/nfs/nfs3proc.c | 45 ++++--
fs/nfs/nfs4_fs.h | 11 +-
fs/nfs/nfs4proc.c | 315 ++++++++++++++++++++++++--------------
fs/nfs/nfs4state.c | 22 +--
fs/nfs/nfs4xdr.c | 2 +-
fs/nfs/pnfs.c | 71 ++++++++-
fs/nfs/pnfs.h | 17 +-
fs/nfs/super.c | 9 +-
include/linux/nfs_fs.h | 3 +
include/linux/sunrpc/sched.h | 3 -
include/linux/sunrpc/xdr.h | 2 +-
include/linux/sunrpc/xprt.h | 1 +
include/linux/sunrpc/xprtrdma.h | 4 +-
include/trace/events/rpcrdma.h | 88 +++++++++--
net/sunrpc/auth_gss/auth_gss.c | 2 +-
net/sunrpc/clnt.c | 26 +++-
net/sunrpc/sched.c | 32 +---
net/sunrpc/xdr.c | 65 +++++---
net/sunrpc/xprt.c | 61 +++++---
net/sunrpc/xprtrdma/backchannel.c | 4 +-
net/sunrpc/xprtrdma/frwr_ops.c | 166 +++++++++-----------
net/sunrpc/xprtrdma/rpc_rdma.c | 71 ++++++---
net/sunrpc/xprtrdma/transport.c | 15 +-
net/sunrpc/xprtrdma/verbs.c | 263 ++++++++++++++-----------------
net/sunrpc/xprtrdma/xprt_rdma.h | 59 ++++---
net/sunrpc/xprtsock.c | 8 +-
29 files changed, 835 insertions(+), 580 deletions(-)