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.