Lines Matching defs:mark

60  * Set on inode mark that cares about things that happen to its children.
95 * It may include events that can be sent to an inode/sb/mount mark, but cannot
139 * @mark: mark to notify
150 * freeing_mark - called when a mark is being destroyed for some reason. The group
151 * MUST be holding a reference on each mark and that reference must be
160 int (*handle_inode_event)(struct fsnotify_mark *mark, u32 mask,
164 void (*freeing_mark)(struct fsnotify_mark *mark, struct fsnotify_group *group);
167 void (*free_mark)(struct fsnotify_mark *mark);
262 * evictable marks of the same group that is allocating a new mark.
385 /* The type of object that a mark is attached to */
453 #define fsnotify_foreach_iter_mark_type(iter, mark, type) \
455 type = fsnotify_iter_step(iter, type, &mark), \
487 * A mark is simply an object attached to an in core inode which allows an
498 * mnt->mnt_root->d_lock depending on the mark type.
501 /* Mask this mark is for [mark->lock, group->mark_mutex] */
504 * in kernel that found and may be using this mark. */
506 /* Group this mark is for. Set on mark creation, stable until last ref
510 * mark into destroy_list when it's waiting for the end of SRCU period
515 /* List of marks for inode / vfsmount [connector->lock, mark ref] */
517 /* Head of list of marks for an object [mark ref] */
519 /* Events types and flags to ignore [mark->lock, group->mark_mutex] */
521 /* General fsnotify mark flags */
524 /* inotify mark flags */
527 /* fanotify mark flags */
533 unsigned int flags; /* flags [mark->lock] */
557 * This object might be watched by a mark that cares about parent/name
667 static inline __u32 fsnotify_ignore_mask(struct fsnotify_mark *mark)
669 __u32 ignore_mask = mark->ignore_mask;
672 if (mark->flags & FSNOTIFY_MARK_FLAG_HAS_IGNORE_FLAGS)
682 ignore_mask |= mark->mask & FS_EVENT_ON_CHILD;
688 static inline __u32 fsnotify_ignored_events(struct fsnotify_mark *mark)
690 return mark->ignore_mask & ALL_FSNOTIFY_EVENTS;
716 static inline __u32 fsnotify_effective_ignore_mask(struct fsnotify_mark *mark,
719 __u32 ignore_mask = fsnotify_ignored_events(mark);
728 ignore_mask = fsnotify_ignore_mask(mark);
736 static inline __u32 fsnotify_calc_mask(struct fsnotify_mark *mark)
738 __u32 mask = mark->mask;
740 if (!fsnotify_ignored_events(mark))
744 if (!(mark->flags & FSNOTIFY_MARK_FLAG_IGNORED_SURV_MODIFY))
748 * If mark is interested in ignoring events on children, the object must
751 return mask | mark->ignore_mask;
758 extern void fsnotify_init_mark(struct fsnotify_mark *mark,
760 /* Find mark belonging to given group in the list of marks */
763 /* attach the mark to the object */
764 extern int fsnotify_add_mark(struct fsnotify_mark *mark,
767 extern int fsnotify_add_mark_locked(struct fsnotify_mark *mark,
771 /* attach the mark to the inode */
772 static inline int fsnotify_add_inode_mark(struct fsnotify_mark *mark,
776 return fsnotify_add_mark(mark, &inode->i_fsnotify_marks,
779 static inline int fsnotify_add_inode_mark_locked(struct fsnotify_mark *mark,
783 return fsnotify_add_mark_locked(mark, &inode->i_fsnotify_marks,
787 /* given a group and a mark, flag mark to be freed when all references are dropped */
788 extern void fsnotify_destroy_mark(struct fsnotify_mark *mark,
790 /* detach mark from inode / mount list, group list, drop inode reference */
791 extern void fsnotify_detach_mark(struct fsnotify_mark *mark);
792 /* free mark */
793 extern void fsnotify_free_mark(struct fsnotify_mark *mark);
814 extern void fsnotify_get_mark(struct fsnotify_mark *mark);
815 extern void fsnotify_put_mark(struct fsnotify_mark *mark);