[GIT PULL 04/16 for v7.2] vfs directory delegations
From: Christian Brauner
Date: Fri Jun 12 2026 - 11:16:07 EST
Hey Linus,
/* Summary */
This contains the VFS prerequisites for supporting directory
delegations in nfsd via CB_NOTIFY callbacks.
The filelock core gains support for ignoring delegation breaks for
directory change events together with an inode_lease_ignore_mask()
helper, and fsnotify gains fsnotify_modify_mark_mask() and a
FSNOTIFY_EVENT_RENAME data type. With this in place nfsd can request
delegations on directories and set up inotify watches to trigger
sending CB_NOTIFY events to clients instead of having every directory
change break the delegation. New tracepoints are added to fsnotify()
and to the start of break_lease(), and trace_break_lease_block() is
passed the currently blocking lease instead of the new one.
A follow-up fix moves the LEASE_BREAK_* flags out of
#ifdef CONFIG_FILE_LOCKING to fix the build for CONFIG_FILE_LOCKING=n
configurations.
Note that the nfsd tree is based on a merge of this branch so these
changes may also reach you through the nfsd pull request.
/* Testing */
gcc (Debian 14.2.0-19) 14.2.0
Debian clang version 19.1.7 (3+b1)
No build failures or warnings were observed.
/* Conflicts */
Merge conflicts with mainline
=============================
No known conflicts.
Merge conflicts with other trees
================================
The following changes since commit 254f49634ee16a731174d2ae34bc50bd5f45e731:
Linux 7.1-rc1 (2026-04-26 14:19:00 -0700)
are available in the Git repository at:
git@xxxxxxxxxxxxxxxxxxx:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-7.2-rc1.directory.delegations
for you to fetch changes up to 246bc86d0fd891273a8502314f158eab23af823c:
filelock: move LEASE_BREAK_* flags out of #ifdef CONFIG_FILE_LOCKING (2026-05-16 17:05:52 +0200)
----------------------------------------------------------------
vfs-7.2-rc1.directory.delegations
Please consider pulling these changes from the signed vfs-7.2-rc1.directory.delegations tag.
Thanks!
Christian
----------------------------------------------------------------
Christian Brauner (1):
Merge patch series "VFS changes for nfsd CB_NOTIFY callbacks in directory delegations"
Jeff Layton (8):
filelock: pass current blocking lease to trace_break_lease_block() rather than "new_fl"
filelock: add support for ignoring deleg breaks for dir change events
filelock: add a tracepoint to start of break_lease()
filelock: add an inode_lease_ignore_mask helper
fsnotify: new tracepoint in fsnotify()
fsnotify: add fsnotify_modify_mark_mask()
fsnotify: add FSNOTIFY_EVENT_RENAME data type
filelock: move LEASE_BREAK_* flags out of #ifdef CONFIG_FILE_LOCKING
fs/attr.c | 2 +-
fs/locks.c | 118 ++++++++++++++++++++++++++++++---------
fs/namei.c | 31 +++++-----
fs/notify/fsnotify.c | 5 ++
fs/notify/mark.c | 29 ++++++++++
fs/posix_acl.c | 4 +-
fs/xattr.c | 4 +-
include/linux/filelock.h | 66 ++++++++++++++--------
include/linux/fsnotify.h | 8 ++-
include/linux/fsnotify_backend.h | 21 +++++++
include/trace/events/filelock.h | 38 ++++++++++++-
include/trace/events/fsnotify.h | 51 +++++++++++++++++
include/trace/misc/fsnotify.h | 35 ++++++++++++
13 files changed, 341 insertions(+), 71 deletions(-)
create mode 100644 include/trace/events/fsnotify.h
create mode 100644 include/trace/misc/fsnotify.h