On Thu, 2010-12-09 at 07:51 -0500, Steve Dickson wrote:
On 12/08/2010 09:56 AM, Ondrej Valousek wrote:
On 08.12.2010 14:45, Ian Kent wrote:
On Wed, 2010-12-08 at 13:51 +0100, Ondrej Valousek wrote:
On 08.12.2010 13:36, Ian Kent wrote:
The default should be determined by mount.nfs(8) since that's what
autofs uses to perform mounts.
I see, but it works only if the nfs4 root export is the same as /. It
does not work otherwise. Example:
Server 'dorado' exporting directory /exports which is also fsid=0 for
nfs4.
There is (also shared) subdirectory 'ext1' in this one. When I do:
cd /net/dorado/exports/ext1
... the export is mounted using NFSv3. Theoretically if I did:
cd /net/dorado/ext1
... I should have the same mounted via NFSv4, right? Unfortunately it
does not work. But it should because:
mount dorado:/ext1 /mnt
works (giving nfs4 mount)
The only information the hosts map has to go on is the export list
received from the server.
There is no way for autofs to know that /exports is the global root from
the mountd exports information. It only knows that /exports is an export
and neither does it know what NFS version the server may offer for this
mount. That information just isn't available.
As I said, I thought in recent Fedora releases (not sure now when this
should have happened), that
mount server:/exports /some mount point
and
mount server:/ /some mount point
should both work and mount as NFSv4. Correct me if I'm wrong but your
point is that it is mounting as NFSv3 so perhaps we should log a bug and
see what the experts have to say on this.
Ian
Hi Ian,
I understand that autofs can not know that /exports is a global root. I
just thought that mine:
cd /net/dorado/ext1
... (i.e. omitting the exports word) should work as this way should
autofs pass something like this : mount.nfs dorado:/ext1 /net/dorado/ext1
which would succeed then, resulting in a nfs4 mount. What happens now is
(obviously) that autofs can not find 'ext1' in the exports information from
'dorado' and so it fails even without trying
It depends on your server... If your server does not support v4, the
mount will roll back to v3. An rpcinfo -p server will show if
the server support v4.
Knowing that the server supports NFSv4 doesn't tell me which export is a
global root though (does it?).
I guess I could code the rpcinfo calls and rewrite the mount code to
retry if v4 is supported. Not sure I like that idea though.
My problem is knowing for sure what the global root is and then I also
don't know what mount.nfs(8) will do with it. If I did have some way of
knowing what the global root was then trying to accommodate it will
cause mounts that fall back to v3 to fail.
I thought that the recent NFS server changes were meant to allow both
the mount paths above to function, like I think they do on other OSes
(I'll check on that if you really want me to)?
Ian
___
autofs mailing list
autofs@linux.kernel.org
http://linux.kernel.org/mailman/listinfo/autofs