From owner-freebsd-current Thu Jul 20 05:55:08 1995 Return-Path: current-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id FAA07104 for current-outgoing; Thu, 20 Jul 1995 05:55:08 -0700 Received: from haywire.DIALix.COM (haywire.DIALix.COM [192.203.228.65]) by freefall.cdrom.com (8.6.11/8.6.6) with ESMTP id FAA07098 for ; Thu, 20 Jul 1995 05:55:02 -0700 Received: (from news@localhost) by haywire.DIALix.COM (8.6.12/8.6.12/DIALix) id UAA27712 for freebsd-current@freebsd.org; Thu, 20 Jul 1995 20:54:49 +0800 Received: from GATEWAY by haywire.DIALix.COM with netnews for freebsd-current@freebsd.org (problems to: usenet@haywire.dialix.com) To: freebsd-current@freebsd.org Date: 20 Jul 1995 20:54:45 +0800 From: peter@haywire.dialix.com (Peter Wemm) Message-ID: <3uljml$r1t$1@haywire.DIALix.COM> Organization: DIALix Services, Perth, Australia. References: <3uj6pg$3h3$1@haywire.DIALix.COM>, Subject: Re: what's going on here? (NFSv3 problem?) Sender: current-owner@freebsd.org Precedence: bulk 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 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