3be25f49b9
This patch creates a way for fsnotify groups to attach marks to inodes. These marks have little meaning to the generic fsnotify infrastructure and thus their meaning should be interpreted by the group that attached them to the inode's list. dnotify and inotify will make use of these markings to indicate which inodes are of interest to their respective groups. But this implementation has the useful property that in the future other listeners could actually use the marks for the exact opposite reason, aka to indicate which inodes it had NO interest in. Signed-off-by: Eric Paris <eparis@redhat.com> Acked-by: Al Viro <viro@zeniv.linux.org.uk> Cc: Christoph Hellwig <hch@lst.de>
20 lines
722 B
C
20 lines
722 B
C
#ifndef __FS_NOTIFY_FSNOTIFY_H_
|
|
#define __FS_NOTIFY_FSNOTIFY_H_
|
|
|
|
#include <linux/list.h>
|
|
#include <linux/fsnotify.h>
|
|
#include <linux/srcu.h>
|
|
#include <linux/types.h>
|
|
|
|
/* protects reads of fsnotify_groups */
|
|
extern struct srcu_struct fsnotify_grp_srcu;
|
|
/* all groups which receive fsnotify events */
|
|
extern struct list_head fsnotify_groups;
|
|
/* all bitwise OR of all event types (FS_*) for all fsnotify_groups */
|
|
extern __u32 fsnotify_mask;
|
|
|
|
/* final kfree of a group */
|
|
extern void fsnotify_final_destroy_group(struct fsnotify_group *group);
|
|
/* run the list of all marks associated with inode and flag them to be freed */
|
|
extern void fsnotify_clear_marks_by_inode(struct inode *inode);
|
|
#endif /* __FS_NOTIFY_FSNOTIFY_H_ */
|