linux-cifs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v5 00/17] vfs: recall-only directory delegations for knfsd
@ 2025-11-05 16:53 Jeff Layton
  2025-11-05 16:53 ` [PATCH v5 01/17] filelock: make lease_alloc() take a flags argument Jeff Layton
                   ` (16 more replies)
  0 siblings, 17 replies; 26+ messages in thread
From: Jeff Layton @ 2025-11-05 16:53 UTC (permalink / raw)
  To: Miklos Szeredi, Alexander Viro, Christian Brauner, Jan Kara,
	Chuck Lever, Alexander Aring, Trond Myklebust, Anna Schumaker,
	Steve French, Paulo Alcantara, Ronnie Sahlberg, Shyam Prasad N,
	Tom Talpey, Bharath SM, Greg Kroah-Hartman, Rafael J. Wysocki,
	Danilo Krummrich, David Howells, Tyler Hicks, NeilBrown,
	Olga Kornievskaia, Dai Ngo, Amir Goldstein, Namjae Jeon,
	Steve French, Sergey Senozhatsky, Carlos Maiolino,
	Kuniyuki Iwashima, David S. Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni, Simon Horman
  Cc: linux-fsdevel, linux-kernel, linux-nfs, linux-cifs,
	samba-technical, netfs, ecryptfs, linux-unionfs, linux-xfs,
	netdev, Jeff Layton, NeilBrown

Behold, another version of the directory delegation patchset. This
version contains support for recall-only delegations. Support for
CB_NOTIFY will be forthcoming (once the client-side patches have caught
up).

Thanks!
Jeff

Signed-off-by: Jeff Layton <jlayton@kernel.org>
---
Changes in v5:
- drop struct createdata patch
- add patch to drop some unneeded arguments to vfs_create()
- make fcntl_getdeleg() vet delegation->d_flags
- Link to v4: https://lore.kernel.org/r/20251103-dir-deleg-ro-v4-0-961b67adee89@kernel.org

Changes in v4:
- Split lease_alloc() changes into separate patch
- new patches to switch break_lease() to use single set of flags
- add struct delegated_inode and use that instead of struct inode **
- add struct createdata and use that as argument to vfs_create()
- Rebase onto brauner/vfs-6.19.directory.delegation
- Make F_GETDELEG take and fill out struct delegation too
- Link to v3: https://lore.kernel.org/r/20251021-dir-deleg-ro-v3-0-a08b1cde9f4c@kernel.org

Changes in v3:
- Fix potential nfsd_file refcount leaks on GET_DIR_DELEGATION error
- Add missing parent dir deleg break in vfs_symlink()
- Add F_SETDELEG/F_GETDELEG support to fcntl()
- Link to v2: https://lore.kernel.org/r/20251017-dir-deleg-ro-v2-0-8c8f6dd23c8b@kernel.org

Changes in v2:
- handle lease conflict resolution inside of nfsd
- drop the lm_may_setlease lock_manager operation
- just add extra argument to vfs_create() instead of creating wrapper
- don't allocate fsnotify_mark for open directories
- Link to v1: https://lore.kernel.org/r/20251013-dir-deleg-ro-v1-0-406780a70e5e@kernel.org

---
Jeff Layton (17):
      filelock: make lease_alloc() take a flags argument
      filelock: rework the __break_lease API to use flags
      filelock: add struct delegated_inode
      filelock: push the S_ISREG check down to ->setlease handlers
      vfs: add try_break_deleg calls for parents to vfs_{link,rename,unlink}
      vfs: allow mkdir to wait for delegation break on parent
      vfs: allow rmdir to wait for delegation break on parent
      vfs: break parent dir delegations in open(..., O_CREAT) codepath
      vfs: clean up argument list for vfs_create()
      vfs: make vfs_create break delegations on parent directory
      vfs: make vfs_mknod break delegations on parent directory
      vfs: make vfs_symlink break delegations on parent dir
      filelock: lift the ban on directory leases in generic_setlease
      nfsd: allow filecache to hold S_IFDIR files
      nfsd: allow DELEGRETURN on directories
      nfsd: wire up GET_DIR_DELEGATION handling
      vfs: expose delegation support to userland

 drivers/base/devtmpfs.c    |   6 +-
 fs/attr.c                  |   2 +-
 fs/cachefiles/namei.c      |   2 +-
 fs/ecryptfs/inode.c        |  11 ++-
 fs/fcntl.c                 |  13 ++++
 fs/fuse/dir.c              |   1 +
 fs/init.c                  |   6 +-
 fs/locks.c                 | 100 +++++++++++++++++++++-------
 fs/namei.c                 | 162 +++++++++++++++++++++++++++++++++------------
 fs/nfs/nfs4file.c          |   2 +
 fs/nfsd/filecache.c        |  57 ++++++++++++----
 fs/nfsd/filecache.h        |   2 +
 fs/nfsd/nfs3proc.c         |   2 +-
 fs/nfsd/nfs4proc.c         |  22 +++++-
 fs/nfsd/nfs4recover.c      |   6 +-
 fs/nfsd/nfs4state.c        | 103 +++++++++++++++++++++++++++-
 fs/nfsd/state.h            |   5 ++
 fs/nfsd/vfs.c              |  16 ++---
 fs/nfsd/vfs.h              |   2 +-
 fs/open.c                  |  12 ++--
 fs/overlayfs/overlayfs.h   |  10 +--
 fs/posix_acl.c             |   8 +--
 fs/smb/client/cifsfs.c     |   3 +
 fs/smb/server/vfs.c        |   9 ++-
 fs/utimes.c                |   4 +-
 fs/xattr.c                 |  12 ++--
 fs/xfs/scrub/orphanage.c   |   2 +-
 include/linux/filelock.h   |  98 +++++++++++++++++++++------
 include/linux/fs.h         |  24 ++++---
 include/linux/xattr.h      |   4 +-
 include/uapi/linux/fcntl.h |  10 +++
 net/unix/af_unix.c         |   2 +-
 32 files changed, 542 insertions(+), 176 deletions(-)
---
base-commit: 3a8660878839faadb4f1a6dd72c3179c1df56787
change-id: 20251013-dir-deleg-ro-d0fe19823b21

Best regards,
-- 
Jeff Layton <jlayton@kernel.org>


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

end of thread, other threads:[~2025-11-11 12:14 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-05 16:53 [PATCH v5 00/17] vfs: recall-only directory delegations for knfsd Jeff Layton
2025-11-05 16:53 ` [PATCH v5 01/17] filelock: make lease_alloc() take a flags argument Jeff Layton
2025-11-11 10:49   ` Jan Kara
2025-11-05 16:53 ` [PATCH v5 02/17] filelock: rework the __break_lease API to use flags Jeff Layton
2025-11-11 10:57   ` Jan Kara
2025-11-05 16:53 ` [PATCH v5 03/17] filelock: add struct delegated_inode Jeff Layton
2025-11-11 11:01   ` Jan Kara
2025-11-05 16:53 ` [PATCH v5 04/17] filelock: push the S_ISREG check down to ->setlease handlers Jeff Layton
2025-11-05 16:53 ` [PATCH v5 05/17] vfs: add try_break_deleg calls for parents to vfs_{link,rename,unlink} Jeff Layton
2025-11-05 16:53 ` [PATCH v5 06/17] vfs: allow mkdir to wait for delegation break on parent Jeff Layton
2025-11-05 16:53 ` [PATCH v5 07/17] vfs: allow rmdir " Jeff Layton
2025-11-05 16:53 ` [PATCH v5 08/17] vfs: break parent dir delegations in open(..., O_CREAT) codepath Jeff Layton
2025-11-05 16:53 ` [PATCH v5 09/17] vfs: clean up argument list for vfs_create() Jeff Layton
2025-11-05 21:27   ` NeilBrown
2025-11-06 12:08     ` Jeff Layton
2025-11-11 10:37   ` Jan Kara
2025-11-05 16:53 ` [PATCH v5 10/17] vfs: make vfs_create break delegations on parent directory Jeff Layton
2025-11-05 16:53 ` [PATCH v5 11/17] vfs: make vfs_mknod " Jeff Layton
2025-11-05 16:53 ` [PATCH v5 12/17] vfs: make vfs_symlink break delegations on parent dir Jeff Layton
2025-11-05 16:53 ` [PATCH v5 13/17] filelock: lift the ban on directory leases in generic_setlease Jeff Layton
2025-11-05 16:54 ` [PATCH v5 14/17] nfsd: allow filecache to hold S_IFDIR files Jeff Layton
2025-11-05 16:54 ` [PATCH v5 15/17] nfsd: allow DELEGRETURN on directories Jeff Layton
2025-11-05 16:54 ` [PATCH v5 16/17] nfsd: wire up GET_DIR_DELEGATION handling Jeff Layton
2025-11-05 16:54 ` [PATCH v5 17/17] vfs: expose delegation support to userland Jeff Layton
2025-11-11 10:48   ` Jan Kara
2025-11-11 12:14     ` Jeff Layton

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).