All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ian Kent <ikent@redhat.com>
To: Steve Dickson <SteveD@redhat.com>
Cc: "autofs@linux.kernel.org" <autofs@linux.kernel.org>
Subject: Re: NFSv4 to be a default on RHEL-6
Date: Thu, 09 Dec 2010 22:51:25 +0800	[thread overview]
Message-ID: <1291906285.2899.27.camel@perseus> (raw)
In-Reply-To: <4D00D0C4.8050704@RedHat.com>

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

      reply	other threads:[~2010-12-09 14:51 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-08  9:16 NFSv4 to be a default on RHEL-6 Ondrej Valousek
2010-12-08 12:36 ` Ian Kent
2010-12-08 12:51   ` Ondrej Valousek
2010-12-08 13:45     ` Ian Kent
2010-12-08 14:56       ` Ondrej Valousek
2010-12-09  1:45         ` Ian Kent
2010-12-09 12:51         ` Steve Dickson
2010-12-09 14:51           ` Ian Kent [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1291906285.2899.27.camel@perseus \
    --to=ikent@redhat.com \
    --cc=SteveD@redhat.com \
    --cc=autofs@linux.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.