mbox series

[GIT,PULL] Please pull NFS client changes for 5.11

Message ID a47c68f255f9fd9361f0c17ccf1273d905fd0bd1.camel@hammerspace.com (mailing list archive)
State New, archived
Headers show
Series [GIT,PULL] Please pull NFS client changes for 5.11 | expand

Pull-request

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

Message

Trond Myklebust Dec. 17, 2020, 6:05 p.m. UTC
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(-)

Comments

Linus Torvalds Dec. 17, 2020, 8:25 p.m. UTC | #1
On Thu, Dec 17, 2020 at 10:05 AM Trond Myklebust
<trondmy@hammerspace.com> 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
Trond Myklebust Dec. 17, 2020, 9:19 p.m. UTC | #2
On Thu, 2020-12-17 at 12:25 -0800, Linus Torvalds wrote:
> On Thu, Dec 17, 2020 at 10:05 AM Trond Myklebust
> <trondmy@hammerspace.com> 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

Thanks! Much appreciated.