[PATCH v2 00/11] vfs: recall-only directory delegations for knfsd

Jeff Layton <[email protected]>
Newsgroups org.kernel.vger.ecryptfs,dev.linux.lists.netfs,org.kernel.vger.linux-cifs,org.kernel.vger.linux-fsdevel,org.kernel.vger.linux-kernel,org.kernel.vger.linux-nfs,org.kernel.vger.linux-unionfs,org.kernel.vger.linux-xfs,org.kernel.vger.netdev
Message-ID <[email protected]>
A smaller variation of the v1 patchset that I posted earlier this week.
Neil's review inspired me to get rid of the lm_may_setlease operation
and to do the conflict resolution internally inside of nfsd. That means
a smaller VFS-layer change, and an overall reduction in code.

This patchset adds support for directory delegations to nfsd. This
version only supports recallable delegations. There is no CB_NOTIFY
support yet. I have patches for those, but we've decided to add that
support in a later kernel once we get some experience with this part.
Anna is working on the client-side pieces.

It would be great if we could get into linux-next soon so that it can be
merged for v6.19. Christian, could you pick up the vfs/filelock patches,
and Chuck pick up the nfsd patches?

Thanks!
Jeff

[1]: https://lore.kernel.org/all/[email protected]/

Signed-off-by: Jeff Layton <[email protected]>
---
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/[email protected]

---
Jeff Layton (11):
      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: make vfs_create break delegations on parent directory
      vfs: make vfs_mknod break delegations on parent directory
      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

 drivers/base/devtmpfs.c  |   6 +--
 fs/cachefiles/namei.c    |   2 +-
 fs/ecryptfs/inode.c      |   8 +--
 fs/fuse/dir.c            |   1 +
 fs/init.c                |   4 +-
 fs/locks.c               |  12 +++--
 fs/namei.c               | 134 ++++++++++++++++++++++++++++++++++++-----------
 fs/nfs/nfs4file.c        |   2 +
 fs/nfsd/filecache.c      |  57 +++++++++++++++-----
 fs/nfsd/filecache.h      |   2 +
 fs/nfsd/nfs3proc.c       |   2 +-
 fs/nfsd/nfs4proc.c       |  21 +++++++-
 fs/nfsd/nfs4recover.c    |   6 +--
 fs/nfsd/nfs4state.c      | 103 +++++++++++++++++++++++++++++++++++-
 fs/nfsd/state.h          |   5 ++
 fs/nfsd/vfs.c            |  14 ++---
 fs/nfsd/vfs.h            |   2 +-
 fs/open.c                |   2 +-
 fs/overlayfs/overlayfs.h |   8 +--
 fs/smb/client/cifsfs.c   |   3 ++
 fs/smb/server/vfs.c      |   8 +--
 fs/xfs/scrub/orphanage.c |   2 +-
 include/linux/fs.h       |  11 ++--
 net/unix/af_unix.c       |   2 +-
 24 files changed, 329 insertions(+), 88 deletions(-)
---
base-commit: 2c40814eb5ae104d3f898fd8b705ecad114105b5
change-id: 20251013-dir-deleg-ro-d0fe19823b21

Best regards,
-- 
Jeff Layton <[email protected]>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.