[PATCH v6 0/8] eventfs: Fixing dynamic creation

From: Steven Rostedt
Date: Wed Nov 01 2023 - 13:26:54 EST



Changes since v5: https://lore.kernel.org/all/20231031223326.794680978@xxxxxxxxxxx/

This was originally based on:

[PATCH] eventfs: Process deletion of dentry more thoroughly
https://lore.kernel.org/linux-trace-kernel/20231031144703.71eef3a0@xxxxxxxxxxxxxxxxxx/

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(-)