aboutsummaryrefslogtreecommitdiffstats
path: root/fs/notify/mark.c
diff options
context:
space:
mode:
authorEric Paris <eparis@redhat.com>2009-12-17 21:24:33 -0500
committerEric Paris <eparis@redhat.com>2010-07-28 09:59:00 -0400
commit33af5e32e0bb73c704b5e156f4411cdb53e6cc59 (patch)
treec427a66b81498c14598ed4161e3646930a805043 /fs/notify/mark.c
parentfsnotify: allow marks to not pin inodes in core (diff)
downloadlinux-dev-33af5e32e0bb73c704b5e156f4411cdb53e6cc59.tar.xz
linux-dev-33af5e32e0bb73c704b5e156f4411cdb53e6cc59.zip
fsnotify: ignored_mask - excluding notification
The ignored_mask is a new mask which is part of fsnotify marks. A group's should_send_event() function can use the ignored mask to determine that certain events are not of interest. In particular if a group registers a mask including FS_OPEN on a vfsmount they could add FS_OPEN to the ignored_mask for individual inodes and not send open events for those inodes. Signed-off-by: Eric Paris <eparis@redhat.com>
Diffstat (limited to 'fs/notify/mark.c')
-rw-r--r--fs/notify/mark.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/notify/mark.c b/fs/notify/mark.c
index 0ebc3fd7089b..cb1d822f227f 100644
--- a/fs/notify/mark.c
+++ b/fs/notify/mark.c
@@ -190,6 +190,12 @@ void fsnotify_set_mark_mask_locked(struct fsnotify_mark *mark, __u32 mask)
fsnotify_set_inode_mark_mask_locked(mark, mask);
}
+void fsnotify_set_mark_ignored_mask_locked(struct fsnotify_mark *mark, __u32 mask)
+{
+ assert_spin_locked(&mark->lock);
+
+ mark->ignored_mask = mask;
+}
/*
* Attach an initialized mark to a given group and fs object.