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