> On Jul 27, 2022, at 11:50 AM, Jeff Layton <jlayton@xxxxxxxxxx> wrote: > > 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). Fwiw, I don't see them in my inbox either, and they don't appear on lore. >> 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> -- Chuck Lever