On Tue, 30 Jan 2024 at 08:49, Steven Rostedt <rost...@goodmis.org> wrote: > > - On removal, I got rid of the SRCU callback and the work queue. > Instead, I find the dentry of the current eventfs_inode that is being > deleted by walking the ei->parent until I find the events inode that has > a dentry. I then use that to do a lookup walking back down to the > eventfs_inode I want to delete. This gives me the dentry that I can call > d_invalidate() on.
Yes, that works. However, I have a patch that is *much* smaller and simpler, and doesn't need that walk. The VFS layer already has a good interface for "should I still use this dentry", which is needed for various network filesystems etc that want to time out caches (or check explicitly whether the file still exists etc): it's the dentry d_revalidate() check. Let me just reboot into it to test that I got all the cases. It makes the code even more obvious, and avoids all the complexity. Linus