Re: [linus:master] [eventfs] 852e46e239: BUG:unable_to_handle_page_fault_for_address
From: Linus Torvalds
Date: Tue Jan 30 2024 - 11:56:17 EST
On Tue, 30 Jan 2024 at 08:49, Steven Rostedt <rostedt@xxxxxxxxxxx> 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