After upgrading to RedHat 6.0 NFS version 3 mounts
are not longer possible.
Result: Kernel message: svc: unknown version (3)
Server: Out of the box RedHat 6.0 system
Client: Digital Alpha running Digital UNIX 4.0
NFS3 mounts have never been supported under linux. However, the
return code returned from knfsd when NFS3 mounts are attempted
confuses the client into not trying NFS2.
A work around is to explicitly request NFS version 2 when mounting
on the client. I dunno what the DU 4.0 syntax is. If you succeed
in doing the mount, could you add the syntax you used to this bug
Explicitly requesting Version 2 mounts from
Digital UNIX is done using the 'nfsv2' mount
flag as in:
mount -o nfsv2 serverhost:serverdir clientdir
After browsing through the source of kernel nfsd I figured
out that NFS 3 mounts should be possible in principle. However,
CONFIG_NFSD_NFS3 is not defined, which would (as it seems)
include NFS 3 support.
The interesting stuff is in nfs3proc.c, nfs3xdr.c, and nfssvc.c
all in fs/nfsd.
AFAIK, NFS3 is not yet functional. Thanks for the DU 4.0 syntax
*** Bug 3019 has been marked as a duplicate of this bug. ***
There is a problem in the interaction between the Kernel
nfsd and the rpc.mountd command. The kernel provides
services for NFS version 2, but rpc.mountd registers itself
as supporting version 1,2 and 3. This causes an NFS3 client
(like SGI IRIX) to try to mount a linux filesystem using
version 3, but whenever it tries to do any actual I/O on the
filesystem, the I/O fails with a version error.
I worked around the bug by fixing the NFS startup script to
pass -V 2 -N 3 as arguments to rpc.mountd.
A better fix would of course be to add support for NFS V3.
It looks like there are bits and pieces of it in the kernel
sources, but they did not seem to make it into the build.
I just packaged knfsd-1.3.3-1 -- still no man pages or NFSv3.
Man pages are now in knfsd-1.4-1. Still no NFSv3 support, but
the linux mountd will not advertise NFSv3 anymore.