On Fri, Jun 13, 2025 at 9:35 AM Al Viro <viro@xxxxxxxxxxxxxxxxxx> wrote: > > Make it match the real unlink(2)/rmdir(2) - notify *after* the > operation. And use fsnotify_delete() instead of messing with > fsnotify_unlink()/fsnotify_rmdir(). > > Currently the only caller that cares is the one in debugfs, and > there the order matching the normal syscalls makes more sense; > it'll get more serious for users introduced later in the series. > > Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Makes sense. Reviewed-by: Amir Goldstein <amir73il@xxxxxxxxx> > --- > fs/libfs.c | 5 +---- > 1 file changed, 1 insertion(+), 4 deletions(-) > > diff --git a/fs/libfs.c b/fs/libfs.c > index 9ea0ecc325a8..42e226af6095 100644 > --- a/fs/libfs.c > +++ b/fs/libfs.c > @@ -628,12 +628,9 @@ void simple_recursive_removal(struct dentry *dentry, > inode_lock(inode); > if (simple_positive(victim)) { > d_invalidate(victim); // avoid lost mounts > - if (d_is_dir(victim)) > - fsnotify_rmdir(inode, victim); > - else > - fsnotify_unlink(inode, victim); > if (callback) > callback(victim); > + fsnotify_delete(inode, d_inode(victim), victim); > dput(victim); // unpin it > } > if (victim == dentry) { > -- > 2.39.5 > >