fsnotify: fix ignored mask handling between inode and vfsmount marks
authorEric Paris <eparis@redhat.com>
Wed, 18 Aug 2010 16:25:50 +0000 (12:25 -0400)
committerEric Paris <eparis@redhat.com>
Mon, 23 Aug 2010 00:09:41 +0000 (20:09 -0400)
commit84e1ab4d875922c034db7f4f814ac445a20a14bd
tree79c5755b8293f69c81e9942eeb54a62a81c9dc4b
parent88b2dbdbed551e4e21fdc8c56a15e198c52274e2
fsnotify: fix ignored mask handling between inode and vfsmount marks

The interesting 2 list lockstep walking didn't quite work out if the inode
marks only had ignores and the vfsmount list requested events.  The code to
shortcut list traversal would not run the inode list since it didn't have real
event requests.  This code forces inode list traversal when a vfsmount mark
matches the event type.  Maybe we could add an i_fsnotify_ignored_mask field
to struct inode to get the shortcut back, but it doesn't seem worth it to grow
struct inode again.

I bet with the recent changes to lock the way we do now it would actually not
be a major perf hit to just drop i_fsnotify_mark_mask altogether.  But that is
for another day.

Signed-off-by: Eric Paris <eparis@redhat.com>
fs/notify/fsnotify.c