linux-trace-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/7] eventfs: Rewrite to simplify the code (aka: crapectomy)
@ 2024-01-31 18:49 Steven Rostedt
  2024-01-31 18:49 ` [PATCH v2 1/7] tracefs: Zero out the tracefs_inode when allocating it Steven Rostedt
                   ` (7 more replies)
  0 siblings, 8 replies; 14+ messages in thread
From: Steven Rostedt @ 2024-01-31 18:49 UTC (permalink / raw)
  To: linux-kernel, linux-trace-kernel, linux-fsdevel
  Cc: Linus Torvalds, Masami Hiramatsu, Mark Rutland, Mathieu Desnoyers,
	Christian Brauner, Al Viro, Ajay Kaher, Greg Kroah-Hartman


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

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2024-02-01  4:17 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-31 18:49 [PATCH v2 0/7] eventfs: Rewrite to simplify the code (aka: crapectomy) Steven Rostedt
2024-01-31 18:49 ` [PATCH v2 1/7] tracefs: Zero out the tracefs_inode when allocating it Steven Rostedt
2024-01-31 18:49 ` [PATCH v2 2/7] eventfs: Initialize the tracefs inode properly Steven Rostedt
2024-01-31 18:49 ` [PATCH v2 3/7] tracefs: Avoid using the ei->dentry pointer unnecessarily Steven Rostedt
2024-01-31 18:49 ` [PATCH v2 4/7] tracefs: dentry lookup crapectomy Steven Rostedt
2024-02-01  0:27   ` Al Viro
2024-02-01  2:26     ` Steven Rostedt
2024-02-01  3:02       ` Al Viro
2024-02-01  3:21         ` Steven Rostedt
2024-02-01  4:18           ` Steven Rostedt
2024-01-31 18:49 ` [PATCH v2 5/7] eventfs: Remove unused d_parent pointer field Steven Rostedt
2024-01-31 18:49 ` [PATCH v2 6/7] eventfs: Clean up dentry ops and add revalidate function Steven Rostedt
2024-01-31 18:49 ` [PATCH v2 7/7] eventfs: Get rid of dentry pointers without refcounts Steven Rostedt
2024-01-31 19:17 ` [PATCH v2 0/7] eventfs: Rewrite to simplify the code (aka: crapectomy) Steven Rostedt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).