Date: 20 Jul 1995 20:54:45 +0800 From: peter@haywire.dialix.com (Peter Wemm) To: freebsd-current@freebsd.org Subject: Re: what's going on here? (NFSv3 problem?) Message-ID: <3uljml$r1t$1@haywire.DIALix.COM> References: <3uj6pg$3h3$1@haywire.DIALix.COM>, <Pine.BSF.3.91.950719164627.22916D-100000@minnow.render.com>
next in thread | previous in thread | raw e-mail | index | archive | help
dfr@render.com (Doug Rabson) writes: >On 19 Jul 1995, Peter Wemm wrote: >> Some time in the last few weeks, doing a ls on a large NFS mounted >> directory.. It looks like the server is answering with the wrong >> offset, but it used to work and the server hasn't changed lately >> (like, years... It's a vintage SVR4.0/386 system.) >> >> The freebsd client has it mounted with a read and write size of 1024, >> which struck me as odd that it appears to be asking for a 8192 byte >> chunk... It works fine with directory scans of smaller directories.. >> >> And yes, I'm just about to run fsirand on the server.. :-) >> >> Puzzled, (I don't speak NFS, so please be gentle.. ;-) >> -Peter >> >I just checked and it appears that the size used for readdir requests >(NFS_DIRBLKSIZE) has increased from 1024 to 4096 in the nfsv3 change. I >am not sure why though. It is also a bit confusing that you are seeing >8k readdir requests - from the looks of it, they should be 4k. Hmm. I noticed the following have changed (plus context) from: #define NFS_WSIZE 8192 /* Def. write size */ #define NFS_RSIZE 8192 /* Def. read size */ #define NFS_MAXREADDIR NFS_MAXDATA /* Max size of directory read */ to: #define NFS_WSIZE 8192 /* Def. write size */ #define NFS_RSIZE 8192 /* Def. read size */ #define NFS_READDIRSIZE 8192 /* Def. size of directory read */ I think that's where the 8K readdir comes from.. >Try reducing NFS_DIRBLKSIZE in <nfs/nfs.h> to 1024 and see if it fixes >your problem. I have not tried that yet, but increasing the mount blocksize from 1K to the default of 8K solves the problem. I then made a very large directory to test that it wasn't because the directory was larger than the read packet size. Perhaps there's a problem with the readdir packet reassembly? -Peter >-- >Doug Rabson, Microsoft RenderMorphics Ltd. Mail: dfr@render.com > Phone: +44 171 251 4411 > FAX: +44 171 251 0939
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3uljml$r1t$1>