mbox series

[GIT,PULL] Please pull NFS client updates for Linux 5.1

Message ID 96ed9b50bba1d5d2929f42f41109e122d6aac5e9.camel@hammerspace.com (mailing list archive)
State New, archived
Headers show
Series [GIT,PULL] Please pull NFS client updates for Linux 5.1 | expand

Pull-request

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

Message

Trond Myklebust March 12, 2019, 11:46 a.m. UTC
Hi Linus,

The following changes since commit 2137397c92aec3713fa10be3c9b830f9a1674e60:

  Merge tag 'sound-5.0' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound (2019-02-20 09:42:52 -0800)

are available in the Git repository at:

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

for you to fetch changes up to 4d6c671ace569d4b0d3f8d92ab3aef18a5d166bc:

  SUNRPC: Take the transport send lock before binding+connecting (2019-03-10 14:08:19 -0400)

----------------------------------------------------------------
NFS client updates for Linux 5.1

Highlights include:

Stable fixes:
- Fixes for NFS I/O request leakages
- Fix error handling paths in the NFS I/O recoalescing code
- Reinitialise NFSv4.1 sequence results before retransmitting a request
- Fix a soft lockup in the delegation recovery code
- Bulk destroy of layouts needs to be safe w.r.t. umount
- Prevent thundering herd issues when the SUNRPC socket is not connected
- Respect RPC call timeouts when retrying transmission

Features:
- Convert rpc auth layer to use xdr_streams
- Config option to disable insecure RPCSEC_GSS crypto types
- Reduce size of RPC receive buffers
- Readdirplus optimization by cache mechanism
- Convert SUNRPC socket send code to use iov_iter()
- SUNRPC micro-optimisations to avoid indirect calls
- Add support for the pNFS LAYOUTERROR operation and use it with the
  pNFS/flexfiles driver
- Add trace events to report non-zero NFS status codes
- Various removals of unnecessary dprintks

Bugfixes and cleanups:
- Fix a number of sparse warnings and documentation format warnings
- Fix nfs_parse_devname to not modify it's argument
- Fix potential corruption of page being written through pNFS/blocks
- fix xfstest generic/099 failures on nfsv3
- Avoid NFSv4.1 "false retries" when RPC calls are interrupted
- Abort I/O early if the pNFS/flexfiles layout segment was invalidated
- Avoid unnecessary pNFS/flexfiles layout invalidations

----------------------------------------------------------------
Anna Schumaker (1):
      NFS: Add missing encode / decode sequence_maxsz to v4.2 operations

Chuck Lever (23):
      xprtrdma: Fix sparse warnings
      xprtrdma: Check inline size before providing a Write chunk
      xprtrdma: Reduce the doorbell rate (Receive)
      SUNRPC: Display symbolic flag names in RPC trace events
      SUNRPC: Add xdr_stream::rqst field
      SUNRPC: Add XDR overflow trace event
      SUNRPC: Add trace event that reports reply page vector alignment
      NFS: Remove print_overflow_msg()
      NFS: Add trace events to report non-zero NFS status codes
      SUNRPC: Remove some dprintk() call sites from auth functions
      SUNRPC: Remove rpc_xprt::tsh_size
      SUNRPC: Add build option to disable support for insecure enctypes
      SUNRPC: Use struct xdr_stream when constructing RPC Call header
      SUNRPC: Clean up rpc_verify_header()
      SUNRPC: Use struct xdr_stream when decoding RPC Reply header
      SUNRPC: Introduce trace points in rpc_auth_gss.ko
      SUNRPC: Remove xdr_buf_trim()
      SUNRPC: Add SPDX IDs to some net/sunrpc/auth_gss/ files
      SUNRPC: Introduce rpc_prepare_reply_pages()
      NFS: Account for XDR pad of buf->pages
      SUNRPC: Make AUTH_SYS and AUTH_NULL set au_verfsize
      SUNRPC: Add rpc_auth::au_ralign field
      SUNRPC: Use au_rslack when computing reply buffer size

Eric W. Biederman (1):
      fs/nfs: Fix nfs_parse_devname to not modify it's argument

Julia Lawall (1):
      NFS: drop useless LIST_HEAD

Kazuo Ito (2):
      pNFS: Fix potential corruption of page being written
      pNFS: Avoid read/modify/write when it is not necessary

NeilBrown (1):
      SUNRPC: remove pointless test in unx_match()

Trond Myklebust (58):
      NFS: Fix I/O request leakages
      NFS: Fix an I/O request leakage in nfs_do_recoalesce
      NFS: Don't recoalesce on error in nfs_pageio_complete_mirror()
      NFS: Clean up list moves of struct nfs_page
      NFS: Pass error information to the pgio error cleanup routine
      NFS: Ensure NFS writeback allocations don't recurse back into NFS.
      NFS: EINTR is also a fatal error.
      NFS: ENOMEM should also be a fatal error.
      NFS: Fix up documentation warnings
      NFS: Fix sparse annotations for nfs_set_open_stateid_locked()
      SUNRPC: Set memalloc_nofs_save() on all rpciod/xprtiod jobs
      SUNRPC: Use poll() to fix up the socket requeue races
      SUNRPC: Ensure rq_bytes_sent is reset before request transmission
      SUNRPC: Don't reset the stream record info when the receive worker is running
      SUNRPC: Handle zero length fragments correctly
      SUNRPC: Don't suppress socket errors when a message read completes
      SUNRPC: Initiate a connection close on an ESHUTDOWN error in stream receive
      SUNRPC: Convert xs_send_kvec() to use iov_iter_kvec()
      SUNRPC: Convert socket page send code to use iov_iter()
      SUNRPC: Further cleanups of xs_sendpages()
      SUNRPC: Remove the redundant 'zerocopy' argument to xs_sendpages()
      NFSv4.1: Avoid false retries when RPC calls are interrupted
      NFS: Fix a soft lockup in the delegation recovery code
      NFS/pnfs: Bulk destroy of layouts needs to be safe w.r.t. umount
      Merge tag 'nfs-rdma-for-5.1-1' of git://git.linux-nfs.org/projects/anna/linux-nfs
      SUNRPC: Fix an Oops in udp_poll()
      NFSv4.1: Reinitialise sequence results before retransmitting a request
      NFSv4.1: Don't process the sequence op more than once.
      NFSv4/flexfiles: Fix invalid deref in FF_LAYOUT_DEVID_NODE()
      NFS/flexfiles: Fix up sparse RCU annotations
      NFSv4/pnfs: Fix barriers in nfs4_mark_deviceid_unavailable()
      NFSv4/flexfiles: Abort I/O early if the layout segment was invalidated
      NFSv4.2: Add client support for the generic 'layouterror' RPC call
      NFS/flexfiles: Send LAYOUTERROR when failing over mirrored reads
      NFSv4: Handle early exit in layoutget by returning an error
      NFS/flexfiles: refactor calls to fs4_ff_layout_prepare_ds()
      NFS/flexfiles: Avoid unnecessary layout invalidations
      NFS/flexfiles: Remove bogus checks for invalid deviceids
      NFS/flexfiles: Don't invalidate DS deviceids for being unresponsive
      NFS/flexfiles: Speed up read failover when DSes are down
      NFS/flexfiles: Simplify nfs4_ff_layout_select_ds_fh()
      NFS/flexfiles: Simplify nfs4_ff_find_or_create_ds_client()
      NFS/flexfiles: Simplify ff_layout_get_ds_cred()
      NFS/flexfile: Simplify nfs4_ff_layout_ds_version()
      NFS/flexfile: Simplify nfs4_ff_layout_select_ds_stateid()
      NFS/flexfiles: Remove dead code in ff_layout_mirror_valid()
      NFS/flexfiles: Clean up mirror DS initialisation
      SUNRPC: Convert remaining GFP_NOIO, and GFP_NOWAIT sites in sunrpc
      NFSv4.1: Bump the default callback session slot count to 16
      SUNRPC: Allow dynamic allocation of back channel slots
      SUNRPC: Prevent thundering herd when the socket is not connected
      SUNRPC: Fix up RPC back channel transmission
      SUNRPC: Respect RPC call timeouts when retrying transmission
      SUNRPC: Clean up
      SUNRPC: Remove redundant calls to RPC_IS_QUEUED()
      SUNRPC: Check whether the task was transmitted before rebind/reconnect
      SUNRPC: Micro-optimise when the task is known not to be sleeping
      SUNRPC: Take the transport send lock before binding+connecting

ZhangXiaoxu (1):
      nfs: fix xfstest generic/099 failed on nfsv3

luanshi (1):
      NFS: readdirplus optimization by cache mechanism

zhangliguang (2):
      NFS: Remove redundant semicolon
      NFS: Fix typo in comments of nfs_readdir_alloc_pages()

 fs/lockd/clnt4xdr.c                        |  14 -
 fs/lockd/clntxdr.c                         |  14 -
 fs/nfs/callback_xdr.c                      |  64 ++-
 fs/nfs/delegation.c                        |  22 +-
 fs/nfs/delegation.h                        |   1 +
 fs/nfs/dir.c                               |  98 ++++-
 fs/nfs/direct.c                            |   7 +-
 fs/nfs/file.c                              |  44 +-
 fs/nfs/flexfilelayout/flexfilelayout.c     | 225 +++++++---
 fs/nfs/flexfilelayout/flexfilelayout.h     |  75 ++--
 fs/nfs/flexfilelayout/flexfilelayoutdev.c  | 161 +++----
 fs/nfs/inode.c                             |  33 +-
 fs/nfs/internal.h                          |   5 +-
 fs/nfs/io.c                                |  12 +-
 fs/nfs/namespace.c                         |   8 +-
 fs/nfs/nfs2xdr.c                           | 124 ++----
 fs/nfs/nfs3acl.c                           |   2 -
 fs/nfs/nfs3xdr.c                           | 209 +++------
 fs/nfs/nfs42.h                             |   3 +
 fs/nfs/nfs42proc.c                         | 164 +++++++
 fs/nfs/nfs42xdr.c                          | 130 +++++-
 fs/nfs/nfs4client.c                        |  33 +-
 fs/nfs/nfs4namespace.c                     |   5 +-
 fs/nfs/nfs4proc.c                          | 138 +++---
 fs/nfs/nfs4session.c                       |   7 +-
 fs/nfs/nfs4session.h                       |   7 +-
 fs/nfs/nfs4state.c                         |   1 +
 fs/nfs/nfs4trace.h                         |  25 ++
 fs/nfs/nfs4xdr.c                           | 530 +++++++----------------
 fs/nfs/nfstrace.c                          |   1 +
 fs/nfs/nfstrace.h                          |  85 ++++
 fs/nfs/pagelist.c                          |  47 +-
 fs/nfs/pnfs.c                              |  33 +-
 fs/nfs/pnfs.h                              |   2 +
 fs/nfs/pnfs_dev.c                          |  13 +
 fs/nfs/read.c                              |   2 +-
 fs/nfs/super.c                             |   2 +-
 fs/nfs/unlink.c                            |   8 +-
 fs/nfs/write.c                             |  19 +-
 fs/nfsd/nfs4callback.c                     |  13 -
 include/linux/nfs4.h                       |   1 +
 include/linux/nfs_fs_sb.h                  |   1 +
 include/linux/nfs_page.h                   |  10 +
 include/linux/nfs_xdr.h                    |  37 +-
 include/linux/sunrpc/auth.h                |  44 +-
 include/linux/sunrpc/clnt.h                |   3 +
 include/linux/sunrpc/gss_krb5_enctypes.h   |  42 +-
 include/linux/sunrpc/sched.h               |   9 +
 include/linux/sunrpc/xdr.h                 |  23 +-
 include/linux/sunrpc/xprt.h                |   7 -
 include/linux/sunrpc/xprtsock.h            |   1 +
 include/trace/events/rpcgss.h              | 361 ++++++++++++++++
 include/trace/events/rpcrdma.h             |  12 +-
 include/trace/events/sunrpc.h              | 361 +++++++++++++++-
 net/sunrpc/Kconfig                         |  16 +
 net/sunrpc/auth.c                          | 136 +++---
 net/sunrpc/auth_gss/Makefile               |   2 +-
 net/sunrpc/auth_gss/auth_gss.c             | 553 ++++++++++++------------
 net/sunrpc/auth_gss/gss_krb5_mech.c        |  29 +-
 net/sunrpc/auth_gss/gss_krb5_wrap.c        |   8 +-
 net/sunrpc/auth_gss/gss_mech_switch.c      |  27 +-
 net/sunrpc/auth_gss/gss_rpc_upcall.c       |  15 +-
 net/sunrpc/auth_gss/gss_rpc_upcall.h       |  16 +-
 net/sunrpc/auth_gss/gss_rpc_xdr.c          |  15 +-
 net/sunrpc/auth_gss/gss_rpc_xdr.h          |  17 +-
 net/sunrpc/auth_gss/svcauth_gss.c          |   3 +-
 net/sunrpc/auth_gss/trace.c                |  11 +
 net/sunrpc/auth_null.c                     |  56 +--
 net/sunrpc/auth_unix.c                     | 122 +++---
 net/sunrpc/backchannel_rqst.c              |  42 +-
 net/sunrpc/clnt.c                          | 660 ++++++++++++++++-------------
 net/sunrpc/sched.c                         |  17 +-
 net/sunrpc/svc.c                           |  19 +-
 net/sunrpc/xdr.c                           | 121 +++---
 net/sunrpc/xprt.c                          |  23 +-
 net/sunrpc/xprtrdma/backchannel.c          |   3 +-
 net/sunrpc/xprtrdma/frwr_ops.c             |   4 +-
 net/sunrpc/xprtrdma/rpc_rdma.c             |  22 +-
 net/sunrpc/xprtrdma/svc_rdma_backchannel.c |   1 -
 net/sunrpc/xprtrdma/transport.c            |   2 -
 net/sunrpc/xprtrdma/verbs.c                |   2 +
 net/sunrpc/xprtrdma/xprt_rdma.h            |  12 +-
 net/sunrpc/xprtsock.c                      | 317 ++++++++------
 83 files changed, 3366 insertions(+), 2203 deletions(-)
 create mode 100644 include/trace/events/rpcgss.h
 create mode 100644 net/sunrpc/auth_gss/trace.c

Comments

pr-tracker-bot@kernel.org March 12, 2019, 10:20 p.m. UTC | #1
The pull request you sent on Tue, 12 Mar 2019 11:46:27 +0000:

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

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/1fbf3e48123d701584bc75ccac67ef2fe412ac4c

Thank you!