Hello Linus, could you please pull from git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs.git fsnotify_for_v5.9-rc1 This pull contains: * fanotify fix for softlockups when there are many queued events * performance improvement to reduce fsnotify overhead when not used * Amir's implementation of fanotify events with names With Amir's patches you can now efficiently monitor whole filesystem and say mirror changes to another machine. Top of the tree is 8aed8cebdd97. The full shortlog is: Amir Goldstein (34): fsnotify: fold fsnotify() call into fsnotify_parent() fsnotify: return non const from fsnotify_data_inode() nfsd: use fsnotify_data_inode() to get the unlinked inode kernfs: do not call fsnotify() with name without a parent inotify: do not use objectid when comparing events fanotify: create overflow event type fanotify: break up fanotify_alloc_event() fsnotify: pass dir argument to handle_event() callback fanotify: remove event FAN_DIR_MODIFY fanotify: generalize the handling of extra event flags fanotify: generalize merge logic of events on dir fanotify: distinguish between fid encode error and null fid fanotify: generalize test for FAN_REPORT_FID fanotify: mask out special event flags from ignored mask fanotify: prepare for implicit event flags in mark mask fanotify: use FAN_EVENT_ON_CHILD as implicit flag on sb/mount/non-dir marks fsnotify: add object type "child" to object type iterator fanotify: use struct fanotify_info to parcel the variable size buffer fanotify: no external fh buffer in fanotify_name_event dnotify: report both events on parent and child with single callback inotify: report both events on parent and child with single callback fsnotify: send event to parent and child with single callback fsnotify: create helper fsnotify_inode() fsnotify: pass dir and inode arguments to fsnotify() inotify: do not set FS_EVENT_ON_CHILD in non-dir mark mask audit: do not set FS_EVENT_ON_CHILD in audit marks mask fsnotify: send event with parent/name info to sb/mount/non-dir marks fsnotify: remove check that source dentry is positive fanotify: add basic support for FAN_REPORT_DIR_FID fanotify: report events with parent dir fid to sb/mount/non-dir marks fanotify: add support for FAN_REPORT_NAME fanotify: report parent fid + name + child fid fanotify: report parent fid + child fid fsnotify: create method handle_inode_event() in fsnotify_operations Jan Kara (2): fanotify: Avoid softlockups when reading many events fanotify: compare fsid when merging name event Mel Gorman (1): fsnotify: Rearrange fast path to minimise overhead when there is no watcher The diffstat is fs/kernfs/file.c | 13 +- fs/nfsd/filecache.c | 10 +- fs/notify/dnotify/dnotify.c | 16 +- fs/notify/fanotify/fanotify.c | 443 +++++++++++++++++++++++------------ fs/notify/fanotify/fanotify.h | 118 ++++++++-- fs/notify/fanotify/fanotify_user.c | 218 ++++++++++++----- fs/notify/fsnotify.c | 244 ++++++++++++++----- fs/notify/inotify/inotify.h | 6 +- fs/notify/inotify/inotify_fsnotify.c | 51 +++- fs/notify/inotify/inotify_user.c | 18 +- include/linux/fanotify.h | 6 +- include/linux/fsnotify.h | 84 ++++--- include/linux/fsnotify_backend.h | 93 ++++++-- include/uapi/linux/fanotify.h | 16 +- kernel/audit_fsnotify.c | 22 +- kernel/audit_tree.c | 10 +- kernel/audit_watch.c | 19 +- kernel/trace/trace.c | 3 +- 18 files changed, 966 insertions(+), 424 deletions(-) Thanks Honza -- Jan Kara <jack@xxxxxxxx> SUSE Labs, CR