Re: [autofs] NFSv4 to be a default on RHEL-6

2010-12-10 Thread Ian Kent
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


Re: [autofs] NFSv4 to be a default on RHEL-6

2010-12-08 Thread Ondrej Valousek

 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)
Ondrej

___
autofs mailing list
autofs@linux.kernel.org
http://linux.kernel.org/mailman/listinfo/autofs