lkml.org 
[lkml]   [2022]   [Mar]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[GIT PULL] Please pull NFS client changes for Linux 5.18
Date
Hi Linus,

The following changes since commit 53ab78cd6d5aba25575a7cfb95729336ba9497d8:

Merge tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux (2022-02-24 17:35:22 -0800)

are available in the Git repository at:

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

for you to fetch changes up to 7c9d845f0612e5bcd23456a2ec43be8ac43458f1:

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

Please note that Stephen Rothwell has reported a conflict between
this branch and upstream:

On Tue, 15 Mar 2022 20:45:40 +1100 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> Today's linux-next merge of the folio tree got a conflict in:
>
> fs/nfs/file.c
>
> between commit:
>
> 8786fde8421c ("Convert NFS from readpages to readahead")
>
> from the nfs tree and commit:
>
> 821405cf3ebb ("fs: Convert trivial uses of __set_page_dirty_nobuffers to filemap_dirty_folio")
>
> from the folio tree.

The fix should be trivial.

Thanks,
Trond

----------------------------------------------------------------
NFS client updates for Linux 5.18

Highlights include:

Features:
- Switch NFS to use readahead instead of the obsolete readpages.
- Readdir fixes to improve cacheability of large directories when there
are multiple readers and writers.
- Readdir performance improvements when doing a seekdir() immediately
after opening the directory (common when re-exporting NFS).
- NFS swap improvements from Neil Brown.
- Loosen up memory allocation to permit direct reclaim and write back
in cases where there is no danger of deadlocking the writeback code or
NFS swap.
- Avoid sillyrename when the NFSv4 server claims to support the
necessary features to recover the unlinked but open file after reboot.

Bugfixes:
- Patch from Olga to add a mount option to control NFSv4.1 session
trunking discovery, and default it to being off.
- Fix a lockup in nfs_do_recoalesce().
- Two fixes for list iterator variables being used when pointing to the
list head.
- Fix a kernel memory scribble when reading from a non-socket transport
in /sys/kernel/sunrpc.
- Fix a race where reconnecting to a server could leave the TCP socket
stuck forever in the connecting state.
- Patch from Neil to fix a shutdown race which can leave the SUNRPC
transport timer primed after we free the struct xprt itself.
- Patch from Xin Xiong to fix reference count leaks in the NFSv4.2 copy
offload.
- Sunrpc patch from Olga to avoid resending a task on an offlined
transport.

Cleanups:
- Patches from Dave Wysochanski to clean up the fscache code

----------------------------------------------------------------
Alexey Khoroshilov (1):
NFS: remove unneeded check in decode_devicenotify_args()

Benjamin Coddington (1):
NFSv4: use unique client identifiers in network namespaces

Colin Ian King (1):
SUNRPC: remove redundant pointer plainhdr

Dave Wysochanski (4):
NFS: Cleanup usage of nfs_inode in fscache interface
NFS: Rename fscache read and write pages functions
NFS: Replace dfprintks with tracepoints in fscache read and write page functions
NFS: Remove remaining dfprintks related to fscache and remove NFSDBG_FSCACHE

Jakob Koschel (1):
NFS: replace usage of found with dedicated list iterator variable

Matthew Wilcox (Oracle) (1):
Convert NFS from readpages to readahead

NeilBrown (12):
NFS: remove IS_SWAPFILE hack
SUNRPC/call_alloc: async tasks mustn't block waiting for memory
SUNRPC/auth: async tasks mustn't block waiting for memory
SUNRPC/xprt: async tasks mustn't block waiting for memory
SUNRPC: remove scheduling boost for "SWAPPER" tasks.
NFS: discard NFS_RPC_SWAPFLAGS and RPC_TASK_ROOTCREDS
SUNRPC: improve 'swap' handling: scheduling and PF_MEMALLOC
NFSv4: keep state manager thread active if swap is enabled
NFS: swap IO handling is slightly different for O_DIRECT IO
NFS: swap-out must always use STABLE writes.
SUNRPC: change locking for xs_swap_enable/disable
SUNRPC: avoid race between mod_timer() and del_timer_sync()

Olga Kornievskaia (5):
NFSv4.1 support for NFS4_RESULT_PRESERVER_UNLINKED
NFSv4.1 restrict GETATTR fs_location query to the main transport
NFSv4.1 provide mount option to toggle trunking discovery
SUNRPC don't resend a task on an offlined transport
NFSv4.1: don't retry BIND_CONN_TO_SESSION on session error

Tom Rix (1):
NFS: simplify check for freeing cn_resp

Trond Myklebust (63):
NFSv4: Protect the state recovery thread against direct reclaim
NFS: Charge open/lock file contexts to kmemcg
NFSv4: Charge NFSv4 open state trackers to kmemcg
NFSv4.2: Fix up an invalid combination of memory allocation flags
NFS: Convert GFP_NOFS to GFP_KERNEL
NFSv4/flexfiles: Convert GFP_NOFS to GFP_KERNEL
NFSv4.2/copyoffload: Convert GFP_NOFS to GFP_KERNEL
SUNRPC: Convert GFP_NOFS to GFP_KERNEL
SUNRPC/auth_gss: Convert GFP_NOFS to GFP_KERNEL
SUNRPC/xprtrdma: Convert GFP_NOFS to GFP_KERNEL
NFS: Replace last uses of NFS_INO_REVAL_PAGECACHE
NFS: Remove unused flag NFS_INO_REVAL_PAGECACHE
NFS: NFSv2/v3 clients should never be setting NFS_CAP_XATTR
NFS: Remove unnecessary XATTR cache invalidation in nfs_fhget()
NFS: Clean up NFSv4.2 xattrs
NFS: Use of mapping_set_error() results in spurious errors
Revert "NFSv4: use unique client identifiers in network namespaces"
NFS: Return valid errors from nfs2/3_decode_dirent()
NFS: constify nfs_server_capable() and nfs_have_writebacks()
NFS: Trace lookup revalidation failure
NFS: Initialise the readdir verifier as best we can in nfs_opendir()
NFS: Use kzalloc() to avoid initialising the nfs_open_dir_context
NFS: Calculate page offsets algorithmically
NFS: Store the change attribute in the directory page cache
NFS: Don't re-read the entire page cache to find the next cookie
NFS: Don't advance the page pointer unless the page is full
NFS: Adjust the amount of readahead performed by NFS readdir
NFS: If the cookie verifier changes, we must invalidate the page cache
NFS: Simplify nfs_readdir_xdr_to_array()
NFS: Reduce use of uncached readdir
NFS: Improve heuristic for readdirplus
NFS: Don't ask for readdirplus unless it can help nfs_getattr()
NFSv4: Ask for a full XDR buffer of readdir goodness
NFS: Readdirplus can't help lookup for case insensitive filesystems
NFS: Don't request readdirplus when revalidation was forced
NFS: Add basic readdir tracing
NFS: Trace effects of readdirplus on the dcache
NFS: Trace effects of the readdirplus heuristic
NFS: Clean up page array initialisation/free
NFS: Convert readdir page cache to use a cookie based index
NFS: Fix up forced readdirplus
NFS: Optimise away the previous cookie field
NFS: Cache all entries in the readdirplus reply
NFS: Don't deadlock when cookie hashes collide
NFS: Fix revalidation of empty readdir pages
SUNRPC: Don't call connect() more than once on a TCP socket
SUNRPC: Only save the TCP source port after the connection is complete
SUNRPC: Fix socket waits for write buffer space
SUNRPC: Replace internal use of SOCKWQ_ASYNC_NOSPACE
SUNRPC: Improve accuracy of socket ENOBUFS determination
NFS: Fix memory allocation in rpc_malloc()
NFS: Fix memory allocation in rpc_alloc_task()
SUNRPC: Fix unx_lookup_cred() allocation
SUNRPC: Make the rpciod and xprtiod slab allocation modes consistent
NFS: nfsiod should not block forever in mempool_alloc()
NFS: Avoid writeback threads getting stuck in mempool_alloc()
NFSv4/pnfs: Ensure pNFS allocation modes are consistent with nfsiod
pNFS/flexfiles: Ensure pNFS allocation modes are consistent with nfsiod
pNFS/files: Ensure pNFS allocation modes are consistent with nfsiod
SUNRPC: Do not dereference non-socket transports in sysfs
SUNRPC: Don't return error values in sysfs read of closed files
NFS: Don't loop forever in nfs_do_recoalesce()
NFSv4/pNFS: Fix another issue with a list iterator pointing to the head

Xin Xiong (1):
NFSv4.2: fix reference count leaks in _nfs42_proc_copy_notify()

fs/nfs/Kconfig | 4 +
fs/nfs/callback_proc.c | 29 +-
fs/nfs/callback_xdr.c | 4 -
fs/nfs/client.c | 3 +-
fs/nfs/delegation.c | 2 +-
fs/nfs/dir.c | 626 +++++++++++++++++++-------------
fs/nfs/direct.c | 48 ++-
fs/nfs/file.c | 26 +-
fs/nfs/filelayout/filelayout.c | 2 +-
fs/nfs/flexfilelayout/flexfilelayout.c | 53 ++-
fs/nfs/fs_context.c | 8 +
fs/nfs/fscache.c | 53 +--
fs/nfs/fscache.h | 45 +--
fs/nfs/inode.c | 86 ++---
fs/nfs/internal.h | 25 +-
fs/nfs/nfs2xdr.c | 3 +-
fs/nfs/nfs3xdr.c | 30 +-
fs/nfs/nfs42proc.c | 34 +-
fs/nfs/nfs42xattr.c | 7 +-
fs/nfs/nfs4_fs.h | 1 +
fs/nfs/nfs4file.c | 8 +-
fs/nfs/nfs4proc.c | 62 +++-
fs/nfs/nfs4state.c | 59 ++-
fs/nfs/nfs4xdr.c | 7 +-
fs/nfs/nfstrace.h | 221 ++++++++++-
fs/nfs/pagelist.c | 11 +-
fs/nfs/pnfs.c | 50 +--
fs/nfs/pnfs.h | 2 +
fs/nfs/pnfs_nfs.c | 8 +-
fs/nfs/proc.c | 1 +
fs/nfs/read.c | 29 +-
fs/nfs/write.c | 43 ++-
include/linux/nfs_fs.h | 45 +--
include/linux/nfs_fs_sb.h | 1 +
include/linux/nfs_xdr.h | 5 +-
include/linux/sunrpc/auth.h | 1 +
include/linux/sunrpc/sched.h | 2 +-
include/linux/sunrpc/xprt.h | 3 +
include/linux/sunrpc/xprtsock.h | 3 +-
include/trace/events/sunrpc.h | 1 -
include/uapi/linux/nfs4.h | 1 +
include/uapi/linux/nfs_fs.h | 2 +-
net/sunrpc/auth.c | 8 +-
net/sunrpc/auth_gss/auth_gss.c | 26 +-
net/sunrpc/auth_gss/auth_gss_internal.h | 2 +-
net/sunrpc/auth_gss/gss_krb5_crypto.c | 10 +-
net/sunrpc/auth_gss/gss_krb5_seqnum.c | 4 +-
net/sunrpc/auth_gss/gss_krb5_wrap.c | 4 +-
net/sunrpc/auth_unix.c | 16 +-
net/sunrpc/backchannel_rqst.c | 8 +-
net/sunrpc/clnt.c | 13 +-
net/sunrpc/rpcb_clnt.c | 4 +-
net/sunrpc/sched.c | 56 ++-
net/sunrpc/socklib.c | 3 +-
net/sunrpc/sysfs.c | 76 ++--
net/sunrpc/xprt.c | 23 +-
net/sunrpc/xprtrdma/frwr_ops.c | 2 +-
net/sunrpc/xprtrdma/transport.c | 10 +-
net/sunrpc/xprtrdma/verbs.c | 4 +-
net/sunrpc/xprtsock.c | 207 ++++++-----
60 files changed, 1317 insertions(+), 813 deletions(-)

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


\
 
 \ /
  Last update: 2022-03-29 21:36    [W:0.211 / U:0.104 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site