mbox series

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

Message ID 1fc9f9e7e1e2253e6fe6ce940bbb421ba84f7299.camel@netapp.com (mailing list archive)
State New, archived
Headers show
Series [GIT,PULL] Please pull NFS client updates for Linux 5.6 | expand

Pull-request

git://git.linux-nfs.org/projects/anna/linux-nfs.git tags/nfs-for-5.6-1

Message

Schumaker, Anna Feb. 6, 2020, 10:36 p.m. UTC
Hi Linus,

The following changes since commit 95e20af9fb9ce572129b930967dcb762a318c588:

  Merge tag 'nfs-for-5.5-2' of git://git.linux-nfs.org/projects/anna/linux-nfs
(2020-01-14 13:33:14 -0800)

are available in the Git repository at:

  git://git.linux-nfs.org/projects/anna/linux-nfs.git tags/nfs-for-5.6-1

for you to fetch changes up to 7dc2993a9e51dd2eee955944efec65bef90265b7:

  NFSv4.0: nfs4_do_fsinfo() should not do implicit lease renewals (2020-02-04
12:27:55 -0500)

----------------------------------------------------------------
Stable bugfixes:
- Fix memory leaks and corruption in readdir # v2.6.37+
- Directory page cache needs to be locked when read # v2.6.37+

New features:
- Convert NFS to use the new mount API
- Add "softreval" mount option to let clients use cache if server goes down
- Add a config option to compile without UDP support
- Limit the number of inactive delegations the client can cache at once
- Improved readdir concurrency using iterate_shared()

Other bugfixes and cleanups:
- More 64-bit time conversions
- Add additional diagnostic tracepoints
- Check for holes in swapfiles, and add dependency on CONFIG_SWAP
- Various xprtrdma cleanups to prepare for 5.7's changes
- Several fixes for NFS writeback and commit handling
- Fix acls over krb5i/krb5p mounts
- Recover from premature loss of openstateids
- Fix NFS v3 chacl and chmod bug
- Compare creds using cred_fscmp()
- Use kmemdup_nul() in more places
- Optimize readdir cache page invalidation
- Lease renewal and recovery fixes

Thanks,
Anna
----------------------------------------------------------------
Al Viro (15):
      saner calling conventions for nfs_fs_mount_common()
      nfs: stash server into struct nfs_mount_info
      nfs: lift setting mount_info from nfs4_remote{,_referral}_mount
      nfs: fold nfs4_remote_fs_type and nfs4_remote_referral_fs_type
      nfs: don't bother setting/restoring export_path around do_nfs_root_mount()
      nfs4: fold nfs_do_root_mount/nfs_follow_remote_path
      nfs: lift setting mount_info from nfs_xdev_mount()
      nfs: stash nfs_subversion reference into nfs_mount_info
      nfs: don't bother passing nfs_subversion to ->try_mount() and
nfs_fs_mount_common()
      nfs: merge xdev and remote file_system_type
      nfs: unexport nfs_fs_mount_common()
      nfs: don't pass nfs_subversion to ->create_server()
      nfs: get rid of mount_info ->fill_super()
      nfs_clone_sb_security(): simplify the check for server bogosity
      nfs: get rid of ->set_security()

Alex Shi (1):
      NFS: remove unused macros

Arnd Bergmann (5):
      sunrpc: convert to time64_t for expiry
      nfs: use timespec64 in nfs_fattr
      nfs: fscache: use timespec64 in inode auxdata
      nfs: remove timespec from xdr_encode_nfstime
      nfs: encode nfsv4 timestamps as 64-bit

Chuck Lever (13):
      SUNRPC: Capture signalled RPC tasks
      NFS: Introduce trace events triggered by page writeback errors
      NFS4: Report callback authentication errors
      SUNRPC: call_connect_status should handle -EPROTO
      xprtrdma: Eliminate ri_max_send_sges
      xprtrdma: Make sendctx queue lifetime the same as connection lifetime
      xprtrdma: Refactor initialization of ep->rep_max_requests
      xprtrdma: Eliminate per-transport "max pages"
      xprtrdma: Refactor frwr_is_supported
      xprtrdma: Allocate and map transport header buffers at connect time
      xprtrdma: Destroy rpcrdma_rep when Receive is flushed
      xprtrdma: Destroy reps from previous connection instance
      xprtrdma: DMA map rr_rdma_buf as each rpcrdma_rep is created

Colin Ian King (1):
      NFS: Add missing null check for failed allocation

Dai Ngo (1):
      nfs: optimise readdir cache page invalidation

David Howells (9):
      NFS: Move mount parameterisation bits into their own file
      NFS: Constify mount argument match tables
      NFS: Rename struct nfs_parsed_mount_data to struct nfs_fs_context
      NFS: Split nfs_parse_mount_options()
      NFS: Deindent nfs_fs_context_parse_option()
      NFS: Add a small buffer in nfs_fs_context to avoid string dup
      NFS: Do some tidying of the parsing code
      NFS: Add fs_context support.
      nfs: Return EINVAL rather than ERANGE for mount parse errors

Geert Uytterhoeven (1):
      nfs: NFS_SWAP should depend on SWAP

Julia Lawall (1):
      SUNRPC: constify copied structure

Murphy Zhou (1):
      fs/nfs, swapon: check holes in swapfile

Olga Kornievskaia (3):
      NFSv4 fix acl retrieval over krb5i/krb5p mounts
      NFSv4.x recover from pre-mature loss of openstateid
      NFS: allow deprecation of NFS UDP protocol

Robert Milkowski (2):
      NFSv4: try lease recovery on NFS4ERR_EXPIRED
      NFSv4.0: nfs4_do_fsinfo() should not do implicit lease renewals

Scott Mayhew (4):
      NFS: rename nfs_fs_context pointer arg in a few functions
      NFS: Convert mount option parsing to use functionality from fs_parser.h
      NFS: Additional refactoring for fs_context conversion
      NFS: Attach supplementary error information to fs_context.

Su Yanjun (1):
      NFSv3: FIx bug when using chacl and chmod to change acl

Trond Myklebust (32):
      NFS: Revalidate the file size on a fatal write error
      NFS: Revalidate the file mapping on all fatal writeback errors
      SUNRPC: Remove broken gss_mech_list_pseudoflavors()
      NFS: Fix up fsync() when the server rebooted
      NFS/pnfs: Fix pnfs_generic_prepare_to_resend_writes()
      NFSv4: Improve read/write/commit tracing
      NFS: Fix fix of show_nfs_errors
      pNFS/flexfiles: Record resend attempts on I/O failure
      NFS: Clean up generic file read tracepoints
      NFS: Clean up generic writeback tracepoints
      NFS: Clean up generic file commit tracepoint
      pNFS/flexfiles: Add tracing for layout errors
      NFS: Improve tracing of permission calls
      NFS: When resending after a short write, reset the reply count to zero
      NFS: Fix nfs_direct_write_reschedule_io()
      NFS: Trust cached access if we've already revalidated the inode once
      NFS: Add mount option 'softreval'
      NFS: Add softreval behaviour to nfs_lookup_revalidate()
      NFSv4: pnfs_roc() must use cred_fscmp() to compare creds
      NFS: nfs_access_get_cached_rcu() should use cred_fscmp()
      NFS: nfs_find_open_context() should use cred_fscmp()
      NFSv4: nfs_inode_evict_delegation() should set NFS_DELEGATION_RETURNING
      NFS: Clear NFS_DELEGATION_RETURN_IF_CLOSED when the delegation is returned
      NFSv4: Try to return the delegation immediately when marked for return on
close
      NFSv4: Add accounting for the number of active delegations held
      NFSv4: Limit the total number of cached delegations
      NFS: Replace various occurrences of kstrndup() with kmemdup_nul()
      SUNRPC: Use kmemdup_nul() in rpc_parse_scope_id()
      NFS: Fix memory leaks and corruption in readdir
      NFS: Directory page cache pages need to be locked when read
      NFS: Use kmemdup_nul() in nfs_readdir_make_qstr()
      NFS: Switch readdir to using iterate_shared()

Wenwen Wang (1):
      NFS: Fix memory leaks

zhengbin (2):
      NFS4: Remove unneeded semicolon
      NFS: move dprintk after nfs_alloc_fattr in nfs3_proc_lookup

 fs/nfs/Kconfig                         |   11 +-
 fs/nfs/Makefile                        |    2 +-
 fs/nfs/callback_xdr.c                  |   11 +-
 fs/nfs/client.c                        |   84 ++--
 fs/nfs/delegation.c                    |   80 +++-
 fs/nfs/delegation.h                    |    1 +
 fs/nfs/dir.c                           |   83 ++--
 fs/nfs/direct.c                        |    7 +-
 fs/nfs/dns_resolve.c                   |    2 +-
 fs/nfs/file.c                          |   49 ++-
 fs/nfs/flexfilelayout/flexfilelayout.c |   34 +-
 fs/nfs/fs_context.c                    | 1437
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 fs/nfs/fscache-index.c                 |    6 +-
 fs/nfs/fscache.c                       |   20 +-
 fs/nfs/fscache.h                       |    8 +-
 fs/nfs/getroot.c                       |   73 +--
 fs/nfs/inode.c                         |   10 +-
 fs/nfs/internal.h                      |  143 +++---
 fs/nfs/mount_clnt.c                    |    2 -
 fs/nfs/namespace.c                     |  146 +++---
 fs/nfs/nfs2xdr.c                       |   12 +-
 fs/nfs/nfs3_fs.h                       |    2 +-
 fs/nfs/nfs3client.c                    |    6 +-
 fs/nfs/nfs3proc.c                      |   28 +-
 fs/nfs/nfs3xdr.c                       |    5 +-
 fs/nfs/nfs42proc.c                     |   40 +-
 fs/nfs/nfs4_fs.h                       |   19 +-
 fs/nfs/nfs4client.c                    |   99 ++---
 fs/nfs/nfs4file.c                      |    1 +
 fs/nfs/nfs4namespace.c                 |  298 +++++++------
 fs/nfs/nfs4proc.c                      |  104 +++--
 fs/nfs/nfs4renewd.c                    |    5 +-
 fs/nfs/nfs4state.c                     |    7 +-
 fs/nfs/nfs4super.c                     |  257 ++++-------
 fs/nfs/nfs4trace.c                     |    4 +
 fs/nfs/nfs4trace.h                     |  237 ++++++++--
 fs/nfs/nfs4xdr.c                       |   17 +-
 fs/nfs/nfstrace.h                      |  279 +++++++++---
 fs/nfs/pnfs.c                          |    4 +-
 fs/nfs/pnfs.h                          |    8 +-
 fs/nfs/pnfs_nfs.c                      |    7 +-
 fs/nfs/proc.c                          |   24 +-
 fs/nfs/read.c                          |    7 +-
 fs/nfs/super.c                         | 2218 ++++++++++++---------------------
-----------------------------------------------------------
 fs/nfs/write.c                         |   32 +-
 include/linux/nfs_fs.h                 |    3 +
 include/linux/nfs_fs_sb.h              |    1 +
 include/linux/nfs_xdr.h                |   11 +-
 include/linux/sunrpc/auth.h            |    2 -
 include/linux/sunrpc/gss_api.h         |    7 +-
 include/linux/sunrpc/gss_krb5.h        |    2 +-
 include/trace/events/rpcrdma.h         |   12 +-
 include/trace/events/sunrpc.h          |    1 +
 net/sunrpc/addr.c                      |    2 +-
 net/sunrpc/auth.c                      |   49 ---
 net/sunrpc/auth_gss/auth_gss.c         |    1 -
 net/sunrpc/auth_gss/gss_krb5_mech.c    |   12 +-
 net/sunrpc/auth_gss/gss_krb5_seal.c    |    8 +-
 net/sunrpc/auth_gss/gss_krb5_unseal.c  |    6 +-
 net/sunrpc/auth_gss/gss_krb5_wrap.c    |   16 +-
 net/sunrpc/auth_gss/gss_mech_switch.c  |   31 +-
 net/sunrpc/auth_gss/svcauth_gss.c      |    4 +-
 net/sunrpc/clnt.c                      |    1 +
 net/sunrpc/sched.c                     |    4 +-
 net/sunrpc/xdr.c                       |    2 +-
 net/sunrpc/xprtrdma/backchannel.c      |    4 +
 net/sunrpc/xprtrdma/frwr_ops.c         |  104 ++---
 net/sunrpc/xprtrdma/rpc_rdma.c         |   20 +-
 net/sunrpc/xprtrdma/transport.c        |   17 +-
 net/sunrpc/xprtrdma/verbs.c            |  213 +++++----
 net/sunrpc/xprtrdma/xprt_rdma.h        |   14 +-
 71 files changed, 3404 insertions(+), 3072 deletions(-)
 create mode 100644 fs/nfs/fs_context.c