[3797] in Athena Bugs
env_setup doesn't work correctly with afs
daemon@ATHENA.MIT.EDU (David Krikorian)
Sun Dec 10 02:32:21 1989
Date: Sun, 10 Dec 89 02:32:05 -0500
From: David Krikorian <dkk@ATHENA.MIT.EDU>
To: bugs@ATHENA.MIT.EDU
Reply-To: dkk@ATHENA.MIT.EDU
program: /usr/athena/lib/init/env_setup
when: in 6.3B and 6.4A (all versions at least since 8-18-89 )
env_setup is a shell script is called by /usr/athena/lib/init/cshrc
(which is called by ~/.cshrc) when the shell is in a "subject window."
A subject window is a window opened by the "setup" alias, for work on
a particular course.
The problem is that env_setup makes some bad assumptions about hesiod
filsys information. Here is an excerpt:
------------
if (! $status) then
[some shell commands for when everything works correctly ...]
else
echo ""
echo "The $SUBJECT filesystem could not be attached."
set filsys = `hesinfo $SUBJECT filsys`
if ($#filsys < 3) then
echo "Check your spelling of the filesystem name."
else
echo "The $filsys[1] fileserver named $filsys[3] may be down."
endif
echo ""
echo "Type exit to get rid of this window."
endif
------------
Hesiod filsys information includes five fields:
------
alecto% hes w20-vsusr filsys
RVD vsusr slartibartfast r /urvd
alecto% hes snmp filsys
NFS /u2/lockers/snmp cyrus w /mit/snmp
alecto% hes dkk filsys
AFS /afs/athena.mit.edu/user/d/dkk w /mit/dkk
------
Field #1 is the type, #2 is the path (on the server), #3 is the server
name, #4 is the default mount mode (read or read-write) and #5 is the
local mountpoint. Note that the AFS example, above, doesn't have a
server name. No AFS filsys information includes a server name, since
that is handled by the AFS Volume Location Database server, and is
transparent to the user.
If a user were to run the Athena-provided commands for use of the
"nandrew" locker, and the attach program exited with non-zero status
while trying to attach that locker, the error he would get would be:
[indentation added for clarity]
The nandrew filesystem could not be attached.
The AFS fileserver named r may be down.
Type exit to get rid of this window.
In the second line, the letter 'r' gives no useful information, and is
confusing.