Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!rutgers!princeton!allegra!alice!dmr From: dmr@alice.UUCP Newsgroups: comp.unix.wizards Subject: Re: Semantics of symlinks and distributed FS Message-ID: <6625@alice.uUCp> Date: Sat, 7-Feb-87 01:46:24 EST Article-I.D.: alice.6625 Posted: Sat Feb 7 01:46:24 1987 Date-Received: Sun, 8-Feb-87 06:31:16 EST Organization: AT&T Bell Laboratories, Murray Hill NJ Lines: 35 Bob Lenk wondered about the interpretation of symbolic links by file servers. The issue is the meaning a link to an "absolute" name (beginning with /). In the Eighth Edition (and now the Ninth Edition) the formal answer is that you get to choose: the server takes an argument indicating whether it should interpret the / as the root of its machine or of its client. In practice, the flag is always set so that symlinks refer to the root of the server. The reason for doing this is that the links are always used to simplify naming on the machine on which they exist; for example, on one of them, /usr is full of links to the actual locations of people's home directories (/usr/dmr -> /usr1/dmr). It's true that even under the other interpretation, the links could have been coded differently (/usr/dmr -> ../usr1/dmr) but they weren't. More fundamentally, in our naming scheme there is no super-root (above / on all the machines). I think this is true of both NFS and RFS as well. In the Newcastle Connection, there is such a concept (/..) but even there, the name interpretation is such that / means "root of this machine's file system." In all of these schemes the various machines tend to be members of a confederacy instead of a union. To get find examples of the latter, you have to go a bit farther afield (e.g. to Locus). If / does not refer to a unique place, then its desired meaning in a symbolic link will inevitably be circumstantial. If a server machine exists solely to supply a file system to its clients, then a case can be made that / on the server machine should mean the root of the client. If clients and servers are symmetric, the meaning really has to be with respect to the server. Dennis Ritchie