[PATCH 4/4] inotify/dnotify: should_send_event shouldn't match onFS_EVENT_ON_CHILD

From: Eric Paris
Date: Mon Jun 01 2009 - 16:03:59 EST


inotify and dnotify will both indicate that they want any event which came
from a child inode. The fix is to mask off FS_EVENT_ON_CHILD when deciding
if inotify or dnotify is interested in a given event.

Signed-off-by: Eric Paris <eparis@xxxxxxxxxx>
---

fs/notify/dnotify/dnotify.c | 1 +
fs/notify/inotify/inotify_fsnotify.c | 1 +
2 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/fs/notify/dnotify/dnotify.c b/fs/notify/dnotify/dnotify.c
index ec459b6..98a7516 100644
--- a/fs/notify/dnotify/dnotify.c
+++ b/fs/notify/dnotify/dnotify.c
@@ -153,6 +153,7 @@ static bool dnotify_should_send_event(struct fsnotify_group *group,
if (!entry)
return false;

+ mask = (mask & ~FS_EVENT_ON_CHILD);
send = (mask & entry->mask);

fsnotify_put_mark(entry); /* matches fsnotify_find_mark_entry */
diff --git a/fs/notify/inotify/inotify_fsnotify.c b/fs/notify/inotify/inotify_fsnotify.c
index 160da54..7ef75b8 100644
--- a/fs/notify/inotify/inotify_fsnotify.c
+++ b/fs/notify/inotify/inotify_fsnotify.c
@@ -95,6 +95,7 @@ static bool inotify_should_send_event(struct fsnotify_group *group, struct inode
if (!entry)
return false;

+ mask = (mask & ~FS_EVENT_ON_CHILD);
send = (entry->mask & mask);

/* find took a reference */

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/