Hello, On Thu 10-01-19 19:04:27, Amir Goldstein wrote: > This is the 5th revision of patch series to add support for filesystem > change monitoring to fanotify. > > The complete work is available on fanotify_dirent-v5 branch [1] on github. > > LTP tests by Matthew Bobrowski for FAN_REPORT_FID are available on > my LTP branch fanotify_fid [2]. A WIP test for dirent events is > available on my LTP branch fanotify_dirent [3]. > Matthew Bobrowski is working on a proper test for dirent events and on > man pages for both FAN_REPORT_FID and dirent events (Thanks!). > > The combined functionality of FAN_MARK_FILESYSTEM, FAN_REPORT_FID and > dirent modification events is demonstrated with a prototype of global > filesystem monitor based on inotify-tools [4]. OK, I've finally got to reading all the patches and pushing them to my tree with some small changes. The result is in 'fsnotify' branch in my tree. All LTP tests (including the new ones) passed so if 0-day does not barf, I'll push the branch to for_next tomorrow. Thanks for your work! Honza > > Thanks, > Amir. > > Changes since v4: > - Rebase on v5.0-rc1 > - Address style review comments on v4 > - info_len includes padding to info_hdr alignment > - handle caching of fsid correctly when inotify marks on object exist > - Report dirent events on subdirs only with FAN_ONDIR > - Report XXX_SELF events on directories only with FAN_ONDIR > - Do not merge dirent events on subdirs with dirent events on non subdirs > > [1] https://github.com/amir73il/linux/commits/fanotify_dirent-v5 > [2] https://github.com/amir73il/ltp/commits/fanotify_fid > [3] https://github.com/amir73il/ltp/commits/fanotify_dirent > [4] https://github.com/amir73il/inotify-tools/commits/fanotify_dirent > > Amir Goldstein (17): > fsnotify: annotate directory entry modification events > fsnotify: remove dirent events from FS_EVENTS_POSS_ON_CHILD mask > fsnotify: send all event types to super block marks > fsnotify: move mask out of struct fsnotify_event > fanotify: rename struct fanotify_{,perm_}event_info > fanotify: open code fill_event_metadata() > fanotify: encode file identifier for FAN_REPORT_FID > fanotify: copy event fid info to user > fanotify: enable FAN_REPORT_FID init flag > fanotify: cache fsid in fsnotify_mark_connector > vfs: add vfs_get_fsid() helper > fanotify: use vfs_get_fsid() helper instead of vfs_statfs() > fsnotify: report FS_ISDIR flag with MOVE_SELF and DELETE_SELF events > fanotify: check FS_ISDIR flag instead of d_is_dir() > fanotify: support events with data type FSNOTIFY_EVENT_INODE > fanotify: add support for create/attrib/move/delete events > fanotify: report FAN_ONDIR to listener with FAN_REPORT_FID > > fs/notify/fanotify/fanotify.c | 229 +++++++++++++++++---- > fs/notify/fanotify/fanotify.h | 105 ++++++++-- > fs/notify/fanotify/fanotify_user.c | 288 +++++++++++++++++++-------- > fs/notify/fsnotify.c | 15 +- > fs/notify/inotify/inotify.h | 1 + > fs/notify/inotify/inotify_fsnotify.c | 18 +- > fs/notify/inotify/inotify_user.c | 5 +- > fs/notify/mark.c | 47 ++++- > fs/notify/notification.c | 22 +- > fs/statfs.c | 14 ++ > include/linux/fanotify.h | 26 ++- > include/linux/fsnotify.h | 94 +++++++-- > include/linux/fsnotify_backend.h | 70 ++++--- > include/linux/statfs.h | 3 + > include/uapi/linux/fanotify.h | 29 +++ > 15 files changed, 753 insertions(+), 213 deletions(-) > > -- > 2.17.1 > -- Jan Kara <jack@xxxxxxxx> SUSE Labs, CR