BSD is dying

Robert Watson rwatson at FreeBSD.org
Thu Jul 28 16:15:48 BST 2005


On Thu, 28 Jul 2005, Paul Richards wrote:

> In the sense that is shows up how a fundamental OS issue hampers 
> innovative desktop advances then it was an ideal example then :-)
>
> I think I'd swap hardlinks for spotlight from a users perspective.

And I'd like to lose hard links from a security perspective in order to 
gain greater assurance in the name space, as well as disambiguate certain 
file system failure modes.  However, hard links are a widely used feature, 
and relied on by more applications than one might hope.  From a design 
perspective, Apple also found themselves in a hard spot: originally, they 
simply didn't have hard link support (for many of these reasons). 
However, they found to achieve the level of compatibility with UNIX they 
desired to support their application suite and user requirements, they had 
to add them.  Now they pay the functional price by having breakage in 
audit, spotlight, etc, when they're used.

FWIW, the other place they see the same trade-off in action is in the use 
of volfs, which they provide for compatibility with older Mac OS 
applications.  Specifically, older applications expect to be able to open 
a file and get back a persistent file reference that can be used across 
reboot, stored in configuration files, and so on.  This way, if a file is 
moved from one directory to another, or renamed, the application can still 
find it.  This is antithetical to the underlying design of the UNIX file 
system, so Apple provides compatibility through a /.vol file system, which 
allows access to a file using a persistent file handle similar to the one 
present in NFS.  The result is that they look up files by handle rather 
than name, and therefore, their ability to convert files back into names 
is broken when used in concert with old applications.  Hopefully they'll 
be able to jetison this someday, but presumably not for a number of years 
(5-10?).

Robert N M Watson




More information about the Ukfreebsd mailing list