*BSD News Article 12760


Return to BSD News archive

Newsgroups: comp.os.386bsd.development
Path: sserve!newshost.anu.edu.au!munnari.oz.au!uunet!gatekeeper.us.oracle.com!decwrl!amdcad!BitBlocks.com!bvs
From: bvs@BitBlocks.com (Bakul Shah)
Subject: Re: A challenge to all true kernel hackers - conditional symlinks.
Message-ID: <C3x8sw.5Hs@BitBlocks.com>
Organization: Bit Blocks, Inc.
References: <JKH.93Mar9214944@whisker.lotus.ie> <C3ow4H.FID@BitBlocks.com> <1993Mar14.070820.17710@netcom.com> <C3w61A.8wI@sugar.neosoft.com>
Date: Mon, 15 Mar 1993 08:26:55 GMT
Lines: 63

thinman@netcom.com (Technically Sweet) writes:
>Symbolic links are GOTOs for file systems.
....
>NFS and symbolic links especially don't mix:

peter@NeoSoft.com (Peter da Silva) writes:
>NFS is brain dead. Given my druthers, I'd dump NFS. It's fundamentally broke
>in so many ways it's not funny.

This sort of stuff gets real tiring real fast.  If you must knock
something, at least (try to) substantiate your claims and try to
be fair in your assessment.  Tell us *why* NFS & symlinks don't
mix. Tell us *how* NFS is `fundamentally broke' or point to where
such arguments can be found.  Try to convince us with reasoned
arguments, not emotive words or appeal to authority (such as `NFS
is bad because Dennis Ritchie (or whoever) says so').

Then tell us how *you* can do better things that NFS does badly,
botches or not at all.  Then implement such a system and share it
with us!

Symlinks are *NOT* like GOTOs; almost every control structure at
its heart uses GOTOs, while you can make do without symlinks in
a filesystem just fine.  If Lance means they are *bad* like
GOTOs, that too will be hard to prove.  Unlike GOTOs you can
never `jump' to a wild `location' using symlinks; if the target
does not exist the system will return with an error.

My experience is that NFS and symlinks mix very well.  Go see how
effectively they are used together in large installations of
multiple machines, possibly of different types, to provide a
relatively similar view of the filesystem from any machine.

NFS is far from perfect and there are other file systems that are
undoubtedly better in some ways but NFS is certainly not
braindead.  People who must use NFS right now would be dumb to
dump it unless a new solution can be shown to do everything that
NFS does right.

For the record, I use NFS everyday but I am not thrilled with it
and would love to see something better.  NFS is slow on reads and
even slower on writes (or you lose any guarantee that writes
succeeded), its statelessness causes problems, it is too chatty
on the wire, it broke the atomicity of writes with respect to
reads, etc.  etc.  But for all of its problems it has succeeded
in the marketplace and some of these problems are because of
design decisions that must have allowed SUN to get it out the
door fast.  Having once implemented a stateless version as well
as about 95% of a stateful version of similar networked
filesystems[1] I appreciate and (I think) understand the issues
involved quite well and I can tell you that getting it right is
100,000% more difficult than criticising someone else's design.

Bakul Shah <bvs@BitBlocks.com>

[1] If you used Valid Logic's SCALDstations runnign 4.2BSD (in
'84, '85 or so) you may remember Extended File Systsm, or `EFS',
that provided a unified, network wide view of all VALID file
systems.  EFS was stateless.  The stateful version was never
finished.  I had spent majority of my time on getting the state
stuff right in presence of client/server/network crashes.  I
*think* I had finally figured it all out but didn't get a chance
to finish it.