diff options
author | Amir Goldstein <amir73il@gmail.com> | 2019-05-26 10:34:02 -0400 |
---|---|---|
committer | Jan Kara <jack@suse.cz> | 2019-06-20 08:44:55 -0400 |
commit | 116b9731ad7614032a390bb9ad8998a14d6dc752 (patch) | |
tree | 84b173caba143f3c3ecd41727f61cb06335d7941 /fs/namei.c | |
parent | 0b3b094ac9a7bb1fcf5d694f3ec981e6864a63d3 (diff) |
fsnotify: add empty fsnotify_{unlink,rmdir}() hooks
We would like to move fsnotify_nameremove() calls from d_delete()
into a higher layer where the hook makes more sense and so we can
consider every d_delete() call site individually.
Start by creating empty hook fsnotify_{unlink,rmdir}() and place
them in the proper VFS call sites. After all d_delete() call sites
will be converted to use the new hook, the new hook will generate the
delete events and fsnotify_nameremove() hook will be removed.
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Jan Kara <jack@suse.cz>
Diffstat (limited to 'fs/namei.c')
-rw-r--r-- | fs/namei.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/namei.c b/fs/namei.c index 20831c2fbb34..209c51a5226c 100644 --- a/fs/namei.c +++ b/fs/namei.c | |||
@@ -3883,6 +3883,7 @@ int vfs_rmdir(struct inode *dir, struct dentry *dentry) | |||
3883 | dentry->d_inode->i_flags |= S_DEAD; | 3883 | dentry->d_inode->i_flags |= S_DEAD; |
3884 | dont_mount(dentry); | 3884 | dont_mount(dentry); |
3885 | detach_mounts(dentry); | 3885 | detach_mounts(dentry); |
3886 | fsnotify_rmdir(dir, dentry); | ||
3886 | 3887 | ||
3887 | out: | 3888 | out: |
3888 | inode_unlock(dentry->d_inode); | 3889 | inode_unlock(dentry->d_inode); |
@@ -3999,6 +4000,7 @@ int vfs_unlink(struct inode *dir, struct dentry *dentry, struct inode **delegate | |||
3999 | if (!error) { | 4000 | if (!error) { |
4000 | dont_mount(dentry); | 4001 | dont_mount(dentry); |
4001 | detach_mounts(dentry); | 4002 | detach_mounts(dentry); |
4003 | fsnotify_unlink(dir, dentry); | ||
4002 | } | 4004 | } |
4003 | } | 4005 | } |
4004 | } | 4006 | } |