diff options
author | Eric Paris <eparis@redhat.com> | 2009-12-17 21:24:21 -0500 |
---|---|---|
committer | Eric Paris <eparis@redhat.com> | 2010-07-28 09:58:49 -0400 |
commit | 74766bbfa99adf8cb8119df6121851edba21c9d9 (patch) | |
tree | 724dbee0d1e7794401e2d3bdd3c17fd2ce3e4635 /include/linux/fsnotify_backend.h | |
parent | 28c60e37f874dcbb93c4afc839ba5e4911c4f4bc (diff) |
fsnotify: per group notification queue merge types
inotify only wishes to merge a new event with the last event on the
notification fifo. fanotify is willing to merge any events including by
means of bitwise OR masks of multiple events together. This patch moves
the inotify event merging logic out of the generic fsnotify notification.c
and into the inotify code. This allows each use of fsnotify to provide
their own merge functionality.
Signed-off-by: Eric Paris <eparis@redhat.com>
Diffstat (limited to 'include/linux/fsnotify_backend.h')
-rw-r--r-- | include/linux/fsnotify_backend.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/include/linux/fsnotify_backend.h b/include/linux/fsnotify_backend.h index 0e0c2b76b067..25789d45fad8 100644 --- a/include/linux/fsnotify_backend.h +++ b/include/linux/fsnotify_backend.h | |||
@@ -328,8 +328,10 @@ extern struct fsnotify_event_private_data *fsnotify_remove_priv_from_event(struc | |||
328 | struct fsnotify_event *event); | 328 | struct fsnotify_event *event); |
329 | 329 | ||
330 | /* attach the event to the group notification queue */ | 330 | /* attach the event to the group notification queue */ |
331 | extern int fsnotify_add_notify_event(struct fsnotify_group *group, struct fsnotify_event *event, | 331 | extern int fsnotify_add_notify_event(struct fsnotify_group *group, |
332 | struct fsnotify_event_private_data *priv); | 332 | struct fsnotify_event *event, |
333 | struct fsnotify_event_private_data *priv, | ||
334 | int (*merge)(struct list_head *, struct fsnotify_event *)); | ||
333 | /* true if the group notification queue is empty */ | 335 | /* true if the group notification queue is empty */ |
334 | extern bool fsnotify_notify_queue_is_empty(struct fsnotify_group *group); | 336 | extern bool fsnotify_notify_queue_is_empty(struct fsnotify_group *group); |
335 | /* return, but do not dequeue the first event on the notification queue */ | 337 | /* return, but do not dequeue the first event on the notification queue */ |