Lines Matching refs:fsn_mark
719 static __u32 fanotify_mark_remove_from_mask(struct fsnotify_mark *fsn_mark,
727 spin_lock(&fsn_mark->lock);
729 oldmask = fsn_mark->mask;
730 fsn_mark->mask &= ~mask;
732 fsn_mark->ignored_mask &= ~mask;
740 *destroy = !((fsn_mark->mask | fsn_mark->ignored_mask) & ~umask);
741 spin_unlock(&fsn_mark->lock);
750 struct fsnotify_mark *fsn_mark = NULL;
755 fsn_mark = fsnotify_find_mark(connp, group);
756 if (!fsn_mark) {
761 removed = fanotify_mark_remove_from_mask(fsn_mark, mask, flags,
763 if (removed & fsnotify_conn_mask(fsn_mark->connector))
764 fsnotify_recalc_mask(fsn_mark->connector);
766 fsnotify_detach_mark(fsn_mark);
769 fsnotify_free_mark(fsn_mark);
772 fsnotify_put_mark(fsn_mark);
800 static __u32 fanotify_mark_add_to_mask(struct fsnotify_mark *fsn_mark,
806 spin_lock(&fsn_mark->lock);
808 oldmask = fsn_mark->mask;
809 fsn_mark->mask |= mask;
811 fsn_mark->ignored_mask |= mask;
813 fsn_mark->flags |= FSNOTIFY_MARK_FLAG_IGNORED_SURV_MODIFY;
815 spin_unlock(&fsn_mark->lock);
851 struct fsnotify_mark *fsn_mark;
855 fsn_mark = fsnotify_find_mark(connp, group);
856 if (!fsn_mark) {
857 fsn_mark = fanotify_add_new_mark(group, connp, type, fsid);
858 if (IS_ERR(fsn_mark)) {
860 return PTR_ERR(fsn_mark);
863 added = fanotify_mark_add_to_mask(fsn_mark, mask, flags);
864 if (added & ~fsnotify_conn_mask(fsn_mark->connector))
865 fsnotify_recalc_mask(fsn_mark->connector);
868 fsnotify_put_mark(fsn_mark);