mbox series

[v2,0/7] eventfs: Rewrite to simplify the code (aka: crapectomy)

Message ID 20240131184918.945345370@goodmis.org (mailing list archive)
Headers show
Series eventfs: Rewrite to simplify the code (aka: crapectomy) | expand

Message

Steven Rostedt Jan. 31, 2024, 6:49 p.m. UTC
Linus took the time to massively clean up the eventfs logic.
I took his code and made tweaks to represent some of the feedback
from Al Viro and also fix issues that came up in testing.

The diff between v1 and this can be found here:
  https://lore.kernel.org/linux-trace-kernel/20240131105847.3e9afcb8@gandalf.local.home/
 
  Although the first patch I changed to use memset_after() since
  that update.

I would like to have this entire series go all the way back to 6.6 (after it
is accepted in mainline of course) and replace everything since the creation
of the eventfs code.  That is, stable releases may need to add all the
patches that are in fs/tracefs to make that happen. The reason being is that
this rewrite likely fixed a lot of hidden bugs and I honestly believe it's
more stable than the code that currently exists.

Note, there's more clean ups that can happen. One being cleaning up
the eventfs_inode structure. But that's not critical now and can be
added later.

This made it through one round of my testing. I'm going to run it
again but with the part of testing that also runs some tests on
each patch in the series to make sure it doesn't break bisection.

In Linus's first version, patch 5 broke some of the tests but was fixed
in patch 6. I swapped the order and moved patch 6 before patch 5
and it appears to work. I still need to run this through all
my testing again.

Version 1 is at: https://lore.kernel.org/linux-trace-kernel/20240130190355.11486-1-torvalds@linux-foundation.org/



Linus Torvalds (6):
      eventfs: Initialize the tracefs inode properly
      tracefs: Avoid using the ei->dentry pointer unnecessarily
      tracefs: dentry lookup crapectomy
      eventfs: Remove unused 'd_parent' pointer field
      eventfs: Clean up dentry ops and add revalidate function
      eventfs: Get rid of dentry pointers without refcounts

Steven Rostedt (Google) (1):
      tracefs: Zero out the tracefs_inode when allocating it

----
 fs/tracefs/event_inode.c | 551 ++++++++++++-----------------------------------
 fs/tracefs/inode.c       | 102 ++-------
 fs/tracefs/internal.h    |  18 +-
 3 files changed, 167 insertions(+), 504 deletions(-)

Comments

Steven Rostedt Jan. 31, 2024, 7:17 p.m. UTC | #1
On Wed, 31 Jan 2024 13:49:18 -0500
Steven Rostedt <rostedt@goodmis.org> wrote:

> I would like to have this entire series go all the way back to 6.6 (after it
> is accepted in mainline of course) and replace everything since the creation
> of the eventfs code.  That is, stable releases may need to add all the
> patches that are in fs/tracefs to make that happen. The reason being is that
> this rewrite likely fixed a lot of hidden bugs and I honestly believe it's
> more stable than the code that currently exists.

If there is no more issues found here, and Linus pulls it into 6.8, I'll
make the backport series for both 6.7 and 6.6.

-- Steve