Skip to content

tracing/eventfs: Updates for v6.8

Steven Rostedt lkml stable 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest13 patches 0 repliesNew

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/13ring-buffer: Clean ring_buffer_poll_wait() error returnkernel/trace/ring_buffer.c+1 -10 replies
2/13tracefs: Zero out the tracefs_inode when allocating itfs/tracefs/inode.c fs/tracefs/internal.h+6 -30 replies
3/13eventfs: Initialize the tracefs inode properlyfs/tracefs/event_inode.c+2 -40 replies
4/13tracefs: Avoid using the ei->dentry pointer unnecessarilyfs/tracefs/event_inode.c+12 -140 replies
5/13tracefs: dentry lookup crapectomyfs/tracefs/event_inode.c fs/tracefs/inode.c fs/tracefs/internal.h+50 -2970 replies
6/13eventfs: Remove unused d_parent pointer fieldfs/tracefs/event_inode.c fs/tracefs/internal.h+1 -50 replies
7/13eventfs: Clean up dentry ops and add revalidate functionfs/tracefs/event_inode.c fs/tracefs/inode.c fs/tracefs/internal.h+22 -130 replies
8/13eventfs: Get rid of dentry pointers without refcountsfs/tracefs/event_inode.c fs/tracefs/internal.h+78 -1770 replies
9/13tracing/timerlat: Move hrtimer_init to timerlat_fd open()kernel/trace/trace_osnoise.c+3 -30 replies
10/13eventfs: Warn if an eventfs_inode is freed without is_freed being setfs/tracefs/event_inode.c+14 -40 replies
11/13eventfs: Restructure eventfs_inode structure to be more condensedfs/tracefs/internal.h+12 -150 replies
12/13eventfs: Remove fsnotify*() functions from lookup()fs/tracefs/event_inode.c+0 -20 replies
13/13eventfs: Keep all directory links at 1fs/tracefs/event_inode.c+10 -40 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [for-linus][PATCH 00/13] tracing/eventfs: Updates for v6.8

Tracing and eventfs fixes for v6.8:

- Fix the return code for ring_buffer_poll_wait()
It was returing a -EINVAL instead of EPOLLERR.

- Zero out the tracefs_inode so that all fields are initialized. The ti->private could have had stale data, but instead of jus initializing it to NULL, clear out the entire structure when it is allocated.

- Fix a crash in timerlat
The hrtimer was initialized at read and not open, but is canceled at close. If the file was opened and never read the close will pass a NULL pointer to hrtime_cancel().

- Rewrite of eventfs.
Linus wrote a patch series to remove the dentry references in the eventfs_inode and to use ref counting and more of proper VFS interfaces to make it work.

- Add warnin to put_ei() if ei is not set to free. That means something is about to free it when it shouldn't.

- Restructure the eventfs_inode to make it more compact, and remove the unused llist field.

- Remove the fsnotify*() funtions for when the inodes were being created in the lookup code. It doesn't make sense to notify about creation just because something is being looked up.

- The inode hard link count was not accurate. It was being updated when a file was looked up. The inodes of directories were updating their parent inode hard link count every time the inode was created. That means if memory reclaim cleaned a stale directory inode and the inode was lookup up again, it would increment the parent inode again as well. Al Viro said to just have all eventfs directories have a hard link count of 1. That tells user space not to trust it.

Daniel Bristot de Oliveira (1):
tracing/timerlat: Move hrtimer_init to timerlat_fd open()

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) (5):
tracefs: Zero out the tracefs_inode when allocating it
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

Vincent Donnefort (1):
ring-buffer: Clean ring_buffer_poll_wait() error return

----

 fs/tracefs/event_inode.c     | 568 ++++++++++++-------------------------------
 fs/tracefs/inode.c           | 102 ++------
 fs/tracefs/internal.h        |  43 ++--
 kernel/trace/ring_buffer.c   |   2 +-
 kernel/trace/trace_osnoise.c |   6 +-
 5 files changed, 195 insertions(+), 526 deletions(-)