File:  [NetBSD Developer Wiki] / wikisrc / projects / project / dotdot.mdwn
Revision 1.5: download - view: text, annotated - select for diffs
Thu Feb 27 06:12:05 2014 UTC (16 months, 1 week ago) by dholland
Branches: MAIN
CVS tags: HEAD
difficulty -> medium.

There's no way this is *harder* than some of the other medium fs
projects, like rewriting procfs.

[[!template id=project

title="Semantics of .."

contact="""
[tech-kern](mailto:tech-kern@NetBSD.org)
"""

category="filesystems"
difficulty="medium"

description="""
In a file system with symlinks, the file system can be seen as a graph
rather than a tree. The meaning of .. potentially becomes complicated
in this environment.

There is a fairly substantial group of people, some of them big famous
names, who think that the usual behavior (where crossing a symlink is
different from entering a subdirectory) is a bug, and have made
various efforts from time to time to "fix" it. One such fix can be seen
in the -L and -P options to ksh's pwd.

Rob Pike implemented a neat hack for this in Plan 9. It is described
in <http://cm.bell-labs.com/sys/doc/lexnames.html>. This project is to
implement that logic for NetBSD.

Note however that there's another fairly substantial group of people,
some of them also big famous names, who think that all of this is a
load of dingo's kidneys, the existing behavior is correct, and
changing it would be a bug. So it needs to be possible to switch the
implementation on and off as per-process state.
"""
]]

CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb