Re: Linux 2.4.19pre4-ac1

Neil Brown (neilb@cse.unsw.edu.au)
Wed, 27 Mar 2002 09:06:47 +1100 (EST)


On Tuesday March 26, afu@fugmann.dhs.org wrote:
> Compiling static NFSv3 support in kernel, gives me:
>
> Mar 26 22:30:01 gw kernel: RPC request reserved 240 but used 244
> Mar 26 22:30:32 gw last message repeated 60 times
> Mar 26 22:31:34 gw last message repeated 124 times
> Mar 26 22:32:36 gw last message repeated 124 times
> Mar 26 22:33:37 gw last message repeated 120 times
> Mar 26 22:34:01 gw last message repeated 51 times
>
> Other errormessages also appears on the form
> RPC request reserved X but used Y, but only where Y=4+X.
>
> Client is vanilla 2.5.7. This happens with and without TCP support
> compiled in, and regardsless of usage of TCP or not.
>

Thanks. This is me not being able to count...

We need an early estimate of how big the reply for each request might
be so we can reserve space in the transmit queue. I counted the
maximum size for each response and obviously got this one wrong and
missed it in my testing.

--- fs/nfsd/nfs3proc.c 2002/03/18 01:44:00 1.3
+++ fs/nfsd/nfs3proc.c 2002/03/26 22:02:46
@@ -679,6 +679,6 @@
PROC(readdirplus,readdirplus, readdir, fhandle, RC_NOCACHE, 0),
PROC(fsstat, fhandle, fsstat, void, RC_NOCACHE, 1+14),
PROC(fsinfo, fhandle, fsinfo, void, RC_NOCACHE, 1+13),
- PROC(pathconf, fhandle, pathconf, void, RC_NOCACHE, 1+6),
+ PROC(pathconf, fhandle, pathconf, void, RC_NOCACHE, 1+7),
PROC(commit, commit, commit, fhandle, RC_NOCACHE, 1+7+22+2),
};

should fix it. If it doesn't (and there is something else that I have
missed), please

echo 16 > /proc/sys/sunrpc/nfsd_debug

and then watch for the error to appear. You will get something like:

Mar 27 08:56:55 elfman kernel: nfsd: FSINFO(3) 12: 00000001 01000800 00000002 00000000 00000000 00000000
Mar 27 08:56:55 elfman kernel: nfsd: GETATTR(3) 12: 00000001 01000800 00000002 00000000 00000000 00000000
Mar 27 08:56:55 elfman kernel: nfsd: ACCESS(3) 12: 00000001 01000800 00000002 00000000 00000000 00000000 0x2
Mar 27 08:56:55 elfman kernel: nfsd: PATHCONF(3) 12: 00000001 01000800 00000002 00000000 00000000 00000000
Mar 27 08:56:55 elfman kernel: RPC request reserved 56 but used 60
Mar 27 08:56:55 elfman kernel: nfsd: GETATTR(3) 12: 00000001 01000800 00000002 00000000 00000000 00000000
Mar 27 08:56:55 elfman kernel: nfsd: ACCESS(3) 12: 00000001 01000800 00000002 00000000 00000000 00000000 0x1
Mar 27 08:56:55 elfman kernel: nfsd: READDIR+(3) 12: 00000001 01000800 00000002 00000000 00000000 00000000 8192 bytes at 0
Mar 27 08:56:55 elfman kernel: nfsd: READLINK(3) 28: 02000001 01000800 00000002 0000000d 3a270305 00000002

which, in this case, shows that the error happened for a PATHCONF(3)
call.

NeilBrown
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/