Subject: Re: funlink() for fun!
To: NetBSD Kernel Technical Discussion List <tech-kern@NetBSD.org>
From: Greywolf <firstname.lastname@example.org>
Date: 07/11/2003 19:20:48
Thus spake Greg A. Woods ("GAW> ") sometime Today...
GAW> But that's the whole point of funlink() (and perhaps even some of the
GAW> other f*() calls, such as fchdir()) -- turn an operation on a file into
GAW> an operation on a filename (i.e. a link to a file).
<setattr param="baud" value="110">
fchdir does not operate on a filename. It operates on a DESCRIPTOR which
ultimately HAS NO MEMORY, CACHE or CONNECTION _whatsoever_ to the original
NAME. This DESCRIPTOR ultimately contains a reference to a VNODE which
points to a FILESYSTEM OBJECT, i.e. METADATA.
There is a difference between METADATA and a FILENAME. The FILENAME
gets you the location, ultimately, of the METADATA, at which point the
ONLY THING that is going to remember the FILENAME is going to be the *user's
The things that is pretty much stopping funlink from being practical
are that potentially many names correspond to a particular file, and
there needs to be some cached pointer to the dirent being referenced.
Now, is there anyone ELSE (put your hand down, Greg) who wishes to
NetBSD: the free unix for the rest of us.