Re: [PATCH] tracefs: Add d_delete to remove negative dentries

From: Al Viro
Date: Wed Jun 11 2025 - 13:37:34 EST


On Wed, Jun 11, 2025 at 12:18:15PM -0400, Steven Rostedt wrote:
> From: Steven Rostedt <rostedt@xxxxxxxxxxx>
>
> If a lookup in tracefs is done on a file that does not exist, it leaves a
> dentry hanging around until memory pressure removes it. But eventfs
> dentries should hang around as when their ref count goes to zero, it
> requires more work to recreate it. For the rest of the tracefs dentries,
> they hang around as their dentry is used as a descriptor for the tracing
> system. But if a file lookup happens for a file in tracefs that does not
> exist, it should be deleted.
>
> Add a .d_delete callback that checks if dentry->fsdata is set or not. Only
> eventfs dentries set fsdata so if it has content it should not be deleted
> and should hang around in the cache.
>
> Reported-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
> Signed-off-by: Steven Rostedt (Google) <rostedt@xxxxxxxxxxx>

Applied to #work.dcache