-static bool should_send_vfsmount_event(struct fsnotify_group *group,
- struct vfsmount *mnt,
- struct inode *inode,
- struct fsnotify_mark *mnt_mark,
- __u32 mask)
-{
- struct fsnotify_mark *inode_mark;
-
- pr_debug("%s: group=%p vfsmount=%p mark=%p mask=%x\n",
- __func__, group, mnt, mnt_mark, mask);
-
- mask &= mnt_mark->mask;
- mask &= ~mnt_mark->ignored_mask;
-
- if (mask) {
- inode_mark = fsnotify_find_inode_mark(group, inode);
- if (inode_mark) {
- mask &= ~inode_mark->ignored_mask;
- fsnotify_put_mark(inode_mark);
- }
- }
-
- return mask;
-}
-
-static bool should_send_inode_event(struct fsnotify_group *group,
- struct inode *inode,
- struct fsnotify_mark *mark,
- __u32 mask)
-{
- pr_debug("%s: group=%p inode=%p mark=%p mask=%x\n",
- __func__, group, inode, mark, mask);
-
- /*
- * if the event is for a child and this inode doesn't care about
- * events on the child, don't send it!
- */
- if ((mask & FS_EVENT_ON_CHILD) &&
- !(mark->mask & FS_EVENT_ON_CHILD))
- return false;
- else
- return true;
-}
-