All of lore.kernel.org
 help / color / mirror / Atom feed
From: Trond Myklebust <trondmy@hammerspace.com>
To: "torvalds@linux-foundation.org" <torvalds@linux-foundation.org>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-nfs@vger.kernel.org" <linux-nfs@vger.kernel.org>
Subject: [GIT PULL] Please pull NFS client updates for Linux 5.1
Date: Tue, 12 Mar 2019 11:46:27 +0000	[thread overview]
Message-ID: <96ed9b50bba1d5d2929f42f41109e122d6aac5e9.camel@hammerspace.com> (raw)

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
-- 
Trond Myklebust
Linux NFS client maintainer, Hammerspace
trond.myklebust@hammerspace.com



             reply	other threads:[~2019-03-12 11:46 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-12 11:46 Trond Myklebust [this message]
2019-03-12 22:20 ` [GIT PULL] Please pull NFS client updates for Linux 5.1 pr-tracker-bot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=96ed9b50bba1d5d2929f42f41109e122d6aac5e9.camel@hammerspace.com \
    --to=trondmy@hammerspace.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-nfs@vger.kernel.org \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.