Path: utzoo!utgpu!news-server.csri.toronto.edu!mailrus!wuarchive!decwrl!ogicse!littlei!sumac.intel.com!seckin From: seckin@sumac.intel.com (Seckin Unlu) Newsgroups: comp.unix.i386 Subject: Re: RFS vs. NFS Message-ID: <1358@gandalf.littlei.UUCP> Date: 29 Aug 90 01:54:48 GMT Article-I.D.: gandalf.1358 References: <1990Aug21.183615.8315@ico.isc.com> <797@hades.ausonics.oz.au> <1940@cybaswan.UUCP> <:4C5FLA@xds13.ferranti.com> Sender: news@littlei.UUCP Reply-To: seckin@sumac.intel.com (Seckin Unlu) Organization: UNIX Engineering, Hillsboro, Intel Corporation Lines: 74 # # For a third choice, Intel's OpenNET software... # # ...Instead a super-root, "//", is created. To access # # files on a remote system, you access "//sysname/usr/bin..."... # # Ugh! This isn't the first time I've seen this trick, but it's still a bad # idea. I wish all the clever developers who decided, "Yeah, we can just use # a double / for that!" had been experienced with UNIX before they inflicted # their bright ideas on us. Using // as magic *breaks* things. Historically, # extra /'s are ignored in file names. People use this fact. Too late; There are thousands of XENIX/UNIX (including System V R3.2) systems out there that have been running OpenNET for up to 6 years (and none of them report any application breaking; applications should not be manipulating path names, except for the last file name anyway). -- It's configurable, default is '//', use 'NW' or '``' if you want to -- It is used only when you have to specify a full path name -- With the redirector, some users never specify full network names -- The '//' or whatever delimiter, would give OpenNET software the first attempt in resolving a path name - not a last chance. # ROOT= # ... # FILE=$ROOT/usr/bletch/gargle # # To play in a subtree, you set ROOT=/usr/myhome/playpen or some such. When # you're ready to get serious, you set ROOT=/ which gives you FILE= # //usr/bletch/gargle. # # (Don't bother telling me of the various ways to avoid the problem; I know. # Nor preach to me about standards; I'm talking about existing practice:-) # -- # Dick Dunn rcd@ico.isc.com -or- ico!rcd Boulder, CO (303)449-2870 # ...Are you making this up as you go along? In resolving //usr/bletch/garble, OpenNET would get the first shot, and if there is a node named "usr" in your trusted subnetwork, then the path name refers to /bletch/garble on that node. Otherwise, if there is an alias "usr" for some node on the LAN, that is if you have explicitly made a network connection using "usr" for an alias, then the path name refers to /bletch/garble on that node. Otherwise, the path name will be resolved by the local kernel. So, if you don't have funny names like usr, bin, etc for your nodes on your (small) trusted subnetwork, or if you have not used funny names like usr, bin, etc for your aliases, there won't be any conflicts. # #Instead a super-root, "//", is created. To access # #files on a remote system, you access "//sysname/usr/bin...". # # Does this mean the root directory has an entry with a slash # in its name ? Sound quite illegal to me. # -- # Pim Zandbergen domain : pim@cti-software.nl # CTI Software BV uucp : uunet!mcsun!hp4nl!ctisbv!pim # Laan Copes van Cattenburch 70 phone : +31 70 3542302 # 2585 GD The Hague, The Netherlands fax : +31 70 3512837 No, the root directory has no special entries; The "super-root" is only conceptual. Instead the XENIX/UNIX kernels have several OpenNET hooks. For path name resolution, you would have one in namei(). One thing that's real nice with OpenNET is that there is no problem accessing the devices (tape, floppy, etc.) of other nodes, as long as you have the proper access of course. You can do a straight cpio to the exotic DAT that your buddy has, over the network. A big disclaimer: I'm speaking up as a user only (and a happy one); I have not been involved with the design or development of OpenNET. Seckin Unlu uunet!littlei!seckin or seckin@littlei.intel.com Software Engineer seckin@sumac.intel.com Intel Corporation