[721] in netbsd-help mailing list archive
Re: scheme crash
daemon@ATHENA.MIT.EDU (Greg Hudson)
Sat Feb 3 11:28:02 1996
Date: Sat, 3 Feb 1996 11:23:47 -0500
From: Greg Hudson <ghudson@MIT.EDU>
To: David C Zhang <davidz@MIT.EDU>
Cc: netbsd-dev@MIT.EDU, netbsd-help@MIT.EDU
In-Reply-To: "[523] in netbsd-help mailing list archive"
On December 10, 1995, you wrote:
> Upon the next bootstrap, save_core reported the cause of crash:
> nfs_readdir: not hungry
In case you're curious, this is indeed the result of a bug fixed in
NetBSD 1.1 (as you've probably found if you've tried scheme since
then). Essentially, any binary compatibility routine trying to read
an NFS (or kernfs, or procfs, etc.) filesystem would fail because the
number of directory entries it returned was slightly different from
the number it read from the filesystem. Fixing the bug involved
adding "cookie" support to every filesystem.
There is still a performance problem with NFS in that cached directory
blocks are not used unless they start in exactly the right place.
This is particularly a problem for Linux, since the old Linux system
call for reading directories returns only one directory entry. So
NetBSD will ask the server for "a bunch of directory entries starting
at 0," return the first one, go back to the server for "a bunch of
directory entries starting at 1," etc.. This isn't too much of a
problem in practice, and is difficult to fix.
Sorry for the lack of an answer at the time.