• Steven Rostedt (Google)'s avatar
    eventfs: Stop using dcache_readdir() for getdents() · 493ec81a
    Steven Rostedt (Google) authored
    The eventfs creates dynamically allocated dentries and inodes. Using the
    dcache_readdir() logic for its own directory lookups requires hiding the
    cursor of the dcache logic and playing games to allow the dcache_readdir()
    to still have access to the cursor while the eventfs saved what it created
    and what it needs to release.
    
    Instead, just have eventfs have its own iterate_shared callback function
    that will fill in the dent entries. This simplifies the code quite a bit.
    
    Link: https://lore.kernel.org/linux-trace-kernel/20240104015435.682218477@goodmis.org
    
    Cc: Masami Hiramatsu <mhiramat@kernel.org>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Ajay Kaher <akaher@vmware.com>
    Cc: Al Viro <viro@ZenIV.linux.org.uk>
    Cc: Christian Brauner <brauner@kernel.org>
    Signed-off-by: default avatarSteven Rostedt (Google) <rostedt@goodmis.org>
    493ec81a
event_inode.c 27.1 KB