[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <7b0576d8d49bbd358767620218c1966e8fe9a883.camel@hammerspace.com>
Date: Tue, 29 Mar 2022 19:36:00 +0000
From: Trond Myklebust <trondmy@...merspace.com>
To: "torvalds@...ux-foundation.org" <torvalds@...ux-foundation.org>
CC: "linux-nfs@...r.kernel.org" <linux-nfs@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: [GIT PULL] Please pull NFS client changes for Linux 5.18
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@...b.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@...merspace.com
Powered by blists - more mailing lists