summaryrefslogtreecommitdiffstats
path: root/fs/notify/fanotify
diff options
context:
space:
mode:
authorEric Paris <eparis@redhat.com>2010-07-28 10:18:39 -0400
committerEric Paris <eparis@redhat.com>2010-07-28 10:18:53 -0400
commit2612abb51b11ffd2d75c472b11178115f5808909 (patch)
tree5657a07a347984cc1f34117d7ef88af73ea12b60 /fs/notify/fanotify
parent0215054f377ce5ac4ffc27b26b13b3f10e6410e6 (diff)
downloadlinux-2612abb51b11ffd2d75c472b11178115f5808909.tar.bz2
fsnotify: cleanup should_send_event
The change to use srcu and walk the object list rather than the global fsnotify_group list means that should_send_event is no longer needed for a number of groups and can be simplified for others. Do that. Signed-off-by: Eric Paris <eparis@redhat.com>
Diffstat (limited to 'fs/notify/fanotify')
-rw-r--r--fs/notify/fanotify/fanotify.c23
1 files changed, 8 insertions, 15 deletions
diff --git a/fs/notify/fanotify/fanotify.c b/fs/notify/fanotify/fanotify.c
index 666ccb733066..fbd7f35c6134 100644
--- a/fs/notify/fanotify/fanotify.c
+++ b/fs/notify/fanotify/fanotify.c
@@ -185,22 +185,15 @@ static bool should_send_inode_event(struct fsnotify_group *group,
pr_debug("%s: group=%p inode=%p mark=%p mask=%x\n",
__func__, group, inode, mark, mask);
- /* if the event is for a child and this inode doesn't care about
- * events on the child, don't send it! */
+ /*
+ * if the event is for a child and this inode doesn't care about
+ * events on the child, don't send it!
+ */
if ((mask & FS_EVENT_ON_CHILD) &&
- !(mark->mask & FS_EVENT_ON_CHILD)) {
- mask = 0;
- } else {
- /*
- * We care about children, but do we care about this particular
- * type of event?
- */
- mask &= ~FS_EVENT_ON_CHILD;
- mask &= mark->mask;
- mask &= ~mark->ignored_mask;
- }
-
- return mask;
+ !(mark->mask & FS_EVENT_ON_CHILD))
+ return false;
+ else
+ return true;
}
static bool fanotify_should_send_event(struct fsnotify_group *group, struct inode *to_tell,