]> git.baikalelectronics.ru Git - kernel.git/commitdiff
Merge tag 'nfsd-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 31 Aug 2021 17:57:06 +0000 (10:57 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 31 Aug 2021 17:57:06 +0000 (10:57 -0700)
Pull nfsd updates from Chuck Lever:
 "New features:

   - Support for server-side disconnect injection via debugfs

   - Protocol definitions for new RPC_AUTH_TLS authentication flavor

  Performance improvements:

   - Reduce page allocator traffic in the NFSD splice read actor

   - Reduce CPU utilization in svcrdma's Send completion handler

  Notable bug fixes:

   - Stabilize lockd operation when re-exporting NFS mounts

   - Fix the use of %.*s in NFSD tracepoints

   - Fix /proc/sys/fs/nfs/nsm_use_hostnames"

* tag 'nfsd-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux: (31 commits)
  nfsd: fix crash on LOCKT on reexported NFSv3
  nfs: don't allow reexport reclaims
  lockd: don't attempt blocking locks on nfs reexports
  nfs: don't atempt blocking locks on nfs reexports
  Keep read and write fds with each nlm_file
  lockd: update nlm_lookup_file reexport comment
  nlm: minor refactoring
  nlm: minor nlm_lookup_file argument change
  lockd: lockd server-side shouldn't set fl_ops
  SUNRPC: Add documentation for the fail_sunrpc/ directory
  SUNRPC: Server-side disconnect injection
  SUNRPC: Move client-side disconnect injection
  SUNRPC: Add a /sys/kernel/debug/fail_sunrpc/ directory
  svcrdma: xpt_bc_xprt is already clear in __svc_rdma_free()
  nfsd4: Fix forced-expiry locking
  rpc: fix gss_svc_init cleanup on failure
  SUNRPC: Add RPC_AUTH_TLS protocol numbers
  lockd: change the proc_handler for nsm_use_hostnames
  sysctl: introduce new proc handler proc_dobool
  SUNRPC: Fix a NULL pointer deref in trace_svc_stats_latency()
  ...

1  2 
fs/nfs/file.c
fs/nfsd/nfs4state.c
fs/nfsd/vfs.c
include/linux/fs.h
lib/Kconfig.debug
net/sunrpc/svc_xprt.c

diff --cc fs/nfs/file.c
index 514be5d28d70596ba45b27ad904734af023cd072,7411658f8b05743dfe81f5e4137b2f517339cd10..aa353fd5824041f59b158c87db13251aca5815e5
@@@ -806,6 -806,13 +806,9 @@@ int nfs_lock(struct file *filp, int cmd
  
        nfs_inc_stats(inode, NFSIOS_VFSLOCK);
  
 -      /* No mandatory locks over NFS */
 -      if (__mandatory_lock(inode) && fl->fl_type != F_UNLCK)
 -              goto out_err;
 -
+       if (fl->fl_flags & FL_RECLAIM)
+               return -ENOGRACE;
        if (NFS_SERVER(inode)->flags & NFS_MOUNT_LOCAL_FCNTL)
                is_local = 1;
  
Simple merge
diff --cc fs/nfsd/vfs.c
Simple merge
Simple merge
Simple merge
Simple merge