projects/linux·commit cd94c8bb

inotify: tail drop inotify q_overflow events

cd94c8bb · Eric Paris <[email protected]> · 2009-08-16 21:51:49 -04:00

In f44aebcc the tail drop logic of events with no file backing
(q_overflow and in_ignored) was reversed so IN_IGNORED events would
never be tail dropped.  This now means that Q_OVERFLOW events are NOT
tail dropped.  The fix is to not tail drop IN_IGNORED, but to tail drop
Q_OVERFLOW.

Signed-off-by: Eric Paris <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Commit
cd94c8bbef8d4b796a7ed4c551355a334604fd36
Parents
eef3a116

Changes

1 files changed · +4 −0

FileStatusAddDelContent
fs/notify/notification.cmodified+4−0View file

fs/notify/notification.c

View file
diff --git a/fs/notify/notification.c b/fs/notify/notification.c
index 74b3cf3..3816d57 100644
--- a/fs/notify/notification.c
+++ b/fs/notify/notification.c
@@ -153,6 +153,10 @@ static bool event_compare(struct fsnotify_event *old, struct fsnotify_event *new
return true;
break;
case (FSNOTIFY_EVENT_NONE):
+ if (old->mask & FS_Q_OVERFLOW)
+ return true;
+ else if (old->mask & FS_IN_IGNORED)
+ return false;
return false;
};
}