NFS on 6.1 limits at 4 Gig

Julian H. Stacey jhs at flat.berklix.net
Wed Nov 8 00:05:25 UTC 2006


John Baldwin wrote:
> On Thursday 02 November 2006 15:10, Julian H. Stacey wrote:
> > John Baldwin wrote:
> > > On Thursday 02 November 2006 05:50, Julian Stacey wrote:
> > > > NFS fails on files >= 4 Gig	 Can someone confirm please. 
> > > > 
> > > > uname -r	# 6.1-RELEASE 	(both hosts)
> > > > 		# echo "1024 1024 * 4 * 1 + p" | dc	# 4194305	
> > > > dd if=/dev/zero of=junk bs=1k count=4194305 
> > > > ls -l junk	# 4294968320 bytes
> > > > rsh an_nfs_host ls -l /host/`hostname -s`/usr/tmp/junk # 1024 byte size!
> > > > 				# with count=4194304, ls shows 0 bytes.
> > > > 
> > > > It's not AMD failing, but NFS, as with an /etc/amd.map with a
> > > > non NFS entry for my host "laps" for efficiency (in case some
> > > > shell on host laps mounts itself), the full size 4294968320 is seen.
> > > > 	/etc/amd.map 
> > > > 		/defaults       type:=host;fs:=${autodir}/${rhost};rhost:=${key}
> > > > 		laps            type:=link;fs:=..
> > > > 
> > > > It's not just ls, cmp fails too, ( as also does my
> > > > 	http://berklix.com/~jhs/src/bsd/jhs/bin/public/cmpd/cmpd.c )
> > > > cmp -z junk /host/laps/usr/tmp/junk # junk /host/laps/usr/tmp/junk differ: size
> > > > 
> > > > Is send-pr appropriate ?
> > > 
> > > Are you using NFS v2 or v3?  v2 doesn't support large files.
> > > John Baldwin
> > 
> > Thanks, I don't know !  Whatever 6.1-RELEASE comes standard with.
> > 
> > After your mail I did cd /usr/ports ; echo */*nfs*
> > 	net-mgmt/nfsen net/nfsshell net/pcnfsd net/unfs3
> > /usr/ports/net/unfs3 offers a non ernel V3 server
> > but I'd still need a v3 client I suppose ?
> > Are 6.2-pre or current using V3 NFS then ?
> > Hints which way to jump / where to RTFM please :-)
> 
> It should default to v3, the nfs client in the base system can do either
> v2 or v3.  I'm not sure if amd is going to default to v2 with your map
> file though.

Ah Yes !  Fresh eyes :-) 	My /etc/amd.map had bit rot with "vers=2" in
	*       opts:=rw,grpid,resvport,vers=2,proto=udp,nodev
I tested with manually mounted mount_nfs -2 & -3, then
removed "vers=2" from amd.map & now all OK, comparing 5 gig files over NFS.

> You can use tcpdump on the port with NFS traffic to see
> if it's v2 or v3 though.

I tried		tcpdump -v -t -s 192 -i rl0 port 2049
  IP (tos 0x0, ttl  64, id 52774, offset 0, flags [none], proto: UDP (17), length: 128) fire.jhs.private.1181802316 > laps.jhs.private.nfs: 100 lookup fh 1041,235166/2 "usr2"
  IP (tos 0x0, ttl  64, id 35491, offset 0, flags [none], proto: UDP (17), length: 156) laps.jhs.private.nfs > fire.jhs.private.1181802316: reply ok 128 lookup fh 1041,235166/16512 DIR 40755 ids 0/0 sz 512

But didnt know how to read it for NFS 2/3 hence used mount_nfs -2 & -3.
Problem solved.  Thanks John.

-- 
Julian Stacey.  BSD Unix C Net Consultancy, Munich/Muenchen  http://berklix.com
Mail Ascii, not HTML.		Ihr Rauch = mein allergischer Kopfschmerz.
			http://berklix.org/free-software


More information about the freebsd-hackers mailing list