[GIT PULL] Please pull NFS client updates for 4.8

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Linus,

The following changes since commit 92d21ac74a9e3c09b0b01c764e530657e4c85c49:

  Linux 4.7-rc7 (2016-07-10 20:24:59 -0700)

are available in the git repository at:

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

for you to fetch changes up to 944171cbf499d3445c749f7c13c46de0a564a905:

  pNFS: Actively set attributes as invalid if LAYOUTCOMMIT is outstanding (2016-07-28 14:49:08 -0400)

Cheers
  Trond

----------------------------------------------------------------
NFS client updates for Linux 4.8

Highlights include:

Stable bugfixes:
 - nfs: don't create zero-length requests
 - Several LAYOUTGET bugfixes

Features:
 - Several performance related features
   - More aggressive caching when we can rely on close-to-open cache
     consistency
   - Remove serialisation of O_DIRECT reads and writes
   - Optimise several code paths to not flush to disk unnecessarily. However
     allow for the idiosyncracies of pNFS for those layout types that need
     to issue a LAYOUTCOMMIT before the metadata can be updated on the server.
   - SUNRPC updates to the client data receive path
 - pNFS/SCSI support RH/Fedora dm-mpath device nodes
 - pNFS files/flexfiles can now use unprivileged ports when the generic NFS
   mount options allow it.

Bugfixes:
 - Don't use RDMA direct data placement together with data integrity or
   privacy security flavours
 - Remove the RDMA ALLPHYSICAL memory registration mode as it has potential
   security holes.
 - Several layout recall fixes to improve NFSv4.1 protocol compliance.
 - Fix an Oops in the pNFS files and flexfiles connection setup to the DS
 - Allow retry of operations that used a returned delegation stateid
 - Don't mark the inode as revalidated if a LAYOUTCOMMIT is outstanding
 - Fix writeback races in nfs4_copy_range() and nfs42_proc_deallocate()

----------------------------------------------------------------
Artem Savkov (1):
      Fix NULL pointer dereference in bl_free_device().

Benjamin Coddington (3):
      pnfs/blocklayout: put deviceid node after releasing bl_ext_lock
      nfs: don't create zero-length requests
      pNFS: Actively set attributes as invalid if LAYOUTCOMMIT is outstanding

Christoph Hellwig (3):
      nfs/blocklayout: use proper fmode for opening block devices
      nfs/blocklayout: refactor open-by-wwn
      nfs/blocklayout: support RH/Fedora dm-mpath device nodes

Chuck Lever (24):
      xprtrdma: Remove FMRs from the unmap list after unmapping
      xprtrdma: Create common scatterlist fields in rpcrdma_mw
      xprtrdma: Move init and release helpers
      xprtrdma: Rename fields in rpcrdma_fmr
      xprtrdma: Use scatterlist for DMA mapping and unmapping under FMR
      xprtrdma: Refactor MR recovery work queues
      xprtrdma: Do not leak an MW during a DMA map failure
      xprtrdma: Remove ALLPHYSICAL memory registration mode
      xprtrdma: Remove rpcrdma_map_one() and friends
      xprtrdma: Clean up device capability detection
      xprtrdma: Reply buffer exhaustion can be catastrophic
      xprtrdma: Honor ->send_request API contract
      xprtrdma: Chunk list encoders must not return zero
      xprtrdma: Allocate MRs on demand
      xprtrdma: Release orphaned MRs immediately
      xprtrdma: Place registered MWs on a per-req list
      xprtrdma: Chunk list encoders no longer share one rl_segments array
      xprtrdma: rpcrdma_inline_fixup() overruns the receive page list
      xprtrdma: Do not update {head, tail}.iov_len in rpcrdma_inline_fixup()
      xprtrdma: Update only specific fields in private receive buffer
      xprtrdma: Clean up fixup_copy_count accounting
      xprtrdma: No direct data placement with krb5i and krb5p
      svc: Avoid garbage replies when pc_func() returns rpc_drop_reply
      NFS: Don't drop CB requests with invalid principals

Frank Sorenson (4):
      sunrpc: Fix bit count when setting hashtable size to power-of-two
      sunrpc: Fix reserved port range calculation
      sunrpc: Prevent resvport min/max inversion via sysctl
      sunrpc: Prevent resvport min/max inversion via sysfs and module parameter

Kinglong Mee (2):
      nfs/blocklayout: Make sure calculate signature length aligned
      nfs/blocklayout: Check max uuids and devices before decoding

Scott Mayhew (1):
      sunrpc: move NO_CRKEY_TIMEOUT to the auth->au_flags

Steve Dickson (1):
      mount: use sec= that was specified on the command line

Tigran Mkrtchyan (2):
      nfs4: clnt: respect noresvport when establishing connections to DSes
      nfs4: flexfiles: respect noresvport when establishing connections to DSes

Trond Myklebust (69):
      SUNRPC: Small optimisation of client receive
      SUNRPC: Consolidate xs_tcp_data_ready and xs_data_ready
      SUNRPC: RPC transport queue must be low latency
      SUNRPC: Reduce latency when send queue is congested
      SUNRPC: Fix suspicious enobufs issues.
      NFS: Don't flush caches for a getattr that races with writeback
      NFS: Cache access checks more aggressively
      NFS: Cache aggressively when file is open for writing
      NFS: Kill NFS_INO_NFS_INO_FLUSHING: it is a performance killer
      NFS: writepage of a single page should not be synchronous
      NFS: Don't hold the inode lock across fsync()
      NFS: Don't call COMMIT in ->releasepage()
      NFS: Fix an Oops in the pNFS files and flexfiles connection setup to the DS
      NFS/pnfs: Do not clobber existing pgio_done_cb in nfs4_proc_read_setup
      NFSv4: Allow retry of operations that used a returned delegation stateid
      pNFS/files: Fix layoutcommit after a commit to DS
      pNFS/flexfiles: Fix layoutcommit after a commit to DS
      pNFS/flexfiles: Clean up calls to pnfs_set_layoutcommit()
      pNFS: Files and flexfiles always need to commit before layoutcommit
      pNFS: Ensure we layoutcommit before revalidating attributes
      pNFS: pnfs_layoutcommit_outstanding() is no longer used when !CONFIG_NFS_V4_1
      NFS: Fix O_DIRECT verifier problems
      NFS: Ensure we reset the write verifier 'committed' value on resend.
      NFS: Remove racy size manipulations in O_DIRECT
      NFS Cleanup: move call to generic_write_checks() into fs/nfs/direct.c
      NFS: Move buffered I/O locking into nfs_file_write()
      NFS: Do not serialise O_DIRECT reads and writes
      NFS: Cleanup nfs_direct_complete()
      NFS: Remove redundant waits for O_DIRECT in fsync() and write_begin()
      NFS: Remove unused function nfs_revalidate_mapping_protected()
      NFS: Do not aggressively cache file attributes in the case of O_DIRECT
      NFS: Getattr doesn't require data sync semantics
      NFSv4.2: Fix a race in nfs42_proc_deallocate()
      NFSv4.2: Fix writeback races in nfs4_copy_file_range
      NFSv4.2: llseek(SEEK_HOLE) and llseek(SEEK_DATA) don't require data sync
      NFS nfs_vm_page_mkwrite: Don't freeze me, Bro...
      NFSv4: Revert "Truncating file opens should also sync O_DIRECT writes"
      Merge tag 'nfs-rdma-4.8-1' of git://git.linux-nfs.org/projects/anna/nfs-rdma
      SUNRPC: Fix infinite looping in rpc_clnt_iterate_for_each_xprt
      pNFS: Don't mark the inode as revalidated if a LAYOUTCOMMIT is outstanding
      pNFS: Fix post-layoutget error handling in pnfs_update_layout()
      pNFS: Separate handling of NFS4ERR_LAYOUTTRYLATER and RECALLCONFLICT
      pNFS: Handle NFS4ERR_RECALLCONFLICT correctly in LAYOUTGET
      pNFS: Fix LAYOUTGET handling of NFS4ERR_BAD_STATEID and NFS4ERR_EXPIRED
      Merge tag 'nfs-rdma-4.8-2' of git://git.linux-nfs.org/projects/anna/nfs-rdma
      pNFS/files: filelayout_write_done_cb must call nfs_writeback_update_inode()
      Merge commit 'e7bdea7750eb'
      pNFS: LAYOUTRETURN should only update the stateid if the layout is valid
      pNFS: Clear the layout return tracking on layout reinitialisation
      pNFS: Always update the layout stateid if NFS_LAYOUT_INVALID_STID is set
      pNFS: Always update the layout barrier seqid on LAYOUTGET
      pNFS: Fix CB_LAYOUTRECALL stateid verification
      pNFS: Ensure layoutreturn acts as a completion for layout callbacks
      pNFS: Do not set plh_return_seq for non-callback related layoutreturns
      NFS: pnfs_mark_matching_lsegs_return() should match the layout sequence id
      pNFS: Cleanup - don't open code pnfs_mark_layout_stateid_invalid()
      pNFS: Clear the layout metadata if the server changed the layout stateid
      pNFS: Remove redundant pnfs_mark_layout_returned_if_empty()
      pNFS: Remove redundant stateid invalidation
      pNFS: Cleanup - do layout segment initialisation in one place
      pNFS: Remove redundant smp_mb() from pnfs_init_lseg()
      SUNRPC: Fix a compiler warning in fs/nfs/clnt.c
      Merge branch 'sunrpc'
      Merge branch 'writeback'
      Merge branch 'pnfs'
      Merge branch 'nfs-rdma'
      NFSv4: Fix warning "no previous prototype for ‘nfs4_listxattr’"
      NFSv4.2: Fix warning "variable ‘stateids’ set but not used"
      NFSv4: Clean up lookup of SECINFO_NO_NAME

kbuild test robot (1):
      xprtrdma: fix semicolon.cocci warnings

 fs/nfs/Makefile                        |   2 +-
 fs/nfs/blocklayout/dev.c               | 110 +++++++---
 fs/nfs/blocklayout/extent_tree.c       |  27 ++-
 fs/nfs/callback_proc.c                 |  64 ++++--
 fs/nfs/callback_xdr.c                  |   6 +-
 fs/nfs/client.c                        |  22 +-
 fs/nfs/dir.c                           |  52 +++--
 fs/nfs/direct.c                        |  93 +++-----
 fs/nfs/file.c                          | 100 +++------
 fs/nfs/filelayout/filelayout.c         |  18 +-
 fs/nfs/flexfilelayout/flexfilelayout.c |  23 +-
 fs/nfs/inode.c                         | 138 ++++++------
 fs/nfs/internal.h                      |  62 +++++-
 fs/nfs/io.c                            | 147 +++++++++++++
 fs/nfs/nfs3client.c                    |  14 +-
 fs/nfs/nfs42proc.c                     |  24 ++-
 fs/nfs/nfs42xdr.c                      |  12 +-
 fs/nfs/nfs4_fs.h                       |   1 +
 fs/nfs/nfs4client.c                    |  26 ++-
 fs/nfs/nfs4file.c                      |  16 +-
 fs/nfs/nfs4proc.c                      | 153 ++++++-------
 fs/nfs/nfs4xdr.c                       |  11 +-
 fs/nfs/nfstrace.h                      |   1 -
 fs/nfs/pnfs.c                          | 191 ++++++++++-------
 fs/nfs/pnfs.h                          |  34 ++-
 fs/nfs/pnfs_nfs.c                      |  13 +-
 fs/nfs/super.c                         |  14 +-
 fs/nfs/write.c                         |  44 ++--
 include/linux/nfs_fs.h                 |   3 +-
 include/linux/nfs_xdr.h                |   5 +-
 include/linux/sunrpc/auth.h            |   9 +-
 include/linux/sunrpc/gss_api.h         |   2 +
 include/linux/sunrpc/sched.h           |   5 +
 include/linux/sunrpc/xprtsock.h        |   1 +
 net/sunrpc/auth.c                      |   8 +-
 net/sunrpc/auth_generic.c              |   9 +-
 net/sunrpc/auth_gss/auth_gss.c         |   3 +
 net/sunrpc/auth_gss/gss_krb5_mech.c    |   2 +
 net/sunrpc/auth_gss/gss_mech_switch.c  |  12 ++
 net/sunrpc/auth_null.c                 |   1 +
 net/sunrpc/auth_unix.c                 |   1 +
 net/sunrpc/clnt.c                      |   2 +-
 net/sunrpc/sched.c                     |  67 ++++--
 net/sunrpc/svc.c                       |   8 +-
 net/sunrpc/xprt.c                      |  14 +-
 net/sunrpc/xprtmultipath.c             |   8 +-
 net/sunrpc/xprtrdma/Makefile           |   2 +-
 net/sunrpc/xprtrdma/fmr_ops.c          | 378 +++++++++++++++------------------
 net/sunrpc/xprtrdma/frwr_ops.c         | 369 ++++++++++++--------------------
 net/sunrpc/xprtrdma/physical_ops.c     | 122 -----------
 net/sunrpc/xprtrdma/rpc_rdma.c         | 274 ++++++++++++------------
 net/sunrpc/xprtrdma/transport.c        |  40 ++--
 net/sunrpc/xprtrdma/verbs.c            | 242 ++++++++++++++-------
 net/sunrpc/xprtrdma/xprt_rdma.h        | 118 ++++------
 net/sunrpc/xprtsock.c                  | 125 ++++++-----
 55 files changed, 1748 insertions(+), 1500 deletions(-)
 create mode 100644 fs/nfs/io.c
 delete mode 100644 net/sunrpc/xprtrdma/physical_ops.c
-- 
Trond Myklebust
Linux NFS client maintainer, PrimaryData
trond.myklebust@xxxxxxxxxxxxxxx
��.n��������+%������w��{.n�����{��w���jg��������ݢj����G�������j:+v���w�m������w�������h�����٥




[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux