From 3fc6e5d340059b49b5989afa35b82360d59cf2fc Mon Sep 17 00:00:00 2001 From: Eric Paris Date: Mon, 13 Jul 2009 15:56:55 -0400 Subject: [PATCH] --- yaml --- r: 155898 b: refs/heads/master c: 4a148ba988988b9c400ad0f2cbccc155289b954b h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/fs/notify/notification.c | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 1779085a623f..1b4833eec5f4 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 520dc2a526fd681337883b6ff1ddcf7c23b1b063 +refs/heads/master: 4a148ba988988b9c400ad0f2cbccc155289b954b diff --git a/trunk/fs/notify/notification.c b/trunk/fs/notify/notification.c index 959b73e756fd..69391fe8efb1 100644 --- a/trunk/fs/notify/notification.c +++ b/trunk/fs/notify/notification.c @@ -136,10 +136,15 @@ static bool event_compare(struct fsnotify_event *old, struct fsnotify_event *new { if ((old->mask == new->mask) && (old->to_tell == new->to_tell) && - (old->data_type == new->data_type)) { + (old->data_type == new->data_type) && + (old->name_len == new->name_len)) { switch (old->data_type) { case (FSNOTIFY_EVENT_INODE): - if (old->inode == new->inode) + /* remember, after old was put on the wait_q we aren't + * allowed to look at the inode any more, only thing + * left to check was if the file_name is the same */ + if (old->name_len && + !strcmp(old->file_name, new->file_name)) return true; break; case (FSNOTIFY_EVENT_PATH):