• Linus Torvalds's avatar
    Merge tag 'nfsd-6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux · e394ff83
    Linus Torvalds authored
    Pull nfsd updates from Chuck Lever:
     "Work on 'courteous server', which was introduced in 5.19, continues
      apace. This release introduces a more flexible limit on the number of
      NFSv4 clients that NFSD allows, now that NFSv4 clients can remain in
      courtesy state long after the lease expiration timeout. The client
      limit is adjusted based on the physical memory size of the server.
    
      The NFSD filecache is a cache of files held open by NFSv4 clients or
      recently touched by NFSv2 or NFSv3 clients. This cache had some
      significant scalability constraints that have been relieved in this
      release. Thanks to all who contributed to this work.
    
      A data corruption bug found during the most recent NFS bake-a-thon
      that involves NFSv3 and NFSv4 clients writing the same file has been
      addressed in this release.
    
      This release includes several improvements in CPU scalability for
      NFSv4 operations. In addition, Neil Brown provided patches that
      simplify locking during file lookup, creation, rename, and removal
      that enables subsequent work on making these operations more scalable.
      We expect to see that work materialize in the next release.
    
      There are also numerous single-patch fixes, clean-ups, and the usual
      improvements in observability"
    
    * tag 'nfsd-6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux: (78 commits)
      lockd: detect and reject lock arguments that overflow
      NFSD: discard fh_locked flag and fh_lock/fh_unlock
      NFSD: use (un)lock_inode instead of fh_(un)lock for file operations
      NFSD: use explicit lock/unlock for directory ops
      NFSD: reduce locking in nfsd_lookup()
      NFSD: only call fh_unlock() once in nfsd_link()
      NFSD: always drop directory lock in nfsd_unlink()
      NFSD: change nfsd_create()/nfsd_symlink() to unlock directory before returning.
      NFSD: add posix ACLs to struct nfsd_attrs
      NFSD: add security label to struct nfsd_attrs
      NFSD: set attributes when creating symlinks
      NFSD: introduce struct nfsd_attrs
      NFSD: verify the opened dentry after setting a delegation
      NFSD: drop fh argument from alloc_init_deleg
      NFSD: Move copy offload callback arguments into a separate structure
      NFSD: Add nfsd4_send_cb_offload()
      NFSD: Remove kmalloc from nfsd4_do_async_copy()
      NFSD: Refactor nfsd4_do_copy()
      NFSD: Refactor nfsd4_cleanup_inter_ssc() (2/2)
      NFSD: Refactor nfsd4_cleanup_inter_ssc() (1/2)
      ...
    e394ff83
filecache.c 31.3 KB