mbox series

[GIT,PULL] Please pull NFS client changes for Linux 5.16

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

Pull-request

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

Message

Trond Myklebust Nov. 10, 2021, 3:37 p.m. UTC
Hi Linus,

The following changes since commit 9e1ff307c779ce1f0f810c7ecce3d95bbae40896:

  Linux 5.15-rc4 (2021-10-03 14:08:47 -0700)

are available in the Git repository at:

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

for you to fetch changes up to f96f8cc4a63dd645e07ea9712be4e0a76ea4ec1f:

  NFSv4: Sanity check the parameters in nfs41_update_target_slotid() (2021-11-07 09:23:14 -0500)

Cheers,
  Trond
----------------------------------------------------------------
NFS client updates for Linux 5.16

Highlights include:

Features:
- NFSv4.1 can always retrieve and cache the ACCESS mode on OPEN
- Optimisations for READDIR and the 'ls -l' style workload
- Further replacements of dprintk() with tracepoints and other tracing
  improvements
- Ensure we re-probe NFSv4 server capabilities when the user does a
  "mount -o remount"

Bugfixes:
- Fix an Oops in pnfs_mark_request_commit()
- Fix up deadlocks in the commit code
- Fix regressions in NFSv2/v3 attribute revalidation due to the
  change_attr_type optimisations
- Fix some dentry verifier races
- Fix some missing dentry verifier settings
- Fix a performance regression in nfs_set_open_stateid_locked()
- SUNRPC was sending multiple SYN calls when re-establishing a TCP
  connection.
- Fix multiple NFSv4 issues due to missing sanity checking of server
  return values
- Fix a potential Oops when FREE_STATEID races with an unmount

Cleanups:
- Clean up the labelled NFS code
- Remove unused header <linux/pnfs_osd_xdr.h>

----------------------------------------------------------------
Alexey Gladkov (1):
      Fix user namespace leak

Anna Schumaker (20):
      NFS: Create an nfs4_server_set_init_caps() function
      NFS: Move nfs_probe_destination() into the generic client
      NFS: Replace calls to nfs_probe_fsinfo() with nfs_probe_server()
      NFS: Call nfs_probe_server() during a fscontext-reconfigure event
      NFS: Unexport nfs_probe_fsinfo()
      SUNRPC: Check if the xprt is connected before handling sysfs reads
      NFS: Create a new nfs_alloc_fattr_with_label() function
      NFS: Remove the nfs4_label from the nfs_entry struct
      NFS: Remove the nfs4_label from the nfs4_create_res struct
      NFS: Remove the nfs4_label from the nfs4_link_res struct
      NFS: Remove the label from the nfs4_lookup_res struct
      NFS: Remove the nfs4_label from the nfs4_lookupp_res struct
      NFS: Remove the f_label from the nfs4_opendata and nfs_openres
      NFS: Remove the nfs4_label from the nfs4_getattr_res
      NFS: Remove the nfs4_label from the nfs_setattrres
      NFS: Remove the nfs4_label argument from nfs_instantiate()
      NFS: Remove the nfs4_label argument from nfs_add_or_obtain()
      NFS: Remove the nfs4_label argument from nfs_fhget()
      NFS: Remove the nfs4_label argument from nfs_setsecurity
      NFS: Remove the nfs4_label argument from decode_getattr_*() functions

Baptiste Lepers (1):
      pnfs/flexfiles: Fix misplaced barrier in nfs4_ff_layout_prepare_ds

Benjamin Coddington (1):
      xprtrdma: Fix a maybe-uninitialized compiler warning

Chuck Lever (12):
      NFS: Remove unnecessary TRACE_DEFINE_ENUM()s
      SUNRPC: Per-rpc_clnt task PIDs
      NFS: Instrument i_size_write()
      xprtrdma: Provide a buffer to pad Write chunks of unaligned length
      xprtrdma: Remove rpcrdma_ep::re_implicit_roundup
      SUNRPC: Tracepoints should display tk_pid and cl_clid as a fixed-size field
      SUNRPC: Use BIT() macro in rpc_show_xprt_state()
      NFS: Replace dprintk callsites in nfs_readpage(s)
      SUNRPC: Trace calls to .rpc_call_done
      NFS: Remove --> and <-- dprintk call sites
      NFS: Move generic FS show macros to global header
      NFS: Move NFS protocol display macros to global header

Dave Wysochanski (2):
      NFS: Fix WARN_ON due to unionization of nfs_inode.nrequests
      NFS: Add offset to nfs_aop_readahead tracepoint

Jonathan Corbet (1):
      nfs: remove unused header <linux/pnfs_osd_xdr.h>

Olga Kornievskaia (7):
      NFSv4.2 add tracepoint to SEEK
      NFSv4.2 add tracepoints to FALLOCATE and DEALLOCATE
      NFSv4.2 add tracepoint to COPY
      NFSv4.2 add tracepoint to CLONE
      NFSv4.2 add tracepoint to CB_OFFLOAD
      NFSv4.2 add tracepoint to COPY_NOTIFY
      NFSv4.2 add tracepoint to OFFLOAD_CANCEL

Scott Mayhew (1):
      nfs4: take a reference on the nfs_client when running FREE_STATEID

Thiago Rafael Becker (1):
      sunrpc: remove unnecessary test in rpc_task_set_client()

Trond Myklebust (37):
      NFS: Label the dentry with a verifier in nfs_link(), nfs_symlink()
      NFS: Label the dentry with a verifier in nfs_rmdir() and nfs_unlink()
      NFS: Fix up nfs_ctx_key_to_expire()
      SUNRPC: Partial revert of commit 6f9f17287e78
      SUNRPC: Add cond_resched() at the appropriate point in __rpc_execute()
      SUNRPC: Remove WQ_HIGHPRI from xprtiod
      SUNRPC: Remove unnecessary memory barriers
      SUNRPC: xprt_clear_locked() only needs release memory semantics
      NFS: Fix a few more clear_bit() instances that need release semantics
      NFSv4: Retrieve ACCESS on open if we're not using NFS4_CREATE_EXCLUSIVE
      NFS: Default change_attr_type to NFS4_CHANGE_TYPE_IS_UNDEFINED
      NFS: Don't set NFS_INO_DATA_INVAL_DEFER and NFS_INO_INVALID_DATA
      NFS: Ignore the directory size when marking for revalidation
      NFS: Fix up nfs_readdir_inode_mapping_valid()
      NFS: Further optimisations for 'ls -l'
      NFS: Fix dentry verifier races
      NFS: Do not flush the readdir cache in nfs_dentry_iput()
      NFS: Remove unnecessary page cache invalidations
      NFS: Fix deadlocks in nfs_scan_commit_list()
      NFS: Fix up commit deadlocks
      NFS: Fix an Oops in pnfs_mark_request_commit()
      NFSv4: Fixes for nfs4_inode_return_delegation()
      NFS: Save some space in the inode
      NFS: Remove redundant call to __set_page_dirty_nobuffers
      NFSv4: Fix a regression in nfs_set_open_stateid_locked()
      SUNRPC: Replace use of socket sk_callback_lock with sock_lock
      SUNRPC: Clean up xs_tcp_setup_sock()
      SUNRPC: Fix races when closing the socket
      SUNRPC: Prevent immediate close+reconnect
      NFS: Don't trace an uninitialised value
      NFSv4: Ensure decode_compound_hdr() sanity checks the tag
      NFSv4: Fix potential Oops in decode_op_map()
      NFSv4: Remove unnecessary 'minor version' check
      NFS: Don't allocate nfs_fattr on the stack in __nfs42_ssc_open()
      NFSv4.2: alloc_file_pseudo() takes an open flag, not an f_mode
      NFS: Always initialise fattr->label in nfs_fattr_alloc()
      NFSv4: Sanity check the parameters in nfs41_update_target_slotid()

 fs/lockd/clntproc.c                       |   3 -
 fs/lockd/svc4proc.c                       |   2 -
 fs/lockd/svcproc.c                        |   2 -
 fs/nfs/callback_proc.c                    |   3 +
 fs/nfs/client.c                           |  39 +-
 fs/nfs/delegation.c                       |  10 +-
 fs/nfs/dir.c                              | 119 ++--
 fs/nfs/direct.c                           |   2 +-
 fs/nfs/export.c                           |  44 +-
 fs/nfs/filelayout/filelayout.c            |   2 -
 fs/nfs/flexfilelayout/flexfilelayout.c    |   2 -
 fs/nfs/flexfilelayout/flexfilelayoutdev.c |   4 +-
 fs/nfs/getroot.c                          |  21 +-
 fs/nfs/inode.c                            | 130 +++--
 fs/nfs/internal.h                         |  12 +-
 fs/nfs/namespace.c                        |   3 +-
 fs/nfs/nfs3proc.c                         |  10 +-
 fs/nfs/nfs3xdr.c                          |   2 +-
 fs/nfs/nfs42proc.c                        |   9 +
 fs/nfs/nfs4_fs.h                          |   4 +-
 fs/nfs/nfs4client.c                       |  65 +--
 fs/nfs/nfs4file.c                         |  14 +-
 fs/nfs/nfs4idmap.c                        |   2 +-
 fs/nfs/nfs4proc.c                         | 289 ++++------
 fs/nfs/nfs4session.c                      |  12 +-
 fs/nfs/nfs4session.h                      |   1 +
 fs/nfs/nfs4state.c                        |   5 +-
 fs/nfs/nfs4trace.h                        | 920 ++++++++++++++++--------------
 fs/nfs/nfs4xdr.c                          |  81 ++-
 fs/nfs/nfstrace.h                         | 467 +++++++--------
 fs/nfs/pagelist.c                         |  13 +-
 fs/nfs/pnfs.h                             |   6 +-
 fs/nfs/pnfs_nfs.c                         |   6 +-
 fs/nfs/proc.c                             |  16 +-
 fs/nfs/read.c                             |  11 +-
 fs/nfs/super.c                            |   7 +-
 fs/nfs/write.c                            |  73 +--
 fs/nfsd/trace.h                           |   1 +
 include/linux/nfs4.h                      |   4 +
 include/linux/nfs_fs.h                    |  77 ++-
 include/linux/nfs_xdr.h                   |  16 +-
 include/linux/pnfs_osd_xdr.h              | 317 ----------
 include/linux/sunrpc/clnt.h               |   1 +
 include/linux/sunrpc/sched.h              |  16 +-
 include/trace/events/fs.h                 | 122 ++++
 include/trace/events/nfs.h                | 375 ++++++++++++
 include/trace/events/rpcgss.h             |  18 +-
 include/trace/events/rpcrdma.h            |  55 +-
 include/trace/events/sunrpc.h             |  99 ++--
 include/trace/events/sunrpc_base.h        |  18 +
 net/sunrpc/clnt.c                         |  33 +-
 net/sunrpc/sched.c                        |  20 +-
 net/sunrpc/sysfs.c                        |  12 +-
 net/sunrpc/xprt.c                         |  41 +-
 net/sunrpc/xprtrdma/frwr_ops.c            |  48 +-
 net/sunrpc/xprtrdma/rpc_rdma.c            |  23 +-
 net/sunrpc/xprtrdma/verbs.c               |   3 +-
 net/sunrpc/xprtrdma/xprt_rdma.h           |   6 +-
 net/sunrpc/xprtsock.c                     | 109 ++--
 59 files changed, 2011 insertions(+), 1814 deletions(-)
 delete mode 100644 include/linux/pnfs_osd_xdr.h
 create mode 100644 include/trace/events/fs.h
 create mode 100644 include/trace/events/nfs.h
 create mode 100644 include/trace/events/sunrpc_base.h

Comments

pr-tracker-bot@kernel.org Nov. 11, 2021, 1:07 a.m. UTC | #1
The pull request you sent on Wed, 10 Nov 2021 15:37:39 +0000:

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

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/2ec20f489591962db8ff1718aa6055c08d88d0cc

Thank you!