Changes since v5: https://lore.kernel.org/all/20231031223326.794680...@goodmis.org/
This was originally based on: [PATCH] eventfs: Process deletion of dentry more thoroughly https://lore.kernel.org/linux-trace-kernel/20231031144703.71eef...@gandalf.local.home/ But Al Viro asked why I do not use use simple_recursive_removal()? Which at first I thought I could not, but after playing with it more I realized I could (with a little addition of dget()'s to balance the dput()s). This simplifies the code. But to do this, it really needs to be done *after* these changes. Hence, I moved that patch to after this series and to handle this rebase, I'm reposting all the patches and including the above mentioned patch at the end and renamed to: eventfs: Use simple_recursive_removal() to clean up dentries I hope this is the last series, as this *is* for this merge window! Steven Rostedt (Google) (8): eventfs: Remove "is_freed" union with rcu head eventfs: Have a free_ei() that just frees the eventfs_inode eventfs: Test for ei->is_freed when accessing ei->dentry eventfs: Save ownership and mode eventfs: Hold eventfs_mutex when calling callback functions eventfs: Delete eventfs_inode when the last dentry is freed eventfs: Remove special processing of dput() of events directory eventfs: Use simple_recursive_removal() to clean up dentries ---- fs/tracefs/event_inode.c | 420 ++++++++++++++++++++++++++++++++--------------- fs/tracefs/internal.h | 29 +++- include/linux/tracefs.h | 43 +++++ 3 files changed, 357 insertions(+), 135 deletions(-)