On Thu, 16 May 2019 13:26:34 +0300 Amir Goldstein <amir73il@xxxxxxxxx> wrote: > This will allow generating fsnotify delete events after the > fsnotify_nameremove() hook is removed from d_delete(). I added this and the patch you forwarded to me (thank you for doing that), and ran some smoke tests against it. It didn't trigger any regressions in those tests. Acked-by: Steven Rostedt (VMware) <rostedt@xxxxxxxxxxx> -- Steve > > Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> > Signed-off-by: Amir Goldstein <amir73il@xxxxxxxxx> > --- > fs/tracefs/inode.c | 23 ++++------------------- > 1 file changed, 4 insertions(+), 19 deletions(-) > > diff --git a/fs/tracefs/inode.c b/fs/tracefs/inode.c > index 7098c49f3693..6ac31ea9ad5d 100644 > --- a/fs/tracefs/inode.c > +++ b/fs/tracefs/inode.c > @@ -501,25 +501,10 @@ __init struct dentry > *tracefs_create_instance_dir(const char *name, > static int __tracefs_remove(struct dentry *dentry, struct dentry > *parent) { > - int ret = 0; > - > - if (simple_positive(dentry)) { > - if (dentry->d_inode) { > - dget(dentry); > - switch (dentry->d_inode->i_mode & S_IFMT) { > - case S_IFDIR: > - ret = simple_rmdir(parent->d_inode, > dentry); > - break; > - default: > - simple_unlink(parent->d_inode, > dentry); > - break; > - } > - if (!ret) > - d_delete(dentry); > - dput(dentry); > - } > - } > - return ret; > + if (simple_positive(dentry)) > + return simple_remove(d_inode(parent), dentry); > + > + return 0; > } > > /**