[GIT PULL] Please pull NFS client updates for Linux 6.9
From: Trond Myklebust
Date: Sat Mar 16 2024 - 14:17:45 EST
Hi Linus,
The following changes since commit d206a76d7d2726f3b096037f2079ce0bd3ba329b:
Linux 6.8-rc6 (2024-02-25 15:46:06 -0800)
are available in the Git repository at:
git://git.linux-nfs.org/projects/trondmy/linux-nfs.git tags/nfs-for-6.9-1
for you to fetch changes up to 719fcafe07c12646691bd62d7f8d94d657fa0766:
nfs: fix panic when nfs4_ff_layout_prepare_ds() fails (2024-03-16 12:41:45 -0400)
----------------------------------------------------------------
NFS client updates for Linux 6.9
Highlights include:
Bugfixes:
- Fix for an Oops in the NFSv4.2 listxattr handler
- Correct an incorrect buffer size in listxattr
- Fix for an Oops in the pNFS flexfiles layout
- Fix a refcount leak in NFS O_DIRECT writes
- Fix missing locking in NFS O_DIRECT
- Avoid an infinite loop in pnfs_update_layout
- Fix an overflow in the RPC waitqueue queue length counter
- Ensure that pNFS I/O is also protected by TLS when xprtsec
is specified by the mount options
- Fix a leaked folio lock in the netfs read code
- Fix a potential deadlock in fscache
- Allow setting the fscache uniquifier in NFSv4
- Fix an off by one in root_nfs_cat()
- Fix another off by one in rpc_sockaddr2uaddr()
- nfs4_do_open() can incorrectly trigger state recovery.
- Various fixes for connection shutdown
Features and cleanups:
- Ensure that containers only see their own RPC and NFS stats
- Enable nconnect for RDMA
- Remove dead code from nfs_writepage_locked()
- Various tracepoint additions to track EXCHANGE_ID, GETDEVICEINFO, and
mount options.
----------------------------------------------------------------
Benjamin Coddington (1):
NFS: Read unlock folio on nfs_page_create_from_folio() error
Chen Hanxiao (3):
NFS: Display the "fsc=" mount option if it is set
nfs: fix regression in handling of fsc= option in NFSv4
NFS: trace the uniquifier of fscache
Christophe JAILLET (2):
net: sunrpc: Fix an off by one in rpc_sockaddr2uaddr()
NFS: Fix an off by one in root_nfs_cat()
Dai Ngo (1):
SUNRPC: increase size of rpc_wait_queue.qlen from unsigned short to unsigned int
Dave Wysochanski (1):
NFS: Fix nfs_netfs_issue_read() xarray locking for writeback interrupt
Jeff Layton (1):
nfs: remove unused NFS_CALL macro
Jorge Mora (2):
NFSv4.2: fix nfs4_listxattr kernel BUG at mm/usercopy.c:102
NFSv4.2: fix listxattr maximum XDR buffer size
Josef Bacik (6):
sunrpc: add a struct rpc_stats arg to rpc_create_args
nfs: expose /proc/net/sunrpc/nfs in net namespaces
nfs: make the rpc_stat per net namespace
nfs: properly protect nfs_direct_req fields
nfs: fix UAF in direct writes
nfs: fix panic when nfs4_ff_layout_prepare_ds() fails
NeilBrown (2):
NFS: remove sync_mode test from nfs_writepage_locked()
NFS: avoid infinite loop in pnfs_update_layout.
Olga Kornievskaia (4):
SUNRPC: add xrpt id to rpc_stats_latency tracepoint
pnfs/filelayout: add tracepoint to getdeviceinfo
NFSv4.1: add tracepoint to trunked nfs4_exchange_id calls
NFSv4.1/pnfs: fix NFS with TLS in pnfs
Trond Myklebust (6):
SUNRPC: Don't retry using the same source port if connection failed
SUNRPC: Don't try to send when the connection is shutting down
SUNRPC: Add a transport callback to handle dequeuing of an RPC request
NFSv4: nfs4_do_open() is incorrectly triggering state recovery
NFS: enable nconnect for RDMA
NFS: remove unused variable nfs_rpcstat
fs/nfs/client.c | 9 +++---
fs/nfs/delegation.c | 4 ---
fs/nfs/direct.c | 18 +++++++++--
fs/nfs/filelayout/filelayoutdev.c | 2 ++
fs/nfs/flexfilelayout/flexfilelayout.c | 2 +-
fs/nfs/fs_context.c | 1 +
fs/nfs/fscache.c | 9 ++----
fs/nfs/inode.c | 8 ++---
fs/nfs/internal.h | 2 --
fs/nfs/netns.h | 2 ++
fs/nfs/nfs3client.c | 1 +
fs/nfs/nfs42.h | 7 ++--
fs/nfs/nfs4_fs.h | 1 -
fs/nfs/nfs4client.c | 2 ++
fs/nfs/nfs4proc.c | 29 +++++++++--------
fs/nfs/nfs4state.c | 12 ++++---
fs/nfs/nfs4super.c | 24 ++++++++++++++
fs/nfs/nfs4trace.c | 2 ++
fs/nfs/nfs4trace.h | 58 ++++++++++++++++++++++++++++++++++
fs/nfs/nfsroot.c | 4 +--
fs/nfs/pnfs.c | 8 +++++
fs/nfs/pnfs_nfs.c | 44 +++++++++++++++++++++++++-
fs/nfs/read.c | 2 ++
fs/nfs/super.c | 10 +++++-
fs/nfs/write.c | 6 +---
include/linux/nfs_fs.h | 1 +
include/linux/nfs_xdr.h | 7 ----
include/linux/sunrpc/clnt.h | 1 +
include/linux/sunrpc/sched.h | 2 +-
include/linux/sunrpc/xprt.h | 1 +
include/trace/events/sunrpc.h | 8 +++--
include/trace/misc/nfs.h | 1 +
net/sunrpc/addr.c | 4 +--
net/sunrpc/clnt.c | 5 ++-
net/sunrpc/xprt.c | 9 ++++++
net/sunrpc/xprtsock.c | 23 +++++++++++++-
36 files changed, 258 insertions(+), 71 deletions(-)
--
Trond Myklebust
Linux NFS client maintainer, Hammerspace
trond.myklebust@xxxxxxxxxxxxxxx