Subject: NFS weirdness!
To: None <tech-kern@NetBSD.ORG>
From: Jason Thorpe <thorpej@nas.nasa.gov>
List: tech-kern
Date: 09/18/1996 18:03:39
Hi folks...

I've been having some _weird_ problems with NFS these last few days, and
was wondering if anyone has any ideas about what's going on before I
dive into the code (which I'd much rather leave to NFS experts :-)

Situation: I have a 486/66 (antie) which is my fileserver for my NetBSD
cluster at work.  My main sparc is lestat, and my main alpha is nostromo.
Lestat uses amd to automount antie:/work on /tmp_mnt/antie/work (which
id indirectly accessed vi /nfs/antie/work; don't ask ... NFSv2 mount),
and nostromo mounts antie:/work on /work in /etc/fstab (NFSv3 mount).

So, here's the problem that I _all of the sudden_ ran into...

nostromo (thorpej) /usr/src 105% cd usr.bin
nostromo (thorpej) /usr/src/usr.bin 106% cd touch
nostromo (thorpej) /usr/src/usr.bin/touch 107% cd obj.alpha
/usr/bin/whoami: getcwd() failed
nostromo () /usr/src/usr.bin/touch/obj.alpha 108% pwd
pwd: No such file or directory
nostromo () /usr/src/usr.bin/touch/obj.alpha 109% cd ../../
nostromo (thorpej) /usr/obj 110% pwd
/work/obj
nostromo (thorpej) /usr/obj 111% cd /usr/src/
nostromo (thorpej) /usr/src 112% pwd
/work/netbsd/src
nostromo (thorpej) /usr/src 113% df
Filesystem  1024-blocks     Used    Avail Capacity  Mounted on
/dev/sd0a         69163    16141    46105    26%    /
/dev/sd0d        197567    99077    78733    56%    /usr
/dev/sd0e         39295      546    34819     2%    /var
/dev/sd0f        426721   110214   273834    29%    /u1
/dev/sd1c        401683   140981   240617    37%    /local
antie:/work     1702701   742836   874729    46%    /work
lestat:/u1      2021802  1198009   722702    62%    /lestat-u1
lestat:/u2      2021802  1656163   264548    86%    /lestat-u2

Note that /work/netbsd/src and /work/obj are on the _same_ NFS filesystem!

What's even _stranger_... Look at a ktrace of /bin/pwd ... Where's the
error!?  All of the syscalls seem to return 0!

Anyone have any ideas?  This is ... slightly more than a little annoying.

  5693 ktrace   RET   ktrace 0
  5693 ktrace   CALL  __sysctl(0x1fffff1b8,0x2,0x1400015b0,0x1fffff1c0,0,0)
  5693 ktrace   RET   __sysctl 0
  5693 ktrace   CALL  break(0x140002520)
  5693 ktrace   RET   break 0
  5693 ktrace   CALL  break(0x140003ff8)
  5693 ktrace   RET   break 0
  5693 ktrace   CALL  break(0x140005ff8)
  5693 ktrace   RET   break 0
  5693 ktrace   CALL  execve(0x1fffff248,0x1fffff6e8,0x1fffff6f8)
  5693 ktrace   NAMI  "/bin/pwd"
  5693 pwd      EMUL  "netbsd"
  5693 pwd      RET   execve 0
  5693 pwd      CALL  __sysctl(0x1fffff5a8,0x2,0x140001610,0x1fffff5b0,0,0)
  5693 pwd      RET   __sysctl 0
  5693 pwd      CALL  break(0x140002680)
  5693 pwd      RET   break 0
  5693 pwd      CALL  break(0x140003ff8)
  5693 pwd      RET   break 0
  5693 pwd      CALL  break(0x140005ff8)
  5693 pwd      RET   break 0
  5693 pwd      CALL  stat(0x12000d2c8,0x1fffff618)
  5693 pwd      NAMI  "/"
  5693 pwd      RET   stat 0
  5693 pwd      CALL  lstat(0x140004800,0x1fffff618)
  5693 pwd      NAMI  "."
  5693 pwd      RET   lstat 0
  5693 pwd      CALL  open(0x140004800,0x4,0x140001610)
  5693 pwd      NAMI  ".."
  5693 pwd      RET   open 3
  5693 pwd      CALL  fstat(0x3,0x1fffff3f8)
  5693 pwd      RET   fstat 0
  5693 pwd      CALL  fcntl(0x3,0x2,0x1)
  5693 pwd      RET   fcntl 0
  5693 pwd      CALL  break(0x140007ff8)
  5693 pwd      RET   break 0
  5693 pwd      CALL  fstatfs(0x3,0x1fffff470)
  5693 pwd      RET   fstatfs 0
  5693 pwd      CALL  break(0x14000bff8)
  5693 pwd      RET   break 0
  5693 pwd      CALL  break(0x14000dff8)
  5693 pwd      RET   break 0
  5693 pwd      CALL  fstat(0x3,0x1fffff618)
  5693 pwd      RET   fstat 0
  5693 pwd      CALL  getdirentries(0x3,0x140008000,0x2000,0x140006028)
  5693 pwd      RET   getdirentries 8192/0x2000
  5693 pwd      CALL  getdirentries(0x3,0x140008000,0x2000,0x140006028)
  5693 pwd      RET   getdirentries 0
  5693 pwd      CALL  write(0x2,0x1ffffeea0,0x5)
  5693 pwd      GIO   fd 2 wrote 5 bytes
       "pwd: "
  5693 pwd      RET   write 5
  5693 pwd      CALL  stat(0x1fffff1e0,0x1fffff168)
  5693 pwd      NAMI  "/usr/share/nls/C/libc.cat"
  5693 pwd      RET   stat 0
  5693 pwd      CALL  open(0x1fffff1e0,0,0x4)
  5693 pwd      NAMI  "/usr/share/nls/C/libc.cat"
  5693 pwd      RET   open 4
  5693 pwd      CALL  fstat(0x4,0x1fffff168)
  5693 pwd      RET   fstat 0
  5693 pwd      CALL  break(0x14000fff8)
  5693 pwd      RET   break 0
  5693 pwd      CALL  mmap(0,0xe5a,0x1,0x1,0x4,0,0)
  5693 pwd      RET   mmap -2147483648/0x80000000
  5693 pwd      CALL  close(0x4)
  5693 pwd      RET   close 0
  5693 pwd      CALL  munmap(0x180000000,0xe5a)
  5693 pwd      RET   munmap 0
  5693 pwd      CALL  write(0x2,0x1ffffeea0,0x1a)
  5693 pwd      GIO   fd 2 wrote 26 bytes
       "No such file or directory
       "
  5693 pwd      RET   write 26/0x1a
  5693 pwd      CALL  exit(0x1)

 -- save the ancient forests - http://www.bayarea.net/~thorpej/forest/ -- 
Jason R. Thorpe                                       thorpej@nas.nasa.gov
NASA Ames Research Center                               Home: 408.866.1912
NAS: M/S 258-6                                          Work: 415.604.0935
Moffett Field, CA 94035                                Pager: 415.428.6939