NFS and /etc/exports
Alfred Perlstein
alfred at freebsd.org
Tue Apr 15 03:37:02 UTC 2008
* Dan Nelson <dnelson at allantgroup.com> [080414 20:24] wrote:
> In the last episode (Apr 14), Alfred Perlstein said:
> > * Robert Blayzor <rblayzor.bulk at inoc.net> [080414 06:07] wrote:
> > > On Apr 14, 2008, at 7:02 AM, Nawfal bin Mohmad Rouyan wrote:
> > > >I'm using TCP and the entry in /etc/fstab on all clients is as below:
> > > >
> > > >build:/usr/ports /usr/ports nfs tcp,intr,nfsv3,-w=32768,-r=32768,rw,noauto 0 0
> > > >build:/usr/src /usr/src nfs tcp,intr,nfsv3,-w=32768,-r=32768,rw,noauto 0 0
> > > >build:/usr/obj /usr/obj nfs tcp,intr,nfsv3,-w=32768,-r=32768,rw,noauto 0 0
> > >
> > > Are -r and -w really needed/useful for TCP mounts?
> >
> > yes.
>
> This is interesting: according to mountnfs() in nfs_vfsops.c, those are
> already the kernel defaults:
>
> if ((argp->flags & NFSMNT_NFSV3) && argp->sotype == SOCK_STREAM) {
> nmp->nm_wsize = nmp->nm_rsize = NFS_MAXDATA;
> } else {
> nmp->nm_wsize = NFS_WSIZE;
> nmp->nm_rsize = NFS_RSIZE;
> }
>
> $ grep nfs_maxdata /sys/nfs/*
> /sys/nfs/nfsproto.h:#define NFS_MAXDATA 32768
>
> But it looks like /sbin/mount_nfs always overrides them to NFS_WSIZE
> and NFS_RSIZE (both 8K) in its nfsdefargs struct.
Yeah, not sure what to make of this. :)
Using packet size greater than 8k for UDP mounts can really make
your life miserable because a single dropped IP packet will
force retransmit of the whole packet.
In my experience when using TCP it's really good to go to 32k.
--
- Alfred Perlstein
More information about the freebsd-stable
mailing list