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/