Subject: Re: inux-next: Tree for July 1

From: Trond Myklebust <[email-masked]>
Date: Wed, 02 Jul 2008 13:15:11 -0400

On Wed, 2008-07-02 at 10:34 -0400, Chuck Lever wrote:
> On Tue, Jul 1, 2008 at 8:49 PM, Trond Myklebust
> <[email-masked]> wrote:
> > On Tue, 2008-07-01 at 22:36 +0200, Rafael J. Wysocki wrote:
> >> I can't mount NFS shares with this kernel.  I get something of this sort in
> >> dmesg and it seems to be 100% reproducible:
> >>
> >> [  314.058858] RPC: Registered udp transport module.
> >> [  314.058863] RPC: Registered tcp transport module.
> >> [  314.490970] RPC: transport (0) not supported
> >> [  319.246987] __ratelimit: 23 messages suppressed
> >
> > Does this patch fix the problem for you?
> > -----------------------------------------------------------------------------------
> > From: Trond Myklebust <[email-masked]>
> > NFS: Fix the mount protocol defaults for binary mounts
> >
> > Signed-off-by: Trond Myklebust <[email-masked]>
> > ---
> >
> >  fs/nfs/super.c |    1 +
> >  1 files changed, 1 insertions(+), 0 deletions(-)
> >
> > diff --git a/fs/nfs/super.c b/fs/nfs/super.c
> > index e09b1c2..85fbb98 100644
> > --- a/fs/nfs/super.c
> > +++ b/fs/nfs/super.c
> > @@ -1575,6 +1575,7 @@ static int nfs_validate_mount_data(void *options,
> >
> >                if (!(data->flags & NFS_MOUNT_TCP))
> >                        args->nfs_server.protocol = XPRT_TRANSPORT_UDP;
> > +               nfs_set_transport_defaults(args);
> 
> nfs_set_transport_defaults() is overkill for the legacy mount path.
> The bug is that the logic here assumes that nfs_server.protocol
> already has the default value of XPRT_TRANSPORT_TCP, but commit
> 8b59ea3c removed that default.  The correct fix is to add
> 
>             args->nfs_server.protocol = XPRT_TRANSPORT_TCP;
> 
> just before the 'if' statement.  We should fold that into 8b59ea3c to
> preserve bisectability.

NACK. You still need to set the appropriate retrans and timeo defaults.

-- 
Trond Myklebust
Linux NFS client maintainer

NetApp
[email-masked]
www.netapp.com