The first patch adds a file to tracefs that shows all the event_files that have been allocated for the dynamic eventfs file system. It also shows the dentries that were created and their current ref counts. This is useful for debugging and knowing when a dentry has been created and freed.
I was suppose to add the first patch to this merge window. As it is an aid for debugging, I may push it still in my next pull request. The second patch is a bit of a redesign of the way the eventfs is created. It no longer creates a descriptor representing every file but instead just the directories. These descriptors get an array of entries that represent the files within it (but not for sub directories). Each entry has a name and a callback, where the name is the name of the file (used for lookup) and a callback that is used to create the dentry and inode for the file. This saves more memory, this approach may be possible to create a dynamic way of doing this for other pseudo file systems. The third patch fixes the kprobe selftests yet again, and the function that it uses to attach to was renamed once again. Changes since v1: https://lore.kernel.org/all/20230801001349.520930...@goodmis.org/ - Rebased on mainline and some minor clean ups. - Fixed kprobe selftest Steven Rostedt (Google) (3): tracefs: Add show_events_dentries eventfs: Remove eventfs_file and just use eventfs_inode tracing/selftests: Update kprobe args char/string to match new functions ---- fs/tracefs/Makefile | 1 + fs/tracefs/event_inode.c | 809 ++++++++++----------- fs/tracefs/event_show.c | 125 ++++ fs/tracefs/inode.c | 2 +- fs/tracefs/internal.h | 40 +- include/linux/trace_events.h | 2 +- include/linux/tracefs.h | 31 +- kernel/trace/trace.c | 7 +- kernel/trace/trace.h | 4 +- kernel/trace/trace_events.c | 314 +++++--- .../ftrace/test.d/kprobe/kprobe_args_char.tc | 4 +- .../ftrace/test.d/kprobe/kprobe_args_string.tc | 4 +- 12 files changed, 812 insertions(+), 531 deletions(-) create mode 100644 fs/tracefs/event_show.c