Subject: Re: OT: NFS timeout question
To: None <netbsd-users@netbsd.org>
From: Christos Zoulas <christos@zoulas.com>
List: netbsd-users
Date: 12/07/2003 06:05:45
In article <20031206214444.A686@cs24279-4.austin.rr.com>,
Brian Grayson <bgrayson@austin.rr.com> wrote:
> (This is off-topic, but I have great respect for the knowledge
>of NetBSD users and developers, and I and the sysadmins at work are sort
>of stumped.)
>
> At work, we're currently having an NFS problem that
>unfortunately I'm the only one who can demonstrate it (I'm probably
>one of the most annoying^H^H^H^H^H^H^H^Hdemanding users at work!). What
>it appears is, when the fileserver is really overloaded (loads over 50 on
>a 16-processor modern Sun), some scripts appear to have their NFS
>read/getattr/etc. operations time out instead of just hanging until the
>server can handle the request. This causes error messages like being
>unable to change to my home directory, permission denied on my bin/
>directory, etc. I've been able to correlate my failures to entries in
>/var/adm/messages saying "server XXX not responding."
What are the errno's when system calls fail?
>
> It can also cause file corruption if you use the >> operator --
>Solaris sh does an open() request first, and if that fails, does a
>creat(). If the open() on a _valid_ file fails due to NFS weirdness, it
>ends up trunc'ing the file when it does the creat(). I've seen this
>truncating behavior twice so far on my files.
eww, solaris sh.
> My limited NFS knowledge says, if you have a hard mount, your
>system calls should _NEVER_ fail, they will just take a Really Long Time
>to complete. Am I wrong?
No, you are right.
> Does anyone have any ideas on how to debug this further? I tried
>using nfsstat on the clients, but didn't see much different behavior
>between a machine that seems to have lots of problems, and an older
>machine that doesn't. Since I'm a lowly user at work, I can't even
>log on to the fileserver to dig around there, so I have to rely on
>asking the sysadmins to dig around.
tcpdump?
christos