tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: dentry equivalent in NetBSD




> On Jan 14, 2025, at 4:24 AM, tzsz <writing.segfaults%gmail.com@localhost> 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



Home | Main Index | Thread Index | Old Index