diff options
author | Amir Goldstein <amir73il@gmail.com> | 2018-09-01 09:41:11 +0200 |
---|---|---|
committer | Jan Kara <jack@suse.cz> | 2018-09-03 15:14:01 +0200 |
commit | 1e6cb72399fd58b38a1c11055ef18fe01f535cda (patch) | |
tree | 1d2867b32812df127a09712ca5c0362bc6f156c2 /fs/notify/fsnotify.c | |
parent | fsnotify: fix ignore mask logic in fsnotify() (diff) | |
download | linux-1e6cb72399fd58b38a1c11055ef18fe01f535cda.tar.xz linux-1e6cb72399fd58b38a1c11055ef18fe01f535cda.zip |
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/fsnotify.c')
-rw-r--r-- | fs/notify/fsnotify.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/fs/notify/fsnotify.c b/fs/notify/fsnotify.c index ababdbfab537..2971803d151c 100644 --- a/fs/notify/fsnotify.c +++ b/fs/notify/fsnotify.c @@ -48,7 +48,7 @@ void __fsnotify_vfsmount_delete(struct vfsmount *mnt) * Called during unmount with no locks held, so needs to be safe against * concurrent modifiers. We temporarily drop sb->s_inode_list_lock and CAN block. */ -void fsnotify_unmount_inodes(struct super_block *sb) +static void fsnotify_unmount_inodes(struct super_block *sb) { struct inode *inode, *iput_inode = NULL; @@ -98,6 +98,12 @@ void fsnotify_unmount_inodes(struct super_block *sb) iput(iput_inode); } +void fsnotify_sb_delete(struct super_block *sb) +{ + fsnotify_unmount_inodes(sb); + fsnotify_clear_marks_by_sb(sb); +} + /* * Given an inode, first check if we care what happens to our children. Inotify * and dnotify both tell their parents about events. If we care about any event |