xref: /openbmc/linux/fs/notify/fsnotify.h (revision c28f7e56e9d95fb531dc3be8df2e7f52bee76d21)
190586523SEric Paris #ifndef __FS_NOTIFY_FSNOTIFY_H_
290586523SEric Paris #define __FS_NOTIFY_FSNOTIFY_H_
390586523SEric Paris 
490586523SEric Paris #include <linux/list.h>
590586523SEric Paris #include <linux/fsnotify.h>
690586523SEric Paris #include <linux/srcu.h>
790586523SEric Paris #include <linux/types.h>
890586523SEric Paris 
990586523SEric Paris /* protects reads of fsnotify_groups */
1090586523SEric Paris extern struct srcu_struct fsnotify_grp_srcu;
1190586523SEric Paris /* all groups which receive fsnotify events */
1290586523SEric Paris extern struct list_head fsnotify_groups;
1390586523SEric Paris /* all bitwise OR of all event types (FS_*) for all fsnotify_groups */
1490586523SEric Paris extern __u32 fsnotify_mask;
153be25f49SEric Paris 
163be25f49SEric Paris /* final kfree of a group */
173be25f49SEric Paris extern void fsnotify_final_destroy_group(struct fsnotify_group *group);
183be25f49SEric Paris /* run the list of all marks associated with inode and flag them to be freed */
193be25f49SEric Paris extern void fsnotify_clear_marks_by_inode(struct inode *inode);
20*c28f7e56SEric Paris /*
21*c28f7e56SEric Paris  * update the dentry->d_flags of all of inode's children to indicate if inode cares
22*c28f7e56SEric Paris  * about events that happen to its children.
23*c28f7e56SEric Paris  */
24*c28f7e56SEric Paris extern void __fsnotify_update_child_dentry_flags(struct inode *inode);
2590586523SEric Paris #endif	/* __FS_NOTIFY_FSNOTIFY_H_ */
26