[comp.unix.internals] Uncrossable Mount Point

lancelot@spock.UUCP (Thor Lancelot Simon) (11/01/90)

We have a Sun SPARCstation (4/65) running SunOS 4.1.  It has an internal 105 
meg drive with root on a 7.5 meg 'a' partition, /usr on a 79 meg 'g' partition,
and an unused 'b' partition (~16 meg) which was at one point the system swap 
space.  There are two external Wren IV 300 meg drives, one with 'c' mounted on
/usr/local and one with 'a' (150 meg) as swap and 'b' (150 meg) as
/usr/local/bitmap.  About a week ago the box with the Wrens was switched off
while the machine was running. (I *must* solder that switch CLOSED!) 
The wren with /usr/local at first seemed to be O.K., and fsck could handle the
/usr/local/bitmap drive.  The next time we rebooted, however, fsck failed on
the /usr/local drive, and fsck -y cleared every file on the drive.  We managed
to recover everything out of lost+found except for two files that hung the
machine on access.  I wasn't sure why this would happen, but I took the machine
single-user, ran a purge test and a compare test on the drive in question, 
reformatted it, and restored from backup.  (made from the recovered file system
but as all the files had to be copied out of lost+found, they can be assumed
to be OK.  I did not include lost+found in the backup.)  I now have a very
bizarre problem.  To root (UID 0) the file systems behave normally.  To a 
normal user, once one has cd'ed to /usr/local, it is impossible to cd .. - 
impossible to cross the mount point.  'df .' from /usr/local yields 
"Could not find mount point for ."  We export the /usr/local filesystem to
a number of other machines, and on those machines, the mount point is crossable
which makes me feel that the problem must lie with the /usr filesystem on the
server.  Can anybody shed some light on this?  All the filesystems in question
fsck cleanly, and if one is the superuser, all is normal.  It's only to normal
users that the /usr/local to /usr boundary is uncrossable, and only in the
direction from /usr/local to /usr.  If one specifies the explicit pathname /usr,
everything is fine.  I think there must be some difficulty finding the mount
point for /usr/local in the /usr filesystem, but I have no idea why this could
be.  As a test, I just newfs'd /usr/local, and everything happens the same way
even with a totally empty file system there.  In short, HELP...

Thor Simon


*******************************************************************************
*Thor Simon             * Okay, just a little pin-prick...There'll be no more-*
*lancelot@spock.UUCP    * Aieeeeaaaugh!-but you may feel a little _sick_.     *
*uunet!hsi!yale!lancelot*   ---Pink Floyd                                     *