Lines Matching refs:group

156 	int (*handle_event)(struct fsnotify_group *group, u32 mask,
163 void (*free_group_priv)(struct fsnotify_group *group);
164 void (*freeing_mark)(struct fsnotify_mark *mark, struct fsnotify_group *group);
165 void (*free_event)(struct fsnotify_group *group, struct fsnotify_event *event);
264 static inline void fsnotify_group_lock(struct fsnotify_group *group) in fsnotify_group_lock() argument
266 mutex_lock(&group->mark_mutex); in fsnotify_group_lock()
267 if (group->flags & FSNOTIFY_GROUP_NOFS) in fsnotify_group_lock()
268 group->owner_flags = memalloc_nofs_save(); in fsnotify_group_lock()
271 static inline void fsnotify_group_unlock(struct fsnotify_group *group) in fsnotify_group_unlock() argument
273 if (group->flags & FSNOTIFY_GROUP_NOFS) in fsnotify_group_unlock()
274 memalloc_nofs_restore(group->owner_flags); in fsnotify_group_unlock()
275 mutex_unlock(&group->mark_mutex); in fsnotify_group_unlock()
278 static inline void fsnotify_group_assert_locked(struct fsnotify_group *group) in fsnotify_group_assert_locked() argument
280 WARN_ON_ONCE(!mutex_is_locked(&group->mark_mutex)); in fsnotify_group_assert_locked()
281 if (group->flags & FSNOTIFY_GROUP_NOFS) in fsnotify_group_assert_locked()
510 struct fsnotify_group *group; member
602 extern void fsnotify_get_group(struct fsnotify_group *group);
604 extern void fsnotify_put_group(struct fsnotify_group *group);
606 extern void fsnotify_group_stop_queueing(struct fsnotify_group *group);
608 extern void fsnotify_destroy_group(struct fsnotify_group *group);
612 extern void fsnotify_destroy_event(struct fsnotify_group *group,
615 extern int fsnotify_insert_event(struct fsnotify_group *group,
622 static inline int fsnotify_add_event(struct fsnotify_group *group, in fsnotify_add_event() argument
627 return fsnotify_insert_event(group, event, merge, NULL); in fsnotify_add_event()
631 static inline void fsnotify_queue_overflow(struct fsnotify_group *group) in fsnotify_queue_overflow() argument
633 fsnotify_add_event(group, group->overflow_event, NULL); in fsnotify_queue_overflow()
641 static inline bool fsnotify_notify_queue_is_empty(struct fsnotify_group *group) in fsnotify_notify_queue_is_empty() argument
643 assert_spin_locked(&group->notification_lock); in fsnotify_notify_queue_is_empty()
645 return list_empty(&group->notification_list); in fsnotify_notify_queue_is_empty()
648 extern bool fsnotify_notify_queue_is_empty(struct fsnotify_group *group);
650 extern struct fsnotify_event *fsnotify_peek_first_event(struct fsnotify_group *group);
652 extern struct fsnotify_event *fsnotify_remove_first_event(struct fsnotify_group *group);
654 extern void fsnotify_remove_queued_event(struct fsnotify_group *group,
759 struct fsnotify_group *group);
762 struct fsnotify_group *group);
794 struct fsnotify_group *group);
802 extern void fsnotify_clear_marks_by_group(struct fsnotify_group *group,
805 static inline void fsnotify_clear_vfsmount_marks_by_group(struct fsnotify_group *group) in fsnotify_clear_vfsmount_marks_by_group() argument
807 fsnotify_clear_marks_by_group(group, FSNOTIFY_OBJ_TYPE_VFSMOUNT); in fsnotify_clear_vfsmount_marks_by_group()
810 static inline void fsnotify_clear_inode_marks_by_group(struct fsnotify_group *group) in fsnotify_clear_inode_marks_by_group() argument
812 fsnotify_clear_marks_by_group(group, FSNOTIFY_OBJ_TYPE_INODE); in fsnotify_clear_inode_marks_by_group()
815 static inline void fsnotify_clear_sb_marks_by_group(struct fsnotify_group *group) in fsnotify_clear_sb_marks_by_group() argument
817 fsnotify_clear_marks_by_group(group, FSNOTIFY_OBJ_TYPE_SB); in fsnotify_clear_sb_marks_by_group()