In my home lan setup its an opensolaris (zfs fs) NFS server that is
supposed to be set to show NFS vers=3 on offer.
Somehow on the client end... my gentoo desktop, its getting mounted
with vers=4 as evidenced by the output of `mount'
opensolairs_NFS_SERVER:/pub on /pub type nfs
(rw,users,addr=192.168.0.29,vers=4,clientaddr=192. 168.0.2)
Note it says vers=4. I don't see where that is being set.
/etc/conf.d/nfs mentiones NFS vers=4 but doesn't say that is what its
telling the kernel to use.
From /etc/conf.d/nfs
# Optional services to include in default `/etc/init.d/nfs start`
# For NFSv4 users, you'll want to add "rpc.idmapd" here.
NFS_NEEDED_SERVICES="rpc.idmapd"
Does that determine what version gets used... it doesn't sound like it
would.
These lines out of /etc/init.d/nfsmount seems to be the culprit:
# Make sure nfs support is loaded in the kernel #64709
if [ -e /proc/modules ] && ! grep -qs 'nfs$' /proc/filesystems ; then
modprobe -q nfs
fi
ebegin "Mounting NFS filesystems"
mount -a -t nfs,nfs4
eend $?
Or does `mount -a -t nfs,nfs4' just mean vers 4 is made available?
There is also a:
# CONFIG_NFS_V4_1 is not set
But I think that is experimental, and not necessary for vers=4 to be
available.
So is the linux client supposed to decide which version to mount by
what it sees on offer?
If so, then is there a known problem when the server is opensolaris?
I know opensolaris people tell me to set the server to offer only
version=3 because there is some problem with linux if you use
version=4.
On the opensolaris lists, I've been discussing this, and it appears
other users are not having a similar problem when they tell the
server to use version=3 which I have (on the opensolaris server in
/etc/default/nfs):
# Sets the maximum version of the NFS protocol that will be used by
# the NFS client. Can be overridden by the "vers=" NFS mount option.
# If "vers=" is not specified for an NFS mount, this is the version
# that will be attempted first. The default is 4.
#NFS_CLIENT_VERSMAX=4