fsnotify_group
static struct fsnotify_group *nfsd_file_fsnotify_group;
static struct fsnotify_group *dnotify_group __ro_after_init;
static void fanotify_free_group_priv(struct fsnotify_group *group)
static void fanotify_free_error_event(struct fsnotify_group *group,
static void fanotify_free_event(struct fsnotify_group *group,
struct fsnotify_group *group)
static int fanotify_merge(struct fsnotify_group *group,
static int fanotify_get_response(struct fsnotify_group *group,
static u32 fanotify_group_event_mask(struct fsnotify_group *group,
struct fsnotify_group *group,
struct fsnotify_group *group,
static void fanotify_insert_event(struct fsnotify_group *group,
static int fanotify_handle_event(struct fsnotify_group *group, u32 mask,
struct fsnotify_group *group,
struct fsnotify_group *group;
struct fsnotify_group *group = file->private_data;
struct fsnotify_group *group;
struct fsnotify_group *group;
static int fanotify_remove_mark(struct fsnotify_group *group,
static int fanotify_set_mark_fsid(struct fsnotify_group *group,
static struct fsnotify_mark *fanotify_add_new_mark(struct fsnotify_group *group,
static int fanotify_group_init_error_pool(struct fsnotify_group *group)
static int fanotify_add_mark(struct fsnotify_group *group,
DEFINE_CLASS(fsnotify_group,
struct fsnotify_group *,
static void fanotify_perm_watchdog_group_remove(struct fsnotify_group *group)
CLASS(fsnotify_group, group)(&fanotify_fsnotify_ops,
static void fanotify_perm_watchdog_group_add(struct fsnotify_group *group)
static int fanotify_events_supported(struct fsnotify_group *group,
struct fsnotify_group *group;
static void fanotify_unhash_event(struct fsnotify_group *group,
static struct fanotify_event *get_one_event(struct fsnotify_group *group,
static int create_fd(struct fsnotify_group *group, const struct path *path,
static void finish_permission_event(struct fsnotify_group *group,
static int process_access_response(struct fsnotify_group *group,
static ssize_t copy_event_to_user(struct fsnotify_group *group,
struct fsnotify_group *group = file->private_data;
struct fsnotify_group *group;
struct fsnotify_group *group = f->private_data;
struct fsnotify_group *group = f->private_data;
static int fsnotify_handle_inode_event(struct fsnotify_group *group,
static int fsnotify_handle_event(struct fsnotify_group *group, __u32 mask,
struct fsnotify_group *group = NULL;
struct fsnotify_group *max_prio_group = NULL;
extern void fsnotify_flush_notify(struct fsnotify_group *group);
extern int fsnotify_compare_groups(struct fsnotify_group *a,
struct fsnotify_group *b);
void fsnotify_put_group(struct fsnotify_group *group)
static struct fsnotify_group *__fsnotify_alloc_group(
struct fsnotify_group *group;
group = kzalloc_obj(struct fsnotify_group, gfp);
struct fsnotify_group *fsnotify_alloc_group(const struct fsnotify_ops *ops,
struct fsnotify_group *group = file->private_data;
static void fsnotify_final_destroy_group(struct fsnotify_group *group)
void fsnotify_group_stop_queueing(struct fsnotify_group *group)
void fsnotify_destroy_group(struct fsnotify_group *group)
void fsnotify_get_group(struct fsnotify_group *group)
struct fsnotify_group *group);
static void inotify_freeing_mark(struct fsnotify_mark *fsn_mark, struct fsnotify_group *group)
static void inotify_free_group_priv(struct fsnotify_group *group)
static void inotify_free_event(struct fsnotify_group *group,
static int inotify_merge(struct fsnotify_group *group,
struct fsnotify_group *group = inode_mark->group;
struct fsnotify_group *group = file->private_data;
static struct fsnotify_event *get_one_event(struct fsnotify_group *group,
static ssize_t copy_event_to_user(struct fsnotify_group *group,
struct fsnotify_group *group;
struct fsnotify_group *group = file->private_data;
struct fsnotify_group *group;
static struct inotify_inode_mark *inotify_idr_find_locked(struct fsnotify_group *group,
static struct inotify_inode_mark *inotify_idr_find(struct fsnotify_group *group,
static void inotify_remove_from_idr(struct fsnotify_group *group,
struct fsnotify_group *group)
static int inotify_update_existing_watch(struct fsnotify_group *group,
static int inotify_new_watch(struct fsnotify_group *group,
static int inotify_update_watch(struct fsnotify_group *group, struct inode *inode, u32 arg)
static struct fsnotify_group *inotify_new_group(unsigned int max_events)
struct fsnotify_group *group;
struct fsnotify_group *group;
struct fsnotify_group *group;
struct fsnotify_group *group;
struct fsnotify_group *group)
struct fsnotify_group *group = mark->group;
struct fsnotify_group *group = mark->group;
struct fsnotify_group *group = mark->group;
struct fsnotify_group *group)
int fsnotify_compare_groups(struct fsnotify_group *a, struct fsnotify_group *b)
struct fsnotify_group *group = mark->group;
struct fsnotify_group *group = mark->group;
struct fsnotify_group *group)
void fsnotify_clear_marks_by_group(struct fsnotify_group *group,
void fsnotify_remove_queued_event(struct fsnotify_group *group,
struct fsnotify_event *fsnotify_peek_first_event(struct fsnotify_group *group)
struct fsnotify_event *fsnotify_remove_first_event(struct fsnotify_group *group)
void fsnotify_flush_notify(struct fsnotify_group *group)
void fsnotify_destroy_event(struct fsnotify_group *group,
int fsnotify_insert_event(struct fsnotify_group *group,
int (*merge)(struct fsnotify_group *,
void (*insert)(struct fsnotify_group *,
struct fsnotify_group;
int (*handle_event)(struct fsnotify_group *group, u32 mask,
void (*free_group_priv)(struct fsnotify_group *group);
void (*freeing_mark)(struct fsnotify_mark *mark, struct fsnotify_group *group);
void (*free_event)(struct fsnotify_group *group, struct fsnotify_event *event);
static inline void fsnotify_group_lock(struct fsnotify_group *group)
static inline void fsnotify_group_unlock(struct fsnotify_group *group)
static inline void fsnotify_group_assert_locked(struct fsnotify_group *group)
struct fsnotify_group *current_group;
struct fsnotify_group *group;
extern struct fsnotify_group *fsnotify_alloc_group(
extern void fsnotify_get_group(struct fsnotify_group *group);
extern void fsnotify_put_group(struct fsnotify_group *group);
extern void fsnotify_group_stop_queueing(struct fsnotify_group *group);
extern void fsnotify_destroy_group(struct fsnotify_group *group);
extern void fsnotify_destroy_event(struct fsnotify_group *group,
extern int fsnotify_insert_event(struct fsnotify_group *group,
int (*merge)(struct fsnotify_group *,
void (*insert)(struct fsnotify_group *,
static inline int fsnotify_add_event(struct fsnotify_group *group,
int (*merge)(struct fsnotify_group *,
static inline void fsnotify_queue_overflow(struct fsnotify_group *group)
static inline bool fsnotify_notify_queue_is_empty(struct fsnotify_group *group)
extern bool fsnotify_notify_queue_is_empty(struct fsnotify_group *group);
extern struct fsnotify_event *fsnotify_peek_first_event(struct fsnotify_group *group);
extern struct fsnotify_event *fsnotify_remove_first_event(struct fsnotify_group *group);
extern void fsnotify_remove_queued_event(struct fsnotify_group *group,
struct fsnotify_group *group);
struct fsnotify_group *group);
struct fsnotify_group *group)
struct fsnotify_group *group);
extern void fsnotify_clear_marks_by_group(struct fsnotify_group *group,
static struct fsnotify_group *audit_fsnotify_group;
struct fsnotify_group *group)
static struct fsnotify_group *audit_tree_group __ro_after_init;
static struct fsnotify_group *audit_watch_group;