Jan, Following v3 patch set addresses your review comments on v2 [2]. Please see LTP test [3] and man page draft [4] for evictable marks. Thanks, Amir. 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://github.com/amir73il/ltp/commits/fan_evictable [4] https://github.com/amir73il/man-pages/commits/fan_evictable 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_add_mark() via mark fsnotify: pass flags argument to fsnotify_alloc_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 | 95 +++++++++++++++------- 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 | 49 ++++++----- fs/notify/mark.c | 117 ++++++++++++++++++--------- include/linux/fanotify.h | 1 + include/linux/fsnotify_backend.h | 75 ++++++++++++----- include/uapi/linux/fanotify.h | 1 + kernel/audit_fsnotify.c | 6 +- kernel/audit_tree.c | 34 ++++---- kernel/audit_watch.c | 2 +- 17 files changed, 330 insertions(+), 167 deletions(-) -- 2.35.1