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