summaryrefslogtreecommitdiffstats
path: root/fs/notify
diff options
context:
space:
mode:
authorEric Paris <eparis@redhat.com>2009-07-13 15:56:55 -0400
committerEric Paris <eparis@redhat.com>2009-07-21 15:26:26 -0400
commitc05594b62125c528d93af3a78229793aae36df7f (patch)
tree2e9b2ba0ea63d3587cb3c6dc7d72e7a202aade52 /fs/notify
parent4a148ba988988b9c400ad0f2cbccc155289b954b (diff)
downloadlinux-c05594b62125c528d93af3a78229793aae36df7f.tar.bz2
fsnotify: fix inotify tail drop check with path entries
fsnotify drops new events when they are the same as the tail event on the queue to be sent to userspace. The problem is that if the event comes with a path we forget to break out of the switch statement and fall into the code path which matches on events that do not have any type of file backed information (things like IN_UNMOUNT and IN_Q_OVERFLOW). The problem is that this code thinks all such events should be dropped. Fix is to add a break. Signed-off-by: Eric Paris <eparis@redhat.com>
Diffstat (limited to 'fs/notify')
-rw-r--r--fs/notify/notification.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/notify/notification.c b/fs/notify/notification.c
index 69391fe8efb1..2b20feaf263a 100644
--- a/fs/notify/notification.c
+++ b/fs/notify/notification.c
@@ -151,6 +151,7 @@ static bool event_compare(struct fsnotify_event *old, struct fsnotify_event *new
if ((old->path.mnt == new->path.mnt) &&
(old->path.dentry == new->path.dentry))
return true;
+ break;
case (FSNOTIFY_EVENT_NONE):
return true;
};