tracing/eventfs: Updates for v6.8
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest13 patches 0 repliesNew
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/13 | ring-buffer: Clean ring_buffer_poll_wait() error returnkernel/ | +1 | 0 replies | |
| 2/13 | tracefs: Zero out the tracefs_inode when allocating itfs/ fs/ | +6 | 0 replies | |
| 3/13 | eventfs: Initialize the tracefs inode properlyfs/ | +2 | 0 replies | |
| 4/13 | tracefs: Avoid using the ei->dentry pointer unnecessarilyfs/ | +12 | 0 replies | |
| 5/13 | tracefs: dentry lookup crapectomyfs/ fs/ fs/ | +50 | 0 replies | |
| 6/13 | eventfs: Remove unused d_parent pointer fieldfs/ fs/ | +1 | 0 replies | |
| 7/13 | eventfs: Clean up dentry ops and add revalidate functionfs/ fs/ fs/ | +22 | 0 replies | |
| 8/13 | eventfs: Get rid of dentry pointers without refcountsfs/ fs/ | +78 | 0 replies | |
| 9/13 | tracing/timerlat: Move hrtimer_init to timerlat_fd open()kernel/ | +3 | 0 replies | |
| 10/13 | eventfs: Warn if an eventfs_inode is freed without is_freed being setfs/ | +14 | 0 replies | |
| 11/13 | eventfs: Restructure eventfs_inode structure to be more condensedfs/ | +12 | 0 replies | |
| 12/13 | eventfs: Remove fsnotify*() functions from lookup()fs/ | +0 | 0 replies | |
| 13/13 | eventfs: Keep all directory links at 1fs/ | +10 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
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(-)