Messages in this thread |  | | Date | Wed, 03 Jan 2024 20:52:47 -0500 | | From | Steven Rostedt <> | | Subject | [PATCH v2 0/2] eventfs: Don't use dcache_readdir() for getdents() |
| |
After having a "pleasant" conversation with Linus over on the security mailing list, we came to the conclusion that eventfs should not be using the dcache_readdir() routine for iterating the entries of a directory (getdents()).
Instead, the .open and .release callbacks of the directory file operations was removed and all the work is now done in the .iterate_shared.
The function dcache_readdir_wrapper() was renamed to eventfs_iterate().
As the files and directories of eventfs is all known within the meta data, it can easily supply getdents() with the information it needs without traversing the dentry.
Changes since v1: https://lore.kernel.org/linux-trace-kernel/20240103102553.17a19cea@gandalf.local.home/
- Broke up into two patches, one to fix the lookup parameter and the other to do the meat of the change.
- Moved the ctx->pos count up to skip creating of dentries in those cases.
Steven Rostedt (Google) (2): eventfs: Remove "lookup" parameter from create_dir/file_dentry() eventfs: Stop using dcache_readdir() for getdents()
---- fs/tracefs/event_inode.c | 241 ++++++++++++++++------------------------------- 1 file changed, 80 insertions(+), 161 deletions(-)
|  |