Re: [PATCH 00/13] NFSD: clean up locking

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

 




> On Jul 26, 2022, at 2:45 AM, NeilBrown <neilb@xxxxxxx> wrote:
> 
> This is the latest version of my series to clean up locking -
> particularly of directories - in preparation for proposed patches which
> change how directory locking works across the VFS.
> 
> I've included Jeff's patches to validate the dentry after getting a
> delegation.  The second patch has been changed quite a bit to use
> nfsd_lookup_dentry(). I've left Jeff's From: line in place - let me know
> if you'd rather I change it.
> 
> Setting of ACLs and security labels has been moved from nfs4 code to
> nfsd_setattr() which allows quite a lot of code cleanup.
> 
> I think I've addressed all the concerns that have been raised, though
> maybe not in the way that was suggested.
> 
> I've tested this with cthon tests over v2, v3, v4.0, v4.1, and xfstests
> on v3 and v4.1, and pynfs 4.0, 4.1.  No problems appeared.
> 
> Thanks,
> NeilBrown

Hi Neil-

No objections to this round, looks like a very good set of clean-ups.

I've also resurrected NFSv2 on my test systems, and captured a baseline
without these patches applied.

There are a number of cosmetic issues I found, posting those separately.
If you trust me, I can take care of those here, or you can submit a
v3 (v4?).


> ---
> 
> Jeff Layton (2):
>      NFSD: drop fh argument from alloc_init_deleg
>      NFSD: verify the opened dentry after setting a delegation
> 
> NeilBrown (11):
>      NFSD: introduce struct nfsd_attrs
>      NFSD: set attributes when creating symlinks
>      NFSD: add security label to struct nfsd_attrs
>      NFSD: add posix ACLs to struct nfsd_attrs
>      NFSD: change nfsd_create()/nfsd_symlink() to unlock directory before returning.
>      NFSD: always drop directory lock in nfsd_unlink()
>      NFSD: only call fh_unlock() once in nfsd_link()
>      NFSD: reduce locking in nfsd_lookup()
>      NFSD: use explicit lock/unlock for directory ops
>      NFSD: use (un)lock_inode instead of fh_(un)lock for file operations
>      NFSD: discard fh_locked flag and fh_lock/fh_unlock
> 
> 
> fs/nfsd/acl.h       |   6 +-
> fs/nfsd/nfs2acl.c   |   6 +-
> fs/nfsd/nfs3acl.c   |   4 +-
> fs/nfsd/nfs3proc.c  |  25 ++---
> fs/nfsd/nfs4acl.c   |  46 ++-------
> fs/nfsd/nfs4proc.c  | 153 ++++++++++++-----------------
> fs/nfsd/nfs4state.c |  71 +++++++++++---
> fs/nfsd/nfsfh.c     |  22 ++++-
> fs/nfsd/nfsfh.h     |  58 +----------
> fs/nfsd/nfsproc.c   |  19 ++--
> fs/nfsd/vfs.c       | 230 +++++++++++++++++++++-----------------------
> fs/nfsd/vfs.h       |  31 ++++--
> fs/nfsd/xdr4.h      |   1 +
> 13 files changed, 314 insertions(+), 358 deletions(-)
> 
> --
> Signature
> 

--
Chuck Lever







[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