[PATCH v2 0/9] fanotify: add support for more event types

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Jan,

This is the final part of patch series to add support for filesystem
change monitoring to fanotify.

The end game is to use:
  fd = fanotify_init(FAN_CLASS_NOTIF|FAN_REPORT_FID, ...);
  rc = fanotify_mark(fd, FAN_MARK_FILESYSTEM, FAN_CREATE|FAN_DELETE...);
to monitor changes to a large scale namespace.

This functionality was not available with inotify API, which does not
scale well with recursive directory watches and was not available
with fanotify API, which did not support directory modification events.

This patch set depends on the fsnotify prep patches posted yesterday.
The entire work based on your fsnotify branch is available on my
fanotify_dentry branch [1].

I have tested this work with some preliminary LTP tests [2] and a demo
program [3]. Matthew Bobrowski has agreed to help me with writing more
tests and man pages (thanks Matthew!).

Last patch raises a question about how to deal with FAN_ONDIR flag with
new event types and proposed a minimal viable implementation that could
be used as a base for further discussion.

Thanks,
Amir.

[1] https://github.com/amir73il/linux/commits/fanotify_dentry
[2] https://github.com/amir73il/ltp/commits/fanotify_dentry
[3] https://github.com/amir73il/fsnotify-utils/blob/master/src/test/fanotify_demo.c

Amir Goldstein (9):
  fanotify: rename struct fanotify_{,perm_}event_info
  fanotify: define the structures to report a unique file identifier
  fanotify: classify events that hold a file identifier
  fanotify: encode file identifier for FAN_REPORT_FID
  fanotify: copy event fid info to user
  fanotify: enable FAN_REPORT_FID init flag
  fanotify: support events with data type FSNOTIFY_EVENT_DENTRY
  fanotify: add support for create/attrib/move/delete events
  fanotify: report FAN_ONDIR to listener for filename events

 fs/notify/fanotify/fanotify.c      | 199 ++++++++++++++++++++++++-----
 fs/notify/fanotify/fanotify.h      |  76 ++++++++---
 fs/notify/fanotify/fanotify_user.c | 131 ++++++++++++++++---
 fs/statfs.c                        |   3 +-
 include/linux/fanotify.h           |  31 ++++-
 include/linux/statfs.h             |   3 +
 include/uapi/linux/fanotify.h      |  45 ++++++-
 7 files changed, 408 insertions(+), 80 deletions(-)

-- 
2.17.1




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux