linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "J. Bruce Fields" <bfields@fieldses.org>
To: Bryan Schumaker <bjschuma@netapp.com>
Cc: Jeff Layton <jlayton@redhat.com>, linux-nfs@vger.kernel.org
Subject: Re: nfs4 mounts failing with 3.6.0-rc1
Date: Tue, 7 Aug 2012 16:25:23 -0400	[thread overview]
Message-ID: <20120807202523.GD22532@fieldses.org> (raw)
In-Reply-To: <50217649.6010402@netapp.com>

On Tue, Aug 07, 2012 at 04:10:49PM -0400, Bryan Schumaker wrote:
> On 08/07/2012 03:57 PM, J. Bruce Fields wrote:
> > On Tue, Aug 07, 2012 at 03:44:53PM -0400, Bryan Schumaker wrote:
> >> On 08/07/2012 03:42 PM, J. Bruce Fields wrote:
> >>> On Tue, Aug 07, 2012 at 01:09:32PM -0400, Jeff Layton wrote:
> >>>> On Sat, 4 Aug 2012 15:01:04 -0400
> >>>> "J. Bruce Fields" <bfields@fieldses.org> wrote:
> >>>>
> >>>>> On Fri, Aug 03, 2012 at 10:00:39PM -0400, Jeff Layton wrote:
> >>>>>> On Fri, 3 Aug 2012 20:08:19 -0400
> >>>>>> "J. Bruce Fields" <bfields@fieldses.org> wrote:
> >>>>>>
> >>>>>>> I'm getting
> >>>>>>>
> >>>>>>> 	# mount -tnfs -onfsvers=4 pip1:/exports /mnt/
> >>>>>>>
> >>>>>>> (OK, admittedly that's with 3.6.0-rc1 + a few experimental patches, but
> >>>>>>> I doubt they're related.)
> >>>>>>>
> >>>>>>> Also:
> >>>>>>>
> >>>>>>> 	[root@pip2 ~]# modprobe nfs4
> >>>>>>> 	[root@pip2 ~]# lsmod|grep nfs4
> >>>>>>> 	[root@pip2 ~]# 
> >>>>>>>
> >>>>>>> --b.
> >>>>>>
> >>>>>> I hit the same problem...
> >>>>>>
> >>>>>> Try removing /usr/lib/modprobe.d/nfs.conf (assuming you're running
> >>>>>> Fedora).
> >>>>>
> >>>>> Oog, right.
> >>>>>
> >>>>> But, without testing--won't that make v4 mounts fail on older kernels?
> >>>>
> >>>> Actually, now that I look, this does not seem to break on older kernels
> >>>> as long as you use a syntax like:
> >>>>
> >>>>     # mount -t nfs server:/export /mnt/point -o vers=4
> >>>>
> >>>> ...if, however you use a syntax like:
> >>>>
> >>>>     # mount -t nfs4 server:/export /mnt/point
> >>>>
> >>>> ...then it fails without the above file in place. I guess the question
> >>>> we have to answer is: Do we want to continue to support the "-t nfs4"
> >>>> mount syntax?
> >>>
> >>> I think you're right that we want to deprecate it.
> >>>
> >>> Though this is a bit of a harsh way to do it--would have been nice to
> >>> have some transition period with a warning or something.
> >>
> >> I didn't expect this to be broken, both ways of mounting still work on my VMs so I expected them to work for everybody else too.
> > 
> > Huh.  Just checked on an old kernel without an "alias nfs4 nfs" in
> > modprobe configuration, and sure enough I get "No such device".
> > 
> > Maybe you have some initscripts or something else that's loading the
> > nfs module for you before the mount?
> 
> My nfs-common daemon script loads sunrpc, nfs

Yep, that's why you're not seeing it.

> and nfsd but not nfs2, nfs3 or nfs4.
> 
> Could we rename the module to avoid the alias name collision?  Something like this (untested) maybe?

I don't think that will help.

--b.

> 
> 
> 
> diff --git a/fs/nfs/Makefile b/fs/nfs/Makefile
> index 8bf3a3f..b7db608 100644
> --- a/fs/nfs/Makefile
> +++ b/fs/nfs/Makefile
> @@ -12,19 +12,19 @@ nfs-$(CONFIG_ROOT_NFS)      += nfsroot.o
>  nfs-$(CONFIG_SYSCTL)   += sysctl.o
>  nfs-$(CONFIG_NFS_FSCACHE) += fscache.o fscache-index.o
>  
> -obj-$(CONFIG_NFS_V2) += nfs2.o
> -nfs2-y := nfs2super.o proc.o nfs2xdr.o
> +obj-$(CONFIG_NFS_V2) += nfsv2.o
> +nfsv2-y := nfs2super.o proc.o nfs2xdr.o
>  
> -obj-$(CONFIG_NFS_V3) += nfs3.o
> -nfs3-y := nfs3super.o nfs3client.o nfs3proc.o nfs3xdr.o
> -nfs3-$(CONFIG_NFS_V3_ACL) += nfs3acl.o
> +obj-$(CONFIG_NFS_V3) += nfsv3.o
> +nfsv3-y := nfs3super.o nfs3client.o nfs3proc.o nfs3xdr.o
> +nfsv3-$(CONFIG_NFS_V3_ACL) += nfs3acl.o
>  
> -obj-$(CONFIG_NFS_V4) += nfs4.o
> -nfs4-y := nfs4proc.o nfs4xdr.o nfs4state.o nfs4renewd.o nfs4super.o nfs4file.o \
> +obj-$(CONFIG_NFS_V4) += nfsv4.o
> +nfsv4-y := nfs4proc.o nfs4xdr.o nfs4state.o nfs4renewd.o nfs4super.o nfs4file.o \
>           delegation.o idmap.o callback.o callback_xdr.o callback_proc.o \
>           nfs4namespace.o nfs4getroot.o nfs4client.o
> -nfs4-$(CONFIG_SYSCTL)  += nfs4sysctl.o
> -nfs4-$(CONFIG_NFS_V4_1)        += pnfs.o pnfs_dev.o
> +nfsv4-$(CONFIG_SYSCTL) += nfs4sysctl.o
> +nfsv4-$(CONFIG_NFS_V4_1)       += pnfs.o pnfs_dev.o
>  
>  obj-$(CONFIG_PNFS_FILE_LAYOUT) += nfs_layout_nfsv41_files.o
>  nfs_layout_nfsv41_files-y := nfs4filelayout.o nfs4filelayoutdev.o
> diff --git a/fs/nfs/client.c b/fs/nfs/client.c
> index 9fc0d9d..9969444 100644
> --- a/fs/nfs/client.c
> +++ b/fs/nfs/client.c
> @@ -105,7 +105,7 @@ struct nfs_subversion *get_nfs_version(unsigned int version)
>  
>         if (IS_ERR(nfs)) {
>                 mutex_lock(&nfs_version_mutex);
> -               request_module("nfs%d", version);
> +               request_module("nfsv%d", version);
>                 nfs = find_nfs_version(version);
>                 mutex_unlock(&nfs_version_mutex);
>         }
> 
> 
> > 
> > --b.
> > 
> 

  reply	other threads:[~2012-08-07 20:25 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-04  0:08 nfs4 mounts failing with 3.6.0-rc1 J. Bruce Fields
2012-08-04  2:00 ` Jeff Layton
2012-08-04 19:01   ` J. Bruce Fields
2012-08-04 20:02     ` Jeff Layton
2012-08-07 17:09     ` Jeff Layton
2012-08-07 19:42       ` J. Bruce Fields
2012-08-07 19:44         ` Bryan Schumaker
2012-08-07 19:57           ` J. Bruce Fields
2012-08-07 20:10             ` Bryan Schumaker
2012-08-07 20:25               ` J. Bruce Fields [this message]
2012-08-07 21:23                 ` Myklebust, Trond
2012-08-07 22:26                   ` Jeff Layton
2012-08-07 22:36                     ` Myklebust, Trond
2012-08-08 11:48                       ` Jeff Layton
2012-08-08 14:42                   ` Bryan Schumaker
2012-08-08 15:08                     ` Myklebust, Trond
2012-08-08 15:15                       ` Bryan Schumaker
2012-08-08 15:24                         ` Myklebust, Trond
2012-08-08 15:25                           ` Bryan Schumaker

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=20120807202523.GD22532@fieldses.org \
    --to=bfields@fieldses.org \
    --cc=bjschuma@netapp.com \
    --cc=jlayton@redhat.com \
    --cc=linux-nfs@vger.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).