RFS vs. NFS

Seckin Unlu seckin at sumac.intel.com
Wed Aug 29 11:54:48 AEST 1990


# # 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=<whatever>
# ...
# 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 at 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 at 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 at littlei.intel.com
Software Engineer                                 seckin at sumac.intel.com
Intel Corporation



More information about the Comp.unix.i386 mailing list