> On Jan 14, 2025, at 4:24 AM, tzsz <writing.segfau...@gmail.com> wrote:
> 
> Hello everyone,
> 
> I am currently wiring some code for university. In class we are working with 
> Linux and are modifying the struct dentry. It is used for caching the 
> relation between paths and inodes - after an resolution attempt that is. I 
> was wondering how/if this is also implemented in NetBSD but I was not able to 
> spot it in the source code.
> 
> Could someone perhaps point me where to look?

It works a bit differently in NetBSD (and in BSD systems in general).  In the 
NetBSD kernel, you can find the code that manages the cache of parent+name -> 
vnode mappings here:

     https://github.com/NetBSD/src/blob/trunk/sys/kern/vfs_cache.c

In addition to being used to speed up path lookups, it can also be used to 
reconstruct the (a) path for a vnode.  Some examples of how that’s used:

     https://github.com/NetBSD/src/blob/trunk/sys/kern/vfs_getcwd.c

In particular, vnode_to_path(), which is used in the exec code, but also the 
__getcwd() system call.

-- thorpej

Reply via email to