Subject: Mounting Linux-NFS shares with -o tcp
To: None <netbsd-help@netbsd.org>
From: Martijn van Buul <martijnb@atlas.ipv6.stack.nl>
List: netbsd-help
Date: 09/24/2006 13:43:05
Hello;

I'm having a bit of a problem with mounting NFS shares exported by a Linux
(2.4.30) with both a 4.0.99 as well as a a 4.0_BETA machine. Everything
works fine if I don't specify any mount options, but things go wrong
if I use NFS over TCP (I'm doing an NFS mount over a wireless link; using
nfs-over-tcp has proven to be helpful in this case)

It would almost seem like NFS requests are cut short. Large directories 
appear empty, file access fails, except for small files. Files smaller than
3897 bytes work, larger files fail with a "RPC struct is bad". The
silly thing is that this happens only one way - while I can copy larger files
from my NetBSD client to the Linux server without problem. There are no
warnings to be found in dmesg or /var/log/messages on either client or
server.

Restricting the max. NFS read- and write data sizes to 3072 seems to "fix" 
the problem, but I can't help but think that this can't be right, and that
this merely camouflages the problem. Using UDP works right away.

Any ideas what might be wrong? I tested this on both my (NetBSD) desktop,
as well as my laptop, using both wireless as well as wired connection, in
an attempt to exclude the possible influence of ill-behaving switches..

Kind regards,

Martijn