Lines Matching refs:group

107 		if (mark->group)  in fsnotify_put_mark()
108 fsnotify_put_group(mark->group); in fsnotify_put_mark()
130 struct fsnotify_group *group) in fsnotify_destroy_mark_locked() argument
134 BUG_ON(!mutex_is_locked(&group->mark_mutex)); in fsnotify_destroy_mark_locked()
161 mutex_unlock(&group->mark_mutex); in fsnotify_destroy_mark_locked()
178 if (group->ops->freeing_mark) in fsnotify_destroy_mark_locked()
179 group->ops->freeing_mark(mark, group); in fsnotify_destroy_mark_locked()
193 atomic_dec(&group->num_marks); in fsnotify_destroy_mark_locked()
195 mutex_lock_nested(&group->mark_mutex, SINGLE_DEPTH_NESTING); in fsnotify_destroy_mark_locked()
199 struct fsnotify_group *group) in fsnotify_destroy_mark() argument
201 mutex_lock_nested(&group->mark_mutex, SINGLE_DEPTH_NESTING); in fsnotify_destroy_mark()
202 fsnotify_destroy_mark_locked(mark, group); in fsnotify_destroy_mark()
203 mutex_unlock(&group->mark_mutex); in fsnotify_destroy_mark()
213 struct fsnotify_group *group; in fsnotify_destroy_marks() local
217 fsnotify_get_group(mark->group); in fsnotify_destroy_marks()
218 group = mark->group; in fsnotify_destroy_marks()
221 fsnotify_destroy_mark(mark, group); in fsnotify_destroy_marks()
223 fsnotify_put_group(group); in fsnotify_destroy_marks()
297 if ((lmark->group == mark->group) && !allow_dups) in fsnotify_add_mark_list()
300 cmp = fsnotify_compare_groups(lmark->group, mark->group); in fsnotify_add_mark_list()
319 struct fsnotify_group *group, struct inode *inode, in fsnotify_add_mark_locked() argument
326 BUG_ON(!mutex_is_locked(&group->mark_mutex)); in fsnotify_add_mark_locked()
337 fsnotify_get_group(group); in fsnotify_add_mark_locked()
338 mark->group = group; in fsnotify_add_mark_locked()
339 list_add(&mark->g_list, &group->marks_list); in fsnotify_add_mark_locked()
340 atomic_inc(&group->num_marks); in fsnotify_add_mark_locked()
344 ret = fsnotify_add_inode_mark(mark, group, inode, allow_dups); in fsnotify_add_mark_locked()
348 ret = fsnotify_add_vfsmount_mark(mark, group, mnt, allow_dups); in fsnotify_add_mark_locked()
366 fsnotify_put_group(group); in fsnotify_add_mark_locked()
367 mark->group = NULL; in fsnotify_add_mark_locked()
368 atomic_dec(&group->num_marks); in fsnotify_add_mark_locked()
380 int fsnotify_add_mark(struct fsnotify_mark *mark, struct fsnotify_group *group, in fsnotify_add_mark() argument
384 mutex_lock(&group->mark_mutex); in fsnotify_add_mark()
385 ret = fsnotify_add_mark_locked(mark, group, inode, mnt, allow_dups); in fsnotify_add_mark()
386 mutex_unlock(&group->mark_mutex); in fsnotify_add_mark()
395 struct fsnotify_group *group) in fsnotify_find_mark() argument
400 if (mark->group == group) { in fsnotify_find_mark()
411 void fsnotify_clear_marks_by_group_flags(struct fsnotify_group *group, in fsnotify_clear_marks_by_group_flags() argument
426 mutex_lock_nested(&group->mark_mutex, SINGLE_DEPTH_NESTING); in fsnotify_clear_marks_by_group_flags()
427 list_for_each_entry_safe(mark, lmark, &group->marks_list, g_list) { in fsnotify_clear_marks_by_group_flags()
431 mutex_unlock(&group->mark_mutex); in fsnotify_clear_marks_by_group_flags()
434 mutex_lock_nested(&group->mark_mutex, SINGLE_DEPTH_NESTING); in fsnotify_clear_marks_by_group_flags()
436 mutex_unlock(&group->mark_mutex); in fsnotify_clear_marks_by_group_flags()
441 fsnotify_destroy_mark_locked(mark, group); in fsnotify_clear_marks_by_group_flags()
442 mutex_unlock(&group->mark_mutex); in fsnotify_clear_marks_by_group_flags()
450 void fsnotify_clear_marks_by_group(struct fsnotify_group *group) in fsnotify_clear_marks_by_group() argument
452 fsnotify_clear_marks_by_group_flags(group, (unsigned int)-1); in fsnotify_clear_marks_by_group()
460 if (old->group) in fsnotify_duplicate_mark()
461 fsnotify_get_group(old->group); in fsnotify_duplicate_mark()
462 new->group = old->group; in fsnotify_duplicate_mark()