Jan, I was working on some non urgent cleanups and stumbled on a bug, so flushing my patch queue as is. Patches 1-2 are cleanups needed for the bug fix in patch 3. This [1] LTP test demonstrates the bug. Patches 4-5 are pretty simple cleanups that you may or may not like to apply without the work that they build up to (I started this as prep work for subtree marks iterator). Patches 6-7 are optimizations related to ignored mask which we discussed in the past. I have written them a while back and had put them aside because I have no means to run performance tests that will demonstrate the benefit, which is probably not huge. Since you suggested those optimizations (at least the first one), I decided to post and let you choose what to do with them. Thanks, Amir. [1] https://github.com/amir73il/ltp/commits/fsnotify-fixes Amir Goldstein (7): fsnotify: generalize handle_inode_event() inotify: convert to handle_inode_event() interface fsnotify: fix events reported to watching parent and child fsnotify: clarify object type argument fsnotify: separate mark iterator type from object type enum fsnotify: optimize FS_MODIFY events with no ignored masks fsnotify: optimize merging of marks with no ignored masks fs/nfsd/filecache.c | 2 +- fs/notify/dnotify/dnotify.c | 2 +- fs/notify/fanotify/fanotify.c | 16 +-- fs/notify/fanotify/fanotify_user.c | 44 +++++--- fs/notify/fsnotify.c | 147 +++++++++++++++++---------- fs/notify/group.c | 2 +- fs/notify/inotify/inotify.h | 9 +- fs/notify/inotify/inotify_fsnotify.c | 47 ++------- fs/notify/inotify/inotify_user.c | 7 +- fs/notify/mark.c | 30 +++--- include/linux/fsnotify_backend.h | 92 +++++++++++------ kernel/audit_fsnotify.c | 2 +- kernel/audit_tree.c | 2 +- kernel/audit_watch.c | 2 +- 14 files changed, 233 insertions(+), 171 deletions(-) -- 2.25.1