• Linus Torvalds's avatar
    Merge tag 'nfsd-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux · 6d29d7fe
    Linus Torvalds authored
    Pull nfsd updates from Chuck Lever:
     "We introduce 'courteous server' in this release. Previously NFSD would
      purge open and lock state for an unresponsive client after one lease
      period (typically 90 seconds). Now, after one lease period, another
      client can open and lock those files and the unresponsive client's
      lease is purged; otherwise if the unresponsive client's open and lock
      state is uncontended, the server retains that open and lock state for
      up to 24 hours, allowing the client's workload to resume after a
      lengthy network partition.
    
      A longstanding issue with NFSv4 file creation is also addressed.
      Previously a file creation can fail internally, returning an error to
      the client, but leave the newly created file in place as an artifact.
      The file creation code path has been reorganized so that internal
      failures and race conditions are less likely to result in an unwanted
      file creation.
    
      A fault injector has been added to help exercise paths that are run
      during kernel metadata cache invalidation. These caches contain
      information maintained by user space about exported filesystems. Many
      of our test workloads do not trigger cache invalidation.
    
      There is one patch that is needed to support PREEMPT_RT and a fix for
      an ancient 'sleep while spin-locked' splat that seems to have become
      easier to hit since v5.18-rc3"
    
    * tag 'nfsd-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux: (36 commits)
      NFSD: nfsd_file_put() can sleep
      NFSD: Add documenting comment for nfsd4_release_lockowner()
      NFSD: Modernize nfsd4_release_lockowner()
      NFSD: Fix possible sleep during nfsd4_release_lockowner()
      nfsd: destroy percpu stats counters after reply cache shutdown
      nfsd: Fix null-ptr-deref in nfsd_fill_super()
      nfsd: Unregister the cld notifier when laundry_wq create failed
      SUNRPC: Use RMW bitops in single-threaded hot paths
      NFSD: Clean up the show_nf_flags() macro
      NFSD: Trace filecache opens
      NFSD: Move documenting comment for nfsd4_process_open2()
      NFSD: Fix whitespace
      NFSD: Remove dprintk call sites from tail of nfsd4_open()
      NFSD: Instantiate a struct file when creating a regular NFSv4 file
      NFSD: Clean up nfsd_open_verified()
      NFSD: Remove do_nfsd_create()
      NFSD: Refactor NFSv4 OPEN(CREATE)
      NFSD: Refactor NFSv3 CREATE
      NFSD: Refactor nfsd_create_setattr()
      NFSD: Avoid calling fh_drop_write() twice in do_nfsd_create()
      ...
    6d29d7fe
open.c 35.7 KB