loverso@encore.UUCP (John LoVerso) (01/01/70)
In article <6769@brl-smoke.ARPA> gwyn@brl.arpa (Doug Gwyn (VLD/VMB) <gwyn>) writes: > In article <411@PT.CS.CMU.EDU> jgm@K.GP.CS.CMU.EDU (John Myers) writes: > >CMU CS rfs syntax: > >/../host > > So, what is the result of > $ cd /.. > $ pwd It gives "/.."! This isn't as clean as it could have been (at least on the MACH system here). If I've gotten this correctly, /../.. is the "real" superroot, with bin, lib, etc, dev, and all the boot paraphernalia. /../../RFS (aka /..) is the RFS "mount" point for other hosts, as in "/../host". /../../RFS/.LOCALROOT is "/". /bin, /lib, /dev and /etc are all patched into /../.. using hard links, which can really be confusing: % cd /../.. % pwd /../.. % cd bin % pwd /bin And people complained about slinks. John
andrew@frip.UUCP (11/20/87)
[] "If you ask me, I think the //a syntax to indicate the root file system on machine a is brain dead. Why not use a mount point instead of jerking around with //a ?" If you mean syntactically recognizing /mountRemotesHere/ucbvax/etc/passwd as a reference to ucbvax:/etc/passwd, then it's just the same problem pushed down a ways; the path already has an interpretation under standard Unix and laying a new interpretation on top of it opens the way to ambiguity. If you mean explicitly using a mount(8)-like command to bind an inode to the remote root: this isn't practical in an environment of more than a dozen or so systems. I work in a network environment with literally hundreds of systems (198 today on one Ethernet alone) where I refer to foreign files as //othersystem/pathname. If I had to mount (as root!) each system before I could get to it, it would slow me way down. But I can't mount all these systems in /etc/rc; there are too many of them, access permissions are fluid (just like working directories), and Murphy's Law says the one I want will have rebooted since I last mounted it so I'll have to remount it anyway. One person's experience ... -=- Andrew Klossner (decvax!tektronix!tekecs!andrew) [UUCP] (andrew%tekecs.tek.com@relay.cs.net) [ARPA]
lvc@tut.UUCP (11/22/87)
In article <9398@tekecs.TEK.COM>, andrew@frip.gwd.tek.com (Andrew Klossner) writes: If you mean syntactically recognizing /mountRemotesHere/ucbvax/etc/passwd as a reference to ucbvax:/etc/passwd, then it's just the same problem pushed down a ways; the path already has an interpretation under standard Unix and laying a new interpretation on top of it opens the way to ambiguity. That is what I meant, though I would never give another system access to a non public file system intentionally. My main objection to //a is the null between the two / (this is one of those computing religous issues). Certainly there is a difference in what the path name means when the remote system is mounted or not, but I can live with it. If you mean explicitly using a mount(8)-like command to bind an inode to the remote root: this isn't practical in an environment of more than a dozen or so systems. I work in a network environment with literally hundreds of systems (198 today on one Ethernet alone) where I refer to foreign files as //othersystem/pathname. If I had to mount (as root!) each system before I could get to it, it would slow me way down. But I can't mount all these systems in /etc/rc; there are too many of them, access permissions are fluid (just like working directories), That is what I meant, and I agree that it wouldn't be practical for more than a dozen or so systems. I wouldn't use it for more than a few. I work in an environment (AT&T) with thousands of machines wired together with uucp (using DATAKIT VCS and phone lines). I'm pretty happy with the functionality, but the security needs to be better. Do you really need instant access to hundreds of machines? and Murphy's Law says the one I want will have rebooted since I last mounted it so I'll have to remount it anyway. Not necessarily, as long as the disks are working, and the network can talk to disks directly, you don't need the other systems running. I don't know much about networks, are there any that can do this? I had something like this with two PDP 11/70's that shared dual ported disks (not a great analogy but you get the idea). Thanks for your note. Larry Cipriani AT&T Network Systems at cbosgd!osu-cis!tut!lvc Ohio State University
barmar@think.COM (Barry Margolin) (11/23/87)
In article <9398@tekecs.TEK.COM> andrew@frip.gwd.tek.com (Andrew Klossner) writes: > But I >can't mount all these systems in /etc/rc; there are too many of them, >access permissions are fluid (just like working directories), and >Murphy's Law says the one I want will have rebooted since I last >mounted it so I'll have to remount it anyway. If you use a stateless protocol such as NFS the last problem (servers rebooting) goes away. Mounting them in the background partially alleviates the problem of there being too many; while you may still have to wait for a particular file system to be mounted before you can reference it, you don't have to wait for all of them before you can start using the machine. I don't know what you mean by "access permissions are fluid". --- Barry Margolin Thinking Machines Corp. barmar@think.com seismo!think!barmar
jh@pcsbst.UUCP (11/29/87)
I don't like the //a solution either. E.g. I have seen cpio producing names like //usr/.... We at PCS use mount point for our *transparent* network MUNIX/NET. These mount points are normally located within a superroot directory "/.." (which is not linked to "/"). Thus, /../remote/etc/passwd would give you the access to the password file on a remote site. For name transparency even /../local/etc/passwd is allowed. This is not a mount point but a link. We do not have difficulties with unexpected shutdowns or crashes of remotes sites, because once mounted, each site is remounted automatically if it comes up again. Johannes Heuft unido!pcsbst!jh
giebelhaus@hi-csc.UUCP (Timothy R. Giebelhaus) (11/29/87)
There seem to be two issues: 1) the place the mounts take place and 2) the method and the functionality of the mount. I like the // mount because it places my machine at the same level as all the rest of the machines on the network. My machine is //lime which while I am on my machine is also /. I could place my machine in with the other mounts in /n/lime which would be a link to / on my machine, but I'm too lazy to place links on all my machines. Not much of a difference, though. What I really like is the method and the functionality of the mount. I put the name of the machine in the name server (ns) and then all machines can access it. The mount seems to be dynamic and fast. I don't have to put any mounts into the rc file. Again, I'm lazy... especially when I can get the job done with less work using a different method. I also don't believe in stateless protocols for file sharing. NFS seems to be implementing file locking which I believe means it is no longer a stateless protocol. -- --------------------------------- UUCP: {uunet, ihnp4!umn-cs}!hi-csc!giebelhaus ARPA: hi-csc!giebelhaus@umn-cs.arpa Nobody I know admits to sharing my opinions. I don't even have a pet.
gwyn@brl-smoke.ARPA (Doug Gwyn ) (11/29/87)
In article <38c15248.4580@hi-csc.UUCP> giebelhaus@hi-csc.UUCP (Timothy R. Giebelhaus) writes: >I like the // mount because it places my machine at the same level as >all the rest of the machines on the network. The main problem with the // scheme is that it is not sufficiently general. "grep -i gwyn /n/ucbvax/n/monet/etc/passwd" should work, but I doubt that "grep -i gwyn //ucbvax//monet/etc/passwd" would, given the already-existing rule about stripping out redundant embedded adjacent /s. One would have to change that rule also. >I put the name of the machine in the name server (ns) and then all machines >can access it. There is no reason that /n could not be a name-server file system. >NFS seems to be implementing file locking which I believe means it is no >longer a stateless protocol. Fundamentally, NFS remains stateless. Last I heard, the locking was being done by arrangement with external daemons. (It is actually record locking, in support of SVID requirements, not just whole-file locking.)
chris@mimsy.UUCP (Chris Torek) (11/29/87)
Not having to mount remote machines is certainly a convenience; and given that I have never had several thousand machines all cross-mounted, I will (for the sake of argument at least) take the word of the Apollo folks that it is virtually a necessity. Let us assume that this is so. Yet I still claim that `//host' is a bad syntax. Why? Because it adds yet another special case (doubling the number of special cases!), embedding still more semantics in filename strings themselves (as opposed to the files reached by the strings). I think that this is bad. If you must use a special string, consider instead `/n'. You can still have the kernel recognise this `by magic', but now it looks like an ordinary directory. As a `for instance', if // is to be consistent (or if /n is to be consistent), one should be able to say cd //; cd host or cd /n; cd host and get the same effect as cd //host or cd /n/host There are several possible implementations for /n (one being `special magic string', another being file system switches or virtual file systems). The telling point, though, is that /n/host/somewhere `looks like' an ordinary file name, and that if for some reason everyone decided that the name `/n' is wrong and that it should be `/vogon' instead, well, no problem: /vogon/host/somewhere It still looks just like an ordinary file name. There is (from an external viewpoint, at any rate) no magic attached to a special part of that file name. (Oh all right, not as *much* magic.) Whether you wish to implement `ls /n' is another matter entirely, but this seems somehow more reasonable if your network switch point is `just another directory'. -- In-Real-Life: Chris Torek, Univ of MD Comp Sci Dept (+1 301 454 7690) Domain: chris@mimsy.umd.edu Path: uunet!mimsy!chris
brent%terra@Sun.COM (Brent Callaghan) (11/30/87)
In article <9559@mimsy.UUCP>, chris@mimsy.UUCP (Chris Torek) writes: > Whether you wish to implement `ls /n' is another matter entirely, > but this seems somehow more reasonable if your network switch point > is `just another directory'. Another good reason for "just another directory" is that it leaves open the possibility of having nodes other than host names under the directory. Consider the following: /host/<hostid> - file systems on other hosts /home/<userid> - users home directories /src/<version> - other source trees There's not always a need to know the host on which a file resides. There are good reasons for hiding this information e.g. because you don't know the disk partition a file is in the administrator can relocate disk partitions freely. Similarly a /home directory allows a user to move to another host and have his/her home directory mounted automatically. This scheme is perfectly feasible through the use of a user-level NFS server that can catch file references on the fly and do mounts transparently. The name to host:directory mapping can be established through the use of a local or globally accessible table. Made in New Zealand --> Brent Callaghan @ Sun Microsystems uucp: sun!bcallaghan phone: (415) 691 6188
jgm@K.GP.CS.CMU.EDU (John Myers) (11/30/87)
Just to add to the confusion, let me put in a plug in for the Carnegie-Mellon University Computer Science Department's syntax: /../host "/.." is known as the "super-root". It seems logically consistent to me... _.John
karl@tut.UUCP (12/01/87)
jgm@K.GP.CS.CMU.EDU writes:
Just to add to the confusion, let me put in a plug in for the
Carnegie-Mellon University Computer Science Department's syntax:
/../host
But this didn't originate with CMU, yes? The Newcastle Connection
was the first to implement it that way, I believe. Credit where
credit is due, and all that.
--
Karl
gwyn@brl-smoke.ARPA (Doug Gwyn ) (12/01/87)
In article <411@PT.CS.CMU.EDU> jgm@K.GP.CS.CMU.EDU (John Myers) writes: >Just to add to the confusion, let me put in a plug in for the Carnegie-Mellon >University Computer Science Department's syntax: >/../host Stolen from the Newcastle Connection. >"/.." is known as the "super-root". It seems logically consistent to me... So, what is the result of $ cd /.. $ pwd
andrew@frip.gwd.tek.com (Andrew Klossner) (12/02/87)
[] "The main problem with the // scheme is that it is not sufficiently general. "grep -i gwyn /n/ucbvax/n/monet/etc/passwd "should work, but I doubt that "grep -i gwyn //ucbvax//monet/etc/passwd "would." What you really want (at least in the environment I work in) is grep -i gwyn //monet/etc/passwd All hosts reside in the same flat name space, so going to a host through another host isn't implemented. (Network gateways are implemented with the usual TCP/IP routing mechanism, transparently to the network file system.) -=- Andrew Klossner (decvax!tektronix!tekecs!andrew) [UUCP] (andrew%tekecs.tek.com@relay.cs.net) [ARPA]
giebelhaus@hi-csc.UUCP (12/02/87)
In article <35000@sun.uucp>, brent%terra@Sun.COM (Brent Callaghan) writes: > Another good reason for "just another directory" is that it leaves > open the possibility of having nodes other than host names under > the directory. Consider the following: > > /host/<hostid> - file systems on other hosts > /home/<userid> - users home directories > /src/<version> - other source trees > > There's not always a need to know the host on which a file > resides. There are good reasons for hiding this information > e.g. because you don't know the disk partition a file is in > the administrator can relocate disk partitions freely. > Similarly a /home directory allows a user to move to another host > and have his/her home directory mounted automatically. But the // directory is just another directory. It is simply a directory above the / directory. The only things special about it is I cannot reference a remote // directory (I can only reference the / directory and below) and the // name its self. I can put links in or anything I want. I'm a bit confused about how the /home directory works. We have about 30 suns and I have been trying to figure out how to arrange the cross mounts and such. We have four servers and each server has at least one partition of user files. I can't figure out how to get the path to the home directory look the same for all people no matter what server they log in on and still make it so I can move them from server to server without them knowing. What I am doing now is making links from a /udd directory. All users have a link in the /udd directory to either //host/user/user-name on the apollo or /n/host-name/user-name. host-name is the name of the host, but it is the directory (partition) on that host with the user files in it. I have some steps so that the loss of the /udd dir is not so bad like putting the /n/host-name/user-name in the /etc/passwd file and keeping replicas of the /udd dir. I'm still not happy with this though. Is there a better way? P.S. About my previous message, I do know the lock protocol is seperate from nfs. I meant to say it was added for use with nfs, not a part of nfs which could not be seperated. I'll put more effort in remaining clear in the future. -- --------------------------------- UUCP: {uunet, ihnp4!umn-cs}!hi-csc!giebelhaus ARPA: hi-csc!giebelhaus@umn-cs.arpa Nobody I know admits to sharing my opinions. I don't even have a pet.
chris@mimsy.UUCP (Chris Torek) (12/02/87)
In another article whose referent has been deleted, Doug Gwyn gives the following example: >> grep -i gwyn /n/ucbvax/n/monet/etc/passwd >> should work, but I doubt that >> grep -i gwyn //ucbvax//monet/etc/passwd >> would. In article <9446@tekecs.TEK.COM> andrew@frip.gwd.tek.com (Andrew Klossner) writes: >What you really want (at least in the environment I work in) is > grep -i gwyn //monet/etc/passwd >All hosts reside in the same flat name space.... This one is too easy. There are places that, for administrative reasons (read `paranoia and/or pinheadedness' :-) ), *require* such indirection. (I am not claiming that UCB is one such.) Incidentally, I think the Internet growth has shown why flat name spaces are bad. -- In-Real-Life: Chris Torek, Univ of MD Comp Sci Dept (+1 301 454 7690) Domain: chris@mimsy.umd.edu Path: uunet!mimsy!chris
matt@oddjob.UChicago.EDU (Ke Kupua) (12/02/87)
In article <9591@mimsy.UUCP> chris@mimsy.UUCP (Chris Torek) writes:
) Incidentally, I think the Internet growth has shown why flat name
) spaces are bad.
grep -i gwyn //edu//berkeley//monet/etc/passwd
??
chuckle, snort.
Matt
allbery@ncoast.UUCP (Brandon Allbery) (12/03/87)
As quoted from <411@PT.CS.CMU.EDU> by jgm@K.GP.CS.CMU.EDU (John Myers): +--------------- | Just to add to the confusion, let me put in a plug in for the Carnegie-Mellon | University Computer Science Department's syntax: | | /../host | | "/.." is known as the "super-root". It seems logically consistent to me... +--------------- Altos WorkNet: @host/path. The machines on the network need not be mounted, just named as being on the network. Requests are passed off by the kernel to user-mode network servers. If you happen to want V8 syntax, "ln -s @ /n/" and then "/n/host/foo" will be handled properly (as @host/foo). All is not roses, however. Personally, I think both syntaxes are ugly, but it *does* work and it is flexible. (The @ syntax screws up programs like "emacs" which generate full pathnames, and the symlink solution doesn't change what pwd says. As for the symlink itself, it looks to me like an ugly special case construction (that trailing slash on the "/n/" is REQUIRED).) I rather suspect that network disks are as slippery as symlinks: There just isn't a solution. I *do* think the V8 syntax (/n/host) is nicest of the no-mount systems, but the mounted network disks are most flexible. (This may say more about changes needed to "mount" than about networked file systems, however. Anyone want to recap "generalized mounts"?) -- Brandon S. Allbery necntc!ncoast!allbery@harvard.harvard.edu {hoptoad,harvard!necntc,cbosgd,sun!mandrill!hal,uunet!hnsurg3}!ncoast!allbery Moderator of comp.sources.misc
drb@praxis.co.uk (David Brownbridge) (12/03/87)
In article <411@PT.CS.CMU.EDU> jgm@K.GP.CS.CMU.EDU (John Myers) writes: >Just to add to the confusion, let me put in a plug in for the Carnegie-Mellon >University Computer Science Department's syntax: > >/../host We built a system which also allowed super-super-roots and so on ad infinitum. /../NearbyHost /../../OtherSite/host /../../../OtherCountry/AnotherSite/host "/.." makes sense to me which is why I promoted it as the "University of Newcastle upon Tyne Computing Laboratory's syntax" :-) Some old-timers must remember the "Newcastle Connection" distributed UNIX system which Lindsay Marshall and I wrote in 1981-2. "Not for the iron fist but for the helping hand" [Billy Bragg/Oyster Band "Between The Wars"]
robert@cheviot.newcastle.ac.uk (Robert Stroud) (12/05/87)
In article <6769@brl-smoke.ARPA> gwyn@brl.arpa (Doug Gwyn (VLD/VMB) <gwyn>) writes: >In article <411@PT.CS.CMU.EDU> jgm@K.GP.CS.CMU.EDU (John Myers) writes: >>Just to add to the confusion, let me put in a plug in for the Carnegie-Mellon >>University Computer Science Department's syntax: >>/../host > >Stolen from the Newcastle Connection. > >>"/.." is known as the "super-root". It seems logically consistent to me... > >So, what is the result of > $ cd /.. > $ pwd /.. of course!! If you add directories above root (and remember that with the Newcastle Connection, /.. was just a directory rather than some mysterious "super-root") so that it is possible for your current directory to be in an uncle or cousin relationship with root (rather than a direct descendent), then you have to modify the pwd algorithm accordingly. pwd assumes that if you go up the tree with ".." enough times you will get to root. If your current directory is in a sideways relationship to root, this assumption will no longer be valid. The modified pwd algorithm should work like this: (1) Go up the tree with .. from your current directory until you find / or reach the base of the tree (a directory which is its own parent). (2) If you didn't reach / in (1), then starting from / go up to the base of the tree with .. and prefix the appropriate number of /..'s to the string from (1). For example, after cd /../../C/D, step (1) will give /C/D and step (2) will give /../.. so the answer is /../../C/D. This is relatively straightforward to implement. I've made the necessary modifications to the System V /bin/pwd and sh (which has a built-in pwd) for use with a kernel implementation of the Newcastle Connection. The tricky bit is getting the shortest possible pathname. For example, if / corresponds to /../../A/B in the global naming tree, then after cd /../C, the modified pwd algorithm would give /../../A/C which is correct but redundant. (/../../A is the same as /.. if / is /../../A/B). This can be fixed if you keep a record of everywhere you visit in (1) and stop in (2) when you reach somewhere you've visited before, but since in an infinite naming tree this would require an infinite amount of storage and isn't very efficient in any case, it is easier to simply implement the algorithm given (which also requires an infinite amount of storage in the general case of course!) and ignore this problem. Robert J Stroud, Computing Laboratory, University of Newcastle upon Tyne. ARPA robert%cheviot.newcastle@nss.cs.ucl.ac.uk UUCP ...!ukc!cheviot!robert JANET robert@newcastle.cheviot
snoopy@doghouse.gwd.tek.com (Snoopy) (12/12/87)
In article <9591@mimsy.UUCP> chris@mimsy.UUCP (Chris Torek) writes: |In another article whose referent has been deleted, Doug Gwyn gives |the following example: |>> grep -i gwyn /n/ucbvax/n/monet/etc/passwd |>> should work, but I doubt that |>> grep -i gwyn //ucbvax//monet/etc/passwd |>> would. |In article <9446@tekecs.TEK.COM> andrew@frip.gwd.tek.com (Andrew |Klossner) writes: |>What you really want (at least in the environment I work in) is |> grep -i gwyn //monet/etc/passwd |>All hosts reside in the same flat name space.... |This one is too easy. There are places that, for administrative |reasons (read `paranoia and/or pinheadedness' :-) ), *require* |such indirection. (I am not claiming that UCB is one such.) You will be happy to learn that //host1//host2/etc/passwd does in fact work under DFS. And you *can* mount remote filesystems if you really want to. I prefer using symbolic links which: (a) are more flexible, and (b) don't require the superuser(s) to get involved. (No, let's not start the symlink argument again!) Snoopy tektronix!doghouse.gwd!snoopy snoopy@doghouse.gwd.tek.com Pizza. Just say yes!
andrew@frip.gwd.tek.com (Andrew Klossner) (12/12/87)
[] "You will be happy to learn that //host1//host2/etc/passwd does in fact work under DFS." But it wasn't meant to; it only works by accident. And a triple reference fails: % ls -ld //lemming//hammer//tekecs ls : //lemming//hammer//tekecs : Too many levels of symbolic links (There were no symlinks among these three roots.) "And you *can* mount remote filesystems if you really want to." No you can't: % /etc/mount //lemming/dev/ds66a /l mount : //lemming/dev/ds66a on /l : Reference is to remote file (sys74) "I prefer using symbolic links which: (a) are more flexible, and (b) don't require the superuser(s) to get involved." A big lose of symlinks for this is that root can accidentally "rm" the connection. You can't "rm" a mounted mountpoint. -=- Andrew Klossner (decvax!tektronix!tekecs!andrew) [UUCP] (andrew%tekecs.tek.com@relay.cs.net) [ARPA]
rfr@TEMP.IUS.CS.CMU.EDU (Rick Rashid) (12/12/87)
The "/.." remote file system in use at CMU has a fair amount of history going back to 1980. It originated with a library based implementation called Lucifer done by Alex Schaeffer (now at Stanford). The idea, but not the code, was picked up on by Mike Accetta at CMU and implemented in an early BSD kernel in 1981. Originally, the syntax Mike used was "[host]/usr/foo". This caused no end of grief for UNIX programs which could not parse filenames with "[]" in them. Mike then picked up the "/.." idea from the Newcastle work. It was carried over into Mach by Mike and is one of two compatible remote file systems in use in CMU-CSD, the other being the ITC's VICE file system. A lot of fine tuning went into the use of "/.." and the way in which cd and pwd deal with remote directories. In particular, most things you say make sense if you think of /.. as the super-root directory which contains in it the root directories of machines on the network. For example: cd /../rfr/usr/rfr/../../../temp pwd Yields: /../.temp.ius.cmu.edu Where the pwd command provides the full domain name to disambiguate the machine for the user (a local convention). Also: cd /../rfr/usr/rfr/../../../temp/usr/rfr/../../../rfr/usr/rfr Is the same as: cd /../rfr/usr/rfr If you "cd /.." and say "ls" you get a list of all the machines in the CS Department. If you then "cd host" you are at the root for that host. The scheme is certainly not perfect. In particular, as noted in the previous notes, "/../.." must be thought of as special since it is, in fact, your "real root". While this makes some sense, and indeed /../../bin is really /bin, it can be confusing without an explanation (and even sometimes with one). Since "/../.." wouldn't logically mean anything but "super-super-root" I don't personally feel real bad about punning on it in this way, but I do understand the concern expressed. -Rick BTW: The use of "/../host" is a convention and not a requirement. In fact, the remote hosts links are special files which can be placed anywhere in your file hierarchy using a program called "remhost". Because /.. is so useful, this fact is seldom taken advantage of, however. One negative to the fact that the remote links are files is that you cannot simply access a host by /../host unless that host file has been entered. The cost of entering, though, is small and in practice hundreds of hosts are in our "/.." at CMU. It would be a relatively simple manner to add automatic updates to "/.." upon reference. There is already a daemon which will automatically switch symbolic links to remote directories from one machine to another upon host or network failure. This, combined with an automatic file replicator daemon, allows a (very) poor man's form of replicated remote files.
gwyn@brl-smoke.ARPA (Doug Gwyn ) (12/13/87)
In article <2312@encore.UUCP> loverso@encore.UUCP (John LoVerso) writes: > % cd /../.. > % pwd > /../.. > % cd bin > % pwd > /bin Someone explained to me how at least one of these systems works; in theirs, the kernel was keeping track and the first chdir("..") from the root actually followed the link (which was "rejigged" to get to a directory of network machine portals) but a subsequent and all following consecutive chdir("..")s would get to the root "/" of the original system. This made the usual "pwd" algorithms continue to report the "right" thing, but although useful it's obviously very warty.
andrew@frip.gwd.tek.com (Andrew Klossner) (12/16/87)
[] "I don't like the //a solution either. E.g. I have seen cpio producing names like //usr/.... We at PCS use mount point for our *transparent* network MUNIX/NET. These mount points are normally located within a superroot directory "/.." (which is not linked to "/")." This also breaks existing programs; a common way to see if a directory is the root of some file system is to see if "dir/.." is the same as "dir/." -=- Andrew Klossner (decvax!tektronix!tekecs!andrew) [UUCP] (andrew%tekecs.tek.com@relay.cs.net) [ARPA]
snoopy@doghouse.gwd.tek.com (Snoopy) (12/25/87)
In article <9514@tekecs.TEK.COM> andrew@frip.gwd.tek.com (Andrew Klossner) writes: > % ls -ld //lemming//hammer//tekecs > ls : //lemming//hammer//tekecs : Too many levels of symbolic links >(There were no symlinks among these three roots.) Obviously someone should fix the error message. > "And you *can* mount remote filesystems if you really want to." >No you can't: > % /etc/mount //lemming/dev/ds66a /l > mount : //lemming/dev/ds66a on /l : Reference is to remote file (sys74) Well, it *used* to let you do this. Fortunately there is no need for it. Snoopy tektronix!doghouse.gwd!snoopy snoopy@doghouse.gwd.tek.com "Here we come, a waddling..."
mitch@stride1.UUCP (Thomas P. Mitchell) (01/21/88)
In article <38d18d4f.4580@hi-csc.UUCP> giebelhaus@hi-csc.UUCP (Timothy R. Giebelhaus) writes: >In article <35000@sun.uucp>, brent%terra@Sun.COM (Brent Callaghan) writes: >> Another good reason for "just another directory" is that it leaves >> open the possibility of having nodes other than host names under >> the directory. Consider the following: >> >> /host/<hostid> - file systems on other hosts >> /home/<userid> - users home directories >> /src/<version> - other source trees >> >But the // directory is just another directory. The use of "//" in a file name string bothers me. I just had a case of gnu-emacs parsing a file name "/usr/me//.temp-filename" as "/.temp-filename". Not being superuser at the time I saw the error message. Searching found that my environment variable "$HOME" was being set to "/usr/mitch/". Changing the environment "$HOME" to "/usr/mitch" made the problem go away. I did not see the problem sooner because many utilities reduce "//" to "/" (try ls //). Emacs saw the double "/" and assumes that the user is over-riding a default and goes with the new file name. Well thanks for the soap. Thomas P. Mitchell (mitch@stride1.Stride.COM) Phone: (702) 322-6868 TWX: 910-395-6073 MicroSage Computer Systems Inc. a Division of Stride Micro. Opinions expressed are probably mine.