Hi Linus,
The following changes since commit
63e2fffa59a9dd91e443b08832656399fd80b7f0:
pNFS/flexfiles: Fix array overflow when flexfiles mirroring is
enabled (2020-11-30 10:52:22 -0500)
are available in the Git repository at:
git://git.linux-nfs.org/projects/trondmy/linux-nfs.git tags/nfs-for-
5.11-1
for you to fetch changes up to
52104f274e2d7f134d34bab11cada8913d4544e2:
NFS/pNFS: Fix a typo in ff_layout_resend_pnfs_read() (2020-12-16
17:25:24 -0500)
Stephen Rothwell has noted that there are conflicts with the upstream
tree.
They are due to the last-minute fix to the NFSv4.2 READ_PLUS code in
5.10,
and due to the changes for the nfsd XDR code. The fixups should be
trivial
but please let me know if you'd prefer that I do so.
Cheers
Trond
----------------------------------------------------------------
NFS client updates for Linux 5.11
Highlights include:
Features:
- NFSv3: Add emulation of lookupp() to improve open_by_filehandle()
support.
- A series of patches to improve readdir performance, particularly with
large directories.
- Basic support for using NFS/RDMA with the pNFS files and flexfiles
drivers.
- Micro-optimisations for RDMA.
- RDMA tracing improvements.
Bugfixes:
- Fix a long standing bug with xs_read_xdr_buf() when receiving partial
pages (Dan Aloni).
- Various fixes for getxattr and listxattr, when used over non-TCP
transports.
- Fixes for containerised NFS from Sargun Dhillon.
- switch nfsiod to be an UNBOUND workqueue (Neil Brown).
- READDIR should not ask for security label information if there is no
LSM policy. (Olga Kornievskaia)
- Avoid using interval-based rebinding with TCP in lockd (Calum
Mackay).
- A series of RPC and NFS layer fixes to support the NFSv4.2 READ_PLUS
code.
- A couple of fixes for pnfs/flexfiles read failover
Cleanups:
- Various cleanups for the SUNRPC xdr code in conjunction with the
READ_PLUS fixes.
----------------------------------------------------------------
Calum Mackay (1):
lockd: don't use interval-based rebinding over TCP
Chuck Lever (16):
xprtrdma: Replace dprintk call sites in ERR_CHUNK path
xprtrdma: Introduce Receive completion IDs
xprtrdma: Introduce Send completion IDs
xprtrdma: Introduce FRWR completion IDs
xprtrdma: Clean up trace_xprtrdma_post_linv
xprtrdma: Clean up reply parsing error tracepoints
xprtrdma: Clean up tracepoints in the reply path
xprtrdma: Clean up xprtrdma callback tracepoints
xprtrdma: Clean up trace_xprtrdma_nomrs()
xprtrdma: Display the task ID when reporting MR events
xprtrdma: Trace unmap_sync calls
xprtrdma: Move rpcrdma_mr_put()
xprtrdma: Micro-optimize MR DMA-unmapping
SUNRPC: Remove XDRBUF_SPARSE_PAGES flag in gss_proxy upcall
NFS: Fix rpcrdma_inline_fixup() crash with new LISTXATTRS
operation
xprtrdma: Fix XDRBUF_SPARSE_PAGES support
Colin Ian King (1):
NFSv4.2: fix error return on memory allocation failure
Dai Ngo (1):
NFSv4.2: Fix 5 seconds delay when doing inter server copy
Dan Aloni (1):
sunrpc: fix xs_read_xdr_buf for partial pages receive
Fedor Tokarev (1):
net: sunrpc: Fix 'snprintf' return value check in
'do_xprt_debugfs'
Frank van der Linden (1):
NFSv4.2: improve page handling for GETXATTR
Geliang Tang (1):
NFSv4.1: use BITS_PER_LONG macro in nfs4session.h
NeilBrown (1):
NFS: switch nfsiod to be an UNBOUND workqueue.
Olga Kornievskaia (1):
NFSv4.2: condition READDIR's mask for security label based on LSM
state
Sargun Dhillon (2):
NFS: NFSv2/NFSv3: Use cred from fs_context during mount
NFSv4: Refactor to use user namespaces for nfs4idmap
Trond Myklebust (63):
NFSv3: Refactor nfs3_proc_lookup() to split out the dentry
NFSv3: Add emulation of the lookupp() operation
NFSv4: Observe the NFS_MOUNT_SOFTREVAL flag in _nfs4_proc_lookupp
SUNRPC: rpc_wake_up() should wake up tasks in the correct order
NFS: Ensure contents of struct nfs_open_dir_context are
consistent
NFS: Clean up readdir struct nfs_cache_array
NFS: Clean up nfs_readdir_page_filler()
NFS: Clean up directory array handling
NFS: Don't discard readdir results
NFS: Remove unnecessary kmap in nfs_readdir_xdr_to_array()
NFS: Replace kmap() with kmap_atomic() in
nfs_readdir_search_array()
NFS: Simplify struct nfs_cache_array_entry
NFS: Support larger readdir buffers
NFS: More readdir cleanups
NFS: nfs_do_filldir() does not return a value
NFS: Reduce readdir stack usage
NFS: Cleanup to remove nfs_readdir_descriptor_t typedef
NFS: Allow the NFS generic code to pass in a verifier to readdir
NFS: Handle NFS4ERR_NOT_SAME and NFSERR_BADCOOKIE from readdir
calls
NFS: Improve handling of directory verifiers
NFS: Optimisations for monotonically increasing readdir cookies
NFS: Reduce number of RPC calls when doing uncached readdir
NFS: Do uncached readdir when we're seeking a cookie in an empty
page cache
SUNRPC: xprt_load_transport() needs to support the netid "rdma6"
SUNRPC: Close a race with transport setup and module put
SUNRPC: Add a helper to return the transport identifier given a
netid
NFS: Switch mount code to use xprt_find_transport_ident()
SUNRPC: Remove unused function xprt_load_transport()
NFSv4/pNFS: Use connections to a DS that are all of the same
protocol family
pNFS: Add helpers for allocation/free of struct nfs4_pnfs_ds_addr
NFSv4/pNFS: Store the transport type in struct nfs4_pnfs_ds_addr
pNFS/flexfiles: Fix up layoutstats reporting for non-TCP
transports
SUNRPC: Fix up open coded kmemdup_nul()
pNFS: Clean up open coded xdr string decoding
NFSv4: Fix the alignment of page data in the getdeviceinfo reply
SUNRPC: Fix up typo in xdr_init_decode()
SUNRPC: Clean up helpers xdr_set_iov() and xdr_set_page_base()
SUNRPC: Fix up xdr_read_pages() to take arbitrary object lengths
SUNRPC: Clean up the handling of page padding in
rpc_prepare_reply_pages()
SUNRPC: Fix up xdr_set_page()
SUNRPC: Fix open coded xdr_stream_remaining()
NFSv4: Fix open coded xdr_stream_remaining()
NFSv4: Fix a pNFS layout related use-after-free race when freeing
the inode
NFSv4.2: Fix up the get/listxattr calls to
rpc_prepare_reply_pages()
SUNRPC: _shift_data_left/right_pages should check the shift
length
SUNRPC: Fixes for xdr_align_data()
SUNRPC: Fix xdr_expand_hole()
SUNRPC: Cleanup xdr_shrink_bufhead()
SUNRPC: _copy_to/from_pages() now check for zero length
SUNRPC: Clean up open coded setting of the xdr_stream 'nwords'
field
SUNRPC: Cleanup - constify a number of xdr_buf helpers
SUNRPC: When expanding the buffer, we may need grow the sparse
pages
NFSv4.2: Ensure we always reset the result->count in
decode_read_plus()
NFSv4.2: decode_read_plus_data() must skip padding after data
segment
NFSv4.2: decode_read_plus_hole() needs to check the extent offset
NFSv4.2: Handle hole lengths that exceed the READ_PLUS read
buffer
NFSv4.2: Don't error when exiting early on a READ_PLUS buffer
overflow
NFSv4.2: Deal with potential READ_PLUS data extent buffer
overflow
NFSv4.2/pnfs: Don't use READ_PLUS with pNFS yet
Merge tag 'nfs-rdma-for-5.11-1' of git://git.linux-
nfs.org/projects/anna/linux-nfs into linux-next
NFSv4/pnfs: Add tracing for the deviceid cache
pNFS/flexfiles: Avoid spurious layout returns in
ff_layout_choose_ds_for_read
NFS/pNFS: Fix a typo in ff_layout_resend_pnfs_read()
Zheng Yongjun (1):
fs/lockd: convert comma to semicolon
fs/lockd/host.c | 22 +-
fs/nfs/client.c | 8 +-
fs/nfs/dir.c | 719 +++++++++++++++++--------
---
fs/nfs/flexfilelayout/flexfilelayout.c | 17 +-
fs/nfs/fs_context.c | 21 +-
fs/nfs/inode.c | 9 +-
fs/nfs/internal.h | 6 -
fs/nfs/nfs2xdr.c | 19 +-
fs/nfs/nfs3proc.c | 83 ++--
fs/nfs/nfs3xdr.c | 29 +-
fs/nfs/nfs42proc.c | 69 ++-
fs/nfs/nfs42xdr.c | 102 ++--
fs/nfs/nfs4client.c | 2 +-
fs/nfs/nfs4file.c | 2 +-
fs/nfs/nfs4proc.c | 71 +--
fs/nfs/nfs4session.h | 2 +-
fs/nfs/nfs4super.c | 2 +-
fs/nfs/nfs4trace.h | 75 +++
fs/nfs/nfs4xdr.c | 48 +-
fs/nfs/pnfs.c | 33 +-
fs/nfs/pnfs.h | 7 +
fs/nfs/pnfs_dev.c | 23 +-
fs/nfs/pnfs_nfs.c | 105 ++---
fs/nfs/proc.c | 18 +-
include/linux/nfs_fs.h | 9 +-
include/linux/nfs_xdr.h | 17 +-
include/linux/sunrpc/xdr.h | 26 +-
include/linux/sunrpc/xprt.h | 3 +-
include/trace/events/rpcrdma.h | 450 +++++++++---------
net/sunrpc/auth_gss/gss_rpc_upcall.c | 15 +-
net/sunrpc/auth_gss/gss_rpc_xdr.c | 1 -
net/sunrpc/clnt.c | 5 +-
net/sunrpc/debugfs.c | 4 +-
net/sunrpc/sched.c | 65 +--
net/sunrpc/xdr.c | 822 +++++++++++++++++++++----
--------
net/sunrpc/xprt.c | 117 +++--
net/sunrpc/xprtrdma/backchannel.c | 6 +-
net/sunrpc/xprtrdma/frwr_ops.c | 81 ++--
net/sunrpc/xprtrdma/module.c | 1 +
net/sunrpc/xprtrdma/rpc_rdma.c | 72 +--
net/sunrpc/xprtrdma/transport.c | 8 +-
net/sunrpc/xprtrdma/verbs.c | 30 +-
net/sunrpc/xprtrdma/xprt_rdma.h | 9 +-
net/sunrpc/xprtsock.c | 7 +-
44 files changed, 1978 insertions(+), 1262 deletions(-)
--
Trond Myklebust
Linux NFS client maintainer, Hammerspace
[email protected]
On Thu, Dec 17, 2020 at 10:05 AM Trond Myklebust
<[email protected]> wrote:
>
> git://git.linux-nfs.org/projects/trondmy/linux-nfs.git tags/nfs-for-
> 5.11-1
>
> for you to fetch changes up to
> 52104f274e2d7f134d34bab11cada8913d4544e2:
pr-tracker-bot doesn't seem to have reacted to this email.
I suspect it's because of the odd and unfortunate line breaks in it,
but who knows. Maybe it's just delayed (but the other filesystem pulls
seem to have been tracked).
Anyway, it's pulled, even if the automation seems to not have noticed.
Linus