Re: [PATCH 6/6] eventfs: clean up dentry ops and add revalidate function
From: Steven Rostedt <rostedt@goodmis.org>
Date: 2024-01-31 23:23:40
Also in:
lkml
On Thu, 1 Feb 2024 08:07:15 +0900 Masami Hiramatsu (Google) [off-list ref] wrote:
quoted
Then tracefs could be nicely converted over to kernfs, and eventfs would be its own entity.If so, maybe we can just make symlinks to the 'id' and 'format' from events under tracefs? :)
I don't think that will save anything. The files currently do not allocate
any memory. If we make symlinks, we need to allocate a path, to them. I
think that would be rather difficult to do. Not to mention, that could
cause a lot of breakage. What do you do if the other filesystem isn't
mounted?
I could possibly make a light way handle to pass back to the callbacks.
struct trace_event_light {
unsigned long flags
struct trace_event_call *event_call;
};
struct trace_event_file {
struct trace_event_light call;
[..]
// Remove he flags and event_call and have it above
};
if the callback data has:
callback(..., void **data)
{
struct trace_event_light *call = *data;
struct trace_event_file *file;
If (strcmp(name, "id") == 0 || strcmp(name, "format") == 0) {
*data = call->event_call;
return 1;
}
/* Return if this is just a light data entry */
if (!(data->flags & TRACE_EVENT_FULL))
return 0;
file = container_of(data, struct trace_event_file, call);
// continue processing the full data
}
This way the lonely eventfs could still share a lot of the code.
-- Steve