[PATCH 0/6] eventfs: More fixes and clean ups

From: Steven Rostedt
Date: Thu Feb 01 2024 - 11:19:33 EST


Al Viro reviewed the latest patch set from Linus and had some comments.
One was on the return code of the eventfs_root_lookup() which I already
sent a patch for:
https://lore.kernel.org/linux-trace-kernel/20240131233227.73db55e1@xxxxxxxxxxxxxxxxxx/

The other comments had to do with code that was there before Linus's
updates. Those were:

- It made no sense to have the fsnotify*() functions triggering
from file/directory creation in the lookup()

- The directory inode count wasn't accurate. The updates to
the link nodes for the parent directory was also happening in
lookup. Al Viro told me to just set them all to 1, as that
tells user space not to trust the hard link counts.

I added a WARN_ON_ONCE() in case of the eventfs_inode being freed without
is_freed being set.

I restructured the eventfs_inode structure to be a bit more compact.

The last two changes I included here but do not plan on pushing for
v6.8. Those are:

- Adding WARN_ON_ONCE() to the conditionals that Al asked about
as the logic should prevent them from being true.

- Moving the dentry pointer out of eventfs_inode and creating a new
eventfs_root_inode that contains the eventfs_inode and the dentry
pointer. This only gets used by the "events" directory.

Steven Rostedt (Google) (6):
eventfs: Warn if an eventfs_inode is freed without is_freed being set
eventfs: Restructure eventfs_inode structure to be more condensed
eventfs: Remove fsnotify*() functions from lookup()
eventfs: Keep all directory links at 1
eventfs: Add WARN_ON_ONCE() to checks in eventfs_root_lookup()
eventfs: Create eventfs_root_inode to store dentry

----
fs/tracefs/event_inode.c | 104 +++++++++++++++++++++++++++++++++++++----------
fs/tracefs/internal.h | 29 ++++++-------
2 files changed, 94 insertions(+), 39 deletions(-)