[GIT PULL] Please pull NFS client updates for Linux 5.20

From: Trond Myklebust
Date: Wed Aug 10 2022 - 11:24:32 EST


Hi Linus,

The following changes since commit 32346491ddf24599decca06190ebca03ff9de7f8:

Linux 5.19-rc6 (2022-07-10 14:40:51 -0700)

are available in the Git repository at:

git://git.linux-nfs.org/projects/trondmy/linux-nfs.git tags/nfs-for-5.20-1

for you to fetch changes up to 3fa5cbdc44de190f2c5605ba7db015ae0d26f668:

NFS: Improve readpage/writepage tracing (2022-08-09 14:11:34 -0400)

Cheers,
Trond

----------------------------------------------------------------
NFS client updates for Linux 5.20

Highlights include:

Stable fixes:
- pNFS/flexfiles: Fix infinite looping when the RDMA connection errors out

Bugfixes:
- NFS: fix port value parsing
- SUNRPC: Reinitialise the backchannel request buffers before reuse
- SUNRPC: fix expiry of auth creds
- NFSv4: Fix races in the legacy idmapper upcall
- NFS: O_DIRECT fixes from Jeff Layton
- NFSv4.1: Fix OP_SEQUENCE error handling
- SUNRPC: Fix an RPC/RDMA performance regression
- NFS: Fix case insensitive renames
- NFSv4/pnfs: Fix a use-after-free bug in open
- NFSv4.1: RECLAIM_COMPLETE must handle EACCES

Features:
- NFSv4.1: session trunking enhancements
- NFSv4.2: READ_PLUS performance optimisations
- NFS: relax the rules for rsize/wsize mount options
- NFS: don't unhash dentry during unlink/rename
- SUNRPC: Fail faster on bad verifier
- NFS/SUNRPC: Various tracing improvements

----------------------------------------------------------------
Anna Schumaker (6):
NFS: Allow setting rsize / wsize to a multiple of PAGE_SIZE
SUNRPC: Introduce xdr_stream_move_subsegment()
SUNRPC: Add a function for directly setting the xdr page len
SUNRPC: Add a function for zeroing out a portion of an xdr_stream
NFS: Replace the READ_PLUS decoding code
SUNRPC: Remove xdr_align_data() and xdr_expand_hole()

ChenXiaoSong (1):
NFS: remove redundant code in nfs_file_write()

Christoph Hellwig (1):
nfs/blocklayout: refactor block device opening

Chuck Lever (3):
SUNRPC: Fail faster on bad verifier
SUNRPC: Replace dprintk() call site in xs_data_ready
NFS: Replace fs_context-related dprintk() call sites with tracepoints

Dan Aloni (1):
sunrpc: fix expiry of auth creds

Fabio M. De Francesco (1):
nfs: Replace kmap() with kmap_local_page()

Ian Kent (1):
nfs: fix port value parsing

Jeff Layton (3):
nfs: add new nfs_direct_req tracepoint events
nfs: always check dreq->error after a commit
nfs: only issue commit in DIO codepath if we have uncommitted data

NeilBrown (1):
NFS: don't unhash dentry during unlink/rename

Olga Kornievskaia (11):
SUNRPC expose functions for offline remote xprt functionality
SUNRPC add function to offline remove trunkable transports
NFSv4.1 offline trunkable transports on DESTROY_SESSION
SUNRPC create an iterator to list only OFFLINE xprts
SUNRPC enable back offline transports in trunking discovery
SUNRPC create an rpc function that allows xprt removal from rpc_clnt
NFSv4.1 remove xprt from xprt_switch if session trunking test fails
SUNRPC restructure rpc_clnt_setup_test_and_add_xprt
SUNRPC export xprt_iter_rewind function
SUNRPC create a function that probes only offline transports
NFSv4.1 probe offline transports for trunking on session creation

Trond Myklebust (16):
SUNRPC: Fix an RPC/RDMA performance regression
Revert "pNFS: nfs3_set_ds_client should set NFS_CS_NOPING"
pNFS/flexfiles: Report RDMA connection errors to the server
pNFS/files: Handle RDMA connection errors correctly
NFS: Fix case insensitive renames
NFSv4.1: Don't decrease the value of seq_nr_highest_sent
NFSv4.1: Handle NFS4ERR_DELAY replies to OP_SEQUENCE correctly
NFSv4: Fix races in the legacy idmapper upcall
SUNRPC: Shrink size of struct rpc_task
SUNRPC: Reinitialise the backchannel request buffers before reuse
SUNRPC: Don't reuse bvec on retransmission of the request
NFS: nfs_async_write_reschedule_io must not recurse into the writeback code
NFSv4/pnfs: Fix a use-after-free bug in open
NFS: Improve write error tracing
NFS: Improve O_DIRECT tracing
NFS: Improve readpage/writepage tracing

Zhang Xianwei (1):
NFSv4.1: RECLAIM_COMPLETE must handle EACCES

fs/nfs/blocklayout/dev.c | 42 ++----
fs/nfs/client.c | 13 +-
fs/nfs/dir.c | 80 ++++++++---
fs/nfs/direct.c | 50 +++----
fs/nfs/file.c | 2 -
fs/nfs/filelayout/filelayout.c | 2 +
fs/nfs/flexfilelayout/flexfilelayout.c | 4 +
fs/nfs/flexfilelayout/flexfilelayoutdev.c | 6 +-
fs/nfs/fs_context.c | 26 ++--
fs/nfs/internal.h | 51 +++++++
fs/nfs/nfs3client.c | 1 -
fs/nfs/nfs42xdr.c | 170 +++++++++++------------
fs/nfs/nfs4client.c | 4 +-
fs/nfs/nfs4idmap.c | 46 ++++---
fs/nfs/nfs4proc.c | 32 +++--
fs/nfs/nfstrace.h | 215 ++++++++++++++++++++++++------
fs/nfs/write.c | 58 ++++----
include/linux/nfs_fs.h | 9 ++
include/linux/nfs_page.h | 3 +-
include/linux/nfs_xdr.h | 1 +
include/linux/sunrpc/clnt.h | 5 +
include/linux/sunrpc/sched.h | 4 +-
include/linux/sunrpc/xdr.h | 7 +-
include/linux/sunrpc/xprt.h | 6 +-
include/linux/sunrpc/xprtmultipath.h | 7 +-
include/trace/events/sunrpc.h | 20 +++
net/sunrpc/auth.c | 2 +-
net/sunrpc/auth_gss/auth_gss.c | 11 +-
net/sunrpc/backchannel_rqst.c | 14 ++
net/sunrpc/clnt.c | 207 ++++++++++++++++++++++++----
net/sunrpc/sched.c | 1 +
net/sunrpc/sysfs.c | 28 +---
net/sunrpc/xdr.c | 168 ++++++++++++++---------
net/sunrpc/xprt.c | 59 ++++++--
net/sunrpc/xprtmultipath.c | 111 ++++++++++++---
net/sunrpc/xprtrdma/transport.c | 6 +-
net/sunrpc/xprtsock.c | 18 +--
37 files changed, 1032 insertions(+), 457 deletions(-)

--
Trond Myklebust
Linux NFS client maintainer, Hammerspace
trond.myklebust@xxxxxxxxxxxxxxx