Merge branch 'stable-4.10' of git://git.infradead.org/users/pcmoore/audit
[sfrench/cifs-2.6.git] / include / linux / fsnotify_backend.h
index ce77caa2bb107a844eba6c21fd051d01bf2acf4a..487246546ebebb63da20fde2eb12bd9a2914040c 100644 (file)
@@ -96,7 +96,7 @@ struct fsnotify_ops {
                            struct inode *inode,
                            struct fsnotify_mark *inode_mark,
                            struct fsnotify_mark *vfsmount_mark,
-                           u32 mask, void *data, int data_type,
+                           u32 mask, const void *data, int data_type,
                            const unsigned char *file_name, u32 cookie);
        void (*free_group_priv)(struct fsnotify_group *group);
        void (*freeing_mark)(struct fsnotify_mark *mark, struct fsnotify_group *group);
@@ -135,7 +135,7 @@ struct fsnotify_group {
        const struct fsnotify_ops *ops; /* how this group handles things */
 
        /* needed to send notification to userspace */
-       struct mutex notification_mutex;        /* protect the notification_list */
+       spinlock_t notification_lock;           /* protect the notification_list */
        struct list_head notification_list;     /* list of event_holder this group needs to send to userspace */
        wait_queue_head_t notification_waitq;   /* read() on the notification file blocks on this waitq */
        unsigned int q_len;                     /* events on the queue */
@@ -177,7 +177,6 @@ struct fsnotify_group {
                struct fanotify_group_private_data {
 #ifdef CONFIG_FANOTIFY_ACCESS_PERMISSIONS
                        /* allows a group to block waiting for a userspace response */
-                       spinlock_t access_lock;
                        struct list_head access_list;
                        wait_queue_head_t access_waitq;
 #endif /* CONFIG_FANOTIFY_ACCESS_PERMISSIONS */
@@ -246,9 +245,9 @@ struct fsnotify_mark {
 /* called from the vfs helpers */
 
 /* main fsnotify call to send events */
-extern int fsnotify(struct inode *to_tell, __u32 mask, void *data, int data_is,
+extern int fsnotify(struct inode *to_tell, __u32 mask, const void *data, int data_is,
                    const unsigned char *name, u32 cookie);
-extern int __fsnotify_parent(struct path *path, struct dentry *dentry, __u32 mask);
+extern int __fsnotify_parent(const struct path *path, struct dentry *dentry, __u32 mask);
 extern void __fsnotify_inode_delete(struct inode *inode);
 extern void __fsnotify_vfsmount_delete(struct vfsmount *mnt);
 extern u32 fsnotify_get_cookie(void);
@@ -356,13 +355,13 @@ extern void fsnotify_init_event(struct fsnotify_event *event,
 
 #else
 
-static inline int fsnotify(struct inode *to_tell, __u32 mask, void *data, int data_is,
+static inline int fsnotify(struct inode *to_tell, __u32 mask, const void *data, int data_is,
                           const unsigned char *name, u32 cookie)
 {
        return 0;
 }
 
-static inline int __fsnotify_parent(struct path *path, struct dentry *dentry, __u32 mask)
+static inline int __fsnotify_parent(const struct path *path, struct dentry *dentry, __u32 mask)
 {
        return 0;
 }