I'm having a problem with directories "disappearing" using a Fedora
3 NFS server and a solaris 5.10 client (NFS v3). When I first cd into
the directory, an ls shows what I expect. If I then wait an hour and
redo the ls, I get:
.: No such file or directory
If I then do a pwd, followed by another ls, the diretory contents
reappear. For example:
solara$ ls
.: No such file or directory
solara$ pwd
/proj/videorunner/hw/vr_enc/cae/PLD/lbenc/src
solara$ ls
AUDX_NEW/ mt48lc8m16a2_.vhd
FLYWHEEL_DEC/ outdata0.txt
I captured the NFS traffic with ethereal. When I do the initial
ls, the sequence is a series of LOOKUP calls (walking the pathname)
followed by a READDIRPLUS call to obtain the file names.
When I later do the ls, an ACCESS call is issued, and that call returns
ERR_NOENT. This is the first ACCESS call that I see in the trace.
After the pwd, when the ls works, I instead see a series of LOOKUPs
that again traverses the pathname, followed by LOOKUPs for all the
filenames in the directory (so obviously the directory contents were
cached in the solaris machine). So apparently, the ACCESS calls fail,
but they are only issued by solaris in certain circumstances, in this
case when doing an ls in a window that has been idle for an hour.
Curiously, all the permissions in the directories of the pathname
include world read/execute, so I don't understand why the ACCESS call
would return ERR_NOENT. Also, if there were a permissions problem, I
would expect that to show up during the initial cd into the directory.
I have not found anything like this in the archives. Has anyone else
seen this, and if so, are there any fixes/workarounds? I can post all
or part of the ethereal traces if that would help.
Steve Falco