]> Pileus Git - ~andy/linux/blobdiff - fs/notify/inotify/inotify.h
fsnotify: do not share events between notification groups
[~andy/linux] / fs / notify / inotify / inotify.h
index b6642e4de4bf978400d96f74da34c05f7040ab02..485eef3f4407a0371d903c08a75c9f262dfde82e 100644 (file)
@@ -2,11 +2,12 @@
 #include <linux/inotify.h>
 #include <linux/slab.h> /* struct kmem_cache */
 
-extern struct kmem_cache *event_priv_cachep;
-
-struct inotify_event_private_data {
-       struct fsnotify_event_private_data fsnotify_event_priv_data;
+struct inotify_event_info {
+       struct fsnotify_event fse;
        int wd;
+       u32 sync_cookie;
+       int name_len;
+       char name[];
 };
 
 struct inotify_inode_mark {
@@ -14,8 +15,18 @@ struct inotify_inode_mark {
        int wd;
 };
 
+static inline struct inotify_event_info *INOTIFY_E(struct fsnotify_event *fse)
+{
+       return container_of(fse, struct inotify_event_info, fse);
+}
+
 extern void inotify_ignored_and_remove_idr(struct fsnotify_mark *fsn_mark,
                                           struct fsnotify_group *group);
-extern void inotify_free_event_priv(struct fsnotify_event_private_data *event_priv);
+extern int inotify_handle_event(struct fsnotify_group *group,
+                               struct inode *inode,
+                               struct fsnotify_mark *inode_mark,
+                               struct fsnotify_mark *vfsmount_mark,
+                               u32 mask, void *data, int data_type,
+                               const unsigned char *file_name);
 
 extern const struct fsnotify_ops inotify_fsnotify_ops;