Jan, Following v4 patch set addresses your review comments on v3 [3]. I allowed myself to take the clean you requested for fanotify_mark_update_flags() and recalc argument a bit further. I hope you will like the result. Thanks, Amir. Changes since v3 [3]: - Drop FSNOTIFY_GROUP_FLAG() macro - Make ALLOW_DUPS a group flag - Return recalc by value from fanotify_mark_update_flags() - Rename some flags arguments to fan_flags - Update outdated comments and commit message - Rebased and tested on v5.18-rc3 Changes since v2 [2]: - Simplify group lock helpers (Jan) - Move FSNOTIFY_GROUP_NOFS flag to group object (Jan) - Split patch of fanotify_mark_user_flags() (Jan) - Fix bug in case of EEXIST - Drop ioctl for debugging - Rebased and tested on v5.18-rc1 Changes since v1 [1]: - Fixes for direct reclaim deadlock - Add ioctl for direct reclaim test - Rebrand as FAN_MARK_EVICTABLE - Remove FAN_MARK_CREATE and allow clearing FAN_MARK_EVICTABLE - Replace connector proxy_iref with HAS_IREF flag - Take iref in fsnotify_reclac_mark() rather than on add mark to list - Remove fsnotify_add_mark() allow_dups/flags argument - Remove pr_debug() prints [1] https://lore.kernel.org/r/20220307155741.1352405-1-amir73il@xxxxxxxxx/ [2] https://lore.kernel.org/r/20220329074904.2980320-1-amir73il@xxxxxxxxx/ [3] https://lore.kernel.org/r/20220413090935.3127107-1-amir73il@xxxxxxxxx/ Amir Goldstein (16): inotify: show inotify mask flags in proc fdinfo inotify: move control flags from mask to mark flags fsnotify: fix wrong lockdep annotations fsnotify: pass flags argument to fsnotify_alloc_group() fsnotify: make allow_dups a property of the group fsnotify: create helpers for group mark_mutex lock inotify: use fsnotify group lock helpers audit: use fsnotify group lock helpers nfsd: use fsnotify group lock helpers dnotify: use fsnotify group lock helpers fsnotify: allow adding an inode mark without pinning inode fanotify: create helper fanotify_mark_user_flags() fanotify: factor out helper fanotify_mark_update_flags() fanotify: implement "evictable" inode marks fanotify: use fsnotify group lock helpers fanotify: enable "evictable" inode marks fs/nfsd/filecache.c | 14 ++-- fs/notify/dnotify/dnotify.c | 13 +-- fs/notify/fanotify/fanotify.h | 12 +++ fs/notify/fanotify/fanotify_user.c | 100 +++++++++++++++-------- fs/notify/fdinfo.c | 21 ++--- fs/notify/fsnotify.c | 4 +- fs/notify/group.c | 32 +++++--- fs/notify/inotify/inotify.h | 19 +++++ fs/notify/inotify/inotify_fsnotify.c | 2 +- fs/notify/inotify/inotify_user.c | 47 ++++++----- fs/notify/mark.c | 115 ++++++++++++++++++--------- include/linux/fanotify.h | 1 + include/linux/fsnotify_backend.h | 67 ++++++++++++---- include/uapi/linux/fanotify.h | 1 + kernel/audit_fsnotify.c | 5 +- kernel/audit_tree.c | 34 ++++---- kernel/audit_watch.c | 2 +- 17 files changed, 324 insertions(+), 165 deletions(-) -- 2.35.1