diff options
author | Amir Goldstein <amir73il@gmail.com> | 2018-09-01 03:41:11 -0400 |
---|---|---|
committer | Jan Kara <jack@suse.cz> | 2018-09-03 09:14:01 -0400 |
commit | 1e6cb72399fd58b38a1c11055ef18fe01f535cda (patch) | |
tree | 1d2867b32812df127a09712ca5c0362bc6f156c2 /fs/notify/mark.c | |
parent | 9bdda4e9cf2dcecb60a0683b10ffb8cd7e5f2f45 (diff) |
fsnotify: add super block object type
Add the infrastructure to attach a mark to a super_block struct
and detach all attached marks when super block is destroyed.
This is going to be used by fanotify backend to setup super block
marks.
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Jan Kara <jack@suse.cz>
Diffstat (limited to 'fs/notify/mark.c')
-rw-r--r-- | fs/notify/mark.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/notify/mark.c b/fs/notify/mark.c index 59cdb27826de..b5172ccb2e60 100644 --- a/fs/notify/mark.c +++ b/fs/notify/mark.c | |||
@@ -115,6 +115,8 @@ static __u32 *fsnotify_conn_mask_p(struct fsnotify_mark_connector *conn) | |||
115 | return &fsnotify_conn_inode(conn)->i_fsnotify_mask; | 115 | return &fsnotify_conn_inode(conn)->i_fsnotify_mask; |
116 | else if (conn->type == FSNOTIFY_OBJ_TYPE_VFSMOUNT) | 116 | else if (conn->type == FSNOTIFY_OBJ_TYPE_VFSMOUNT) |
117 | return &fsnotify_conn_mount(conn)->mnt_fsnotify_mask; | 117 | return &fsnotify_conn_mount(conn)->mnt_fsnotify_mask; |
118 | else if (conn->type == FSNOTIFY_OBJ_TYPE_SB) | ||
119 | return &fsnotify_conn_sb(conn)->s_fsnotify_mask; | ||
118 | return NULL; | 120 | return NULL; |
119 | } | 121 | } |
120 | 122 | ||
@@ -192,6 +194,8 @@ static struct inode *fsnotify_detach_connector_from_object( | |||
192 | inode->i_fsnotify_mask = 0; | 194 | inode->i_fsnotify_mask = 0; |
193 | } else if (conn->type == FSNOTIFY_OBJ_TYPE_VFSMOUNT) { | 195 | } else if (conn->type == FSNOTIFY_OBJ_TYPE_VFSMOUNT) { |
194 | fsnotify_conn_mount(conn)->mnt_fsnotify_mask = 0; | 196 | fsnotify_conn_mount(conn)->mnt_fsnotify_mask = 0; |
197 | } else if (conn->type == FSNOTIFY_OBJ_TYPE_SB) { | ||
198 | fsnotify_conn_sb(conn)->s_fsnotify_mask = 0; | ||
195 | } | 199 | } |
196 | 200 | ||
197 | rcu_assign_pointer(*(conn->obj), NULL); | 201 | rcu_assign_pointer(*(conn->obj), NULL); |