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

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

 



On Tue, 2022-07-26 at 16:45 +1000, NeilBrown 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.
> 

That's fine.

> 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
> 
> 
> ---
> 
> 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
> 

It looks like the last 5 patches are missing from the posting
(everything after patch #8).

> 
>  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
> 

-- 
Jeff Layton <jlayton@xxxxxxxxxx>




[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