[GIT PULL] Please pull NFS client changes

From: Trond Myklebust
Date: Fri Apr 08 2022 - 13:32:54 EST


Hi Linus,

The following changes since commit 7c9d845f0612e5bcd23456a2ec43be8ac43458f1:

NFSv4/pNFS: Fix another issue with a list iterator pointing to the head (2022-03-28 08:36:34 -0400)

are available in the Git repository at:

git://git.linux-nfs.org/projects/trondmy/linux-nfs.git tags/nfs-for-5.18-2

for you to fetch changes up to ff053dbbaffec45c85e5bfe43306d26694a6433f:

SUNRPC: Move the call to xprt_send_pagedata() out of xprt_sock_sendmsg() (2022-04-07 16:20:01 -0400)

----------------------------------------------------------------
NFS client bugfixes for Linux 5.18

Highlights include:

Stable fixes:
- SUNRPC: Ensure we flush any closed sockets before xs_xprt_free()

Bugfixes:
- Fix an Oopsable condition due to SLAB_ACCOUNT setting in the NFSv4.2
xattr code.
- Fix for open() using an file open mode of '3' in NFSv4
- Replace readdir's use of xxhash() with hash_64()
- Several patches to handle malloc() failure in SUNRPC

----------------------------------------------------------------
ChenXiaoSong (2):
Revert "NFSv4: Handle the special Linux file open access mode"
NFSv4: fix open failure with O_ACCMODE flag

Muchun Song (1):
NFSv4.2: Fix missing removal of SLAB_ACCOUNT on kmem_cache allocation

NeilBrown (1):
SUNRPC: handle malloc failure in ->request_prepare

Trond Myklebust (9):
NFS: Replace readdir's use of xxhash() with hash_64()
SUNRPC: Ensure we flush any closed sockets before xs_xprt_free()
SUNRPC: Handle ENOMEM in call_transmit_status()
SUNRPC: Handle low memory situations in call_status()
NFSv4/pnfs: Handle RPC allocation errors in nfs4_proc_layoutget
NFS: Ensure rpc_run_task() cannot fail in nfs_async_rename()
SUNRPC: Handle allocation failure in rpc_new_task()
SUNRPC: svc_tcp_sendmsg() should handle errors from xdr_alloc_bvec()
SUNRPC: Move the call to xprt_send_pagedata() out of xprt_sock_sendmsg()

fs/file_table.c | 1 +
fs/nfs/Kconfig | 4 ----
fs/nfs/dir.c | 19 +++----------------
fs/nfs/inode.c | 1 -
fs/nfs/internal.h | 10 ++++++++++
fs/nfs/nfs42xattr.c | 2 +-
fs/nfs/nfs4file.c | 6 ++++--
fs/nfs/nfs4proc.c | 2 ++
fs/nfs/unlink.c | 1 +
include/linux/nfs_xdr.h | 1 +
include/linux/sunrpc/xprt.h | 5 ++---
include/trace/events/sunrpc.h | 1 -
net/sunrpc/clnt.c | 20 +++++++++++++++++---
net/sunrpc/sched.c | 5 +++++
net/sunrpc/socklib.c | 6 ------
net/sunrpc/svcsock.c | 13 +++++++++----
net/sunrpc/xprt.c | 30 ++++++++++++++++--------------
net/sunrpc/xprtsock.c | 33 +++++++++++++++++++++++++++------
18 files changed, 99 insertions(+), 61 deletions(-)

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