Date: Tue, 4 Jan 2011 20:02:19 -0500 (EST) From: Rick Macklem <rmacklem@uoguelph.ca> To: Marek Salwerowicz <marek_sal@wp.pl> Cc: freebsd-stable@freebsd.org, Maciej Milewski <milu@dat.pl>, Jean-Yves Avenard <jyavenard@gmail.com> Subject: Re: NFSv4 - how to set up at FreeBSD 8.1 ? Message-ID: <1036681015.111502.1294189339355.JavaMail.root@erie.cs.uoguelph.ca> In-Reply-To: <DDB42FB5761D4C91B046976C8A4A371E@marekdesktop>
next in thread | previous in thread | raw e-mail | index | archive | help
> Hi, > > so it slowly starts working: > > nfs4-server# cat /etc/exports > V4: / > / -maproot=root -network 192.168.183.0 -mask 255.255.255.0 > nfs4-server# > > nfs4-server# ps aux | grep mountd > root 857 0.0 0.6 3348 1520 ?? Is 11:53PM 0:00.01 > /usr/sbin/mountd -e -r > nfs4-server# ps aux | grep nfsd > root 1303 0.0 0.5 3288 1324 ?? Is 12:04AM 0:00.03 nfsd: master > (nfsd) > root 1304 0.0 0.5 3288 1260 ?? S 12:04AM 0:00.02 nfsd: server > (nfsd) > nfs4-server# > > > I am able to mount the root '/' from nfs4-server: > > nfs4-client# mount_nfs -o nfsv4 192.168.183.131:/ /marek_nfs4/ > nfs4-client# ls /marek_nfs4/ > .cshrc cdrom home proc usr > .profile compat lib rescue var > .snap dev libexec root > COPYRIGHT dist media sbin > bin entropy mnt sys > boot etc plik tmp > nfs4-client# mount > /dev/ad0s1a on / (ufs, local) > devfs on /dev (devfs, local, multilabel) > /dev/ad0s1e on /tmp (ufs, local, soft-updates) > /dev/ad0s1f on /usr (ufs, local, soft-updates) > /dev/ad0s1d on /var (ufs, local, soft-updates) > 192.168.183.131:/ on /marek_nfs4 (newnfs) > nfs4-client# > > it works also on different partition: > > nfs4-server# cat /etc/exports > V4: /usr > /usr/home -maproot=root -network 192.168.183.0 -mask 255.255.255.0 > nfs4-server# > > > nfs4-client# mount_nfs -o nfsv4 192.168.183.131:/home /marek_nfs4/ > nfs4-client# ls /marek_nfs4/ > marek > nfs4-client# > > > What I noticed is that in 'V4: ' line we have to specify the mount > point of > the WHOLE partition we want to export > Yes, the NFSv4 protocol does not use the mount protocol (mountd) and only handles a single exported tree (with the root defined at the location specified by the "V4:" line). The protocol has an Op called Put Root File Handle, which sets the RPC to the location of the root and then Lookup Ops traverse down from there. Early in NFSv4 development, one of the authors said "NFSv4 is NFS in name only" and that is fairly accurate, imho. For example, one of the fundamental principals for NFSv2, 3 was a stateless server, whereas NFSv4 uses a statefull server and does lock state recovery after a server crash. rick
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1036681015.111502.1294189339355.JavaMail.root>