All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/13] NFSD: clean up locking
@ 2022-07-26  6:45 NeilBrown
  2022-07-26  6:45 ` [PATCH 13/13] NFSD: discard fh_locked flag and fh_lock/fh_unlock NeilBrown
                   ` (14 more replies)
  0 siblings, 15 replies; 37+ messages in thread
From: NeilBrown @ 2022-07-26  6:45 UTC (permalink / raw)
  To: Chuck Lever III, Jeff Layton; +Cc: Linux NFS Mailing List

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


---

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


^ permalink raw reply	[flat|nested] 37+ messages in thread

end of thread, other threads:[~2022-08-01  0:13 UTC | newest]

Thread overview: 37+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-26  6:45 [PATCH 00/13] NFSD: clean up locking NeilBrown
2022-07-26  6:45 ` [PATCH 13/13] NFSD: discard fh_locked flag and fh_lock/fh_unlock NeilBrown
2022-07-26  6:45 ` [PATCH 01/13] NFSD: drop fh argument from alloc_init_deleg NeilBrown
2022-07-26  6:45 ` [PATCH 12/13] NFSD: use (un)lock_inode instead of fh_(un)lock for file operations NeilBrown
2022-07-28 14:55   ` Chuck Lever III
2022-07-26  6:45 ` [PATCH 04/13] NFSD: set attributes when creating symlinks NeilBrown
2022-07-26 12:40   ` Chuck Lever III
2022-07-26 12:53     ` Jeff Layton
2022-07-26 13:02       ` Chuck Lever III
2022-07-26 22:01     ` NeilBrown
2022-07-28 14:53   ` Chuck Lever III
2022-07-29  1:09     ` NeilBrown
2022-07-26  6:45 ` [PATCH 11/13] NFSD: use explicit lock/unlock for directory ops NeilBrown
2022-07-28 14:54   ` Chuck Lever III
2022-07-29  1:27     ` NeilBrown
2022-07-29 14:31       ` Chuck Lever III
2022-07-29 14:34         ` Chuck Lever III
2022-07-26  6:45 ` [PATCH 02/13] NFSD: verify the opened dentry after setting a delegation NeilBrown
2022-07-27 15:44   ` Jeff Layton
2022-07-26  6:45 ` [PATCH 09/13] NFSD: only call fh_unlock() once in nfsd_link() NeilBrown
2022-07-26  6:45 ` [PATCH 06/13] NFSD: add posix ACLs to struct nfsd_attrs NeilBrown
2022-07-29 14:24   ` Chuck Lever III
2022-08-01  0:13     ` NeilBrown
2022-07-26  6:45 ` [PATCH 10/13] NFSD: reduce locking in nfsd_lookup() NeilBrown
2022-07-28 14:54   ` Chuck Lever III
2022-07-26  6:45 ` [PATCH 03/13] NFSD: introduce struct nfsd_attrs NeilBrown
2022-07-28 14:53   ` Chuck Lever III
2022-07-26  6:45 ` [PATCH 05/13] NFSD: add security label to " NeilBrown
2022-07-28 14:54   ` Chuck Lever III
2022-07-29  1:11     ` NeilBrown
2022-07-26  6:45 ` [PATCH 07/13] NFSD: change nfsd_create()/nfsd_symlink() to unlock directory before returning NeilBrown
2022-07-26  6:45 ` [PATCH 08/13] NFSD: always drop directory lock in nfsd_unlink() NeilBrown
2022-07-27 15:50 ` [PATCH 00/13] NFSD: clean up locking Jeff Layton
2022-07-27 17:12   ` Chuck Lever III
2022-07-27 23:48   ` NeilBrown
2022-07-28 14:52 ` Chuck Lever III
2022-07-29  1:29   ` NeilBrown

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.