On Jan 19, 2010, at 3:51 PM, Trond Myklebust wrote:
On Tue, 2010-01-19 at 15:38 -0500, Jeff Layton wrote:
On Tue, 19 Jan 2010 10:43:34 -0500
Chuck Lever <chuck.lever@xxxxxxxxxx> wrote:
I think that doesn't describe this workaround adequately. This is a
temporary crutch that prevents us from using IPv6 if "proto=" isn't
specified. The underlying problem here is that nfs_lookup() returns
just one address.
Yes. The best solution would be to somehow try all addresses in the
list until one works. That's a larger project however and we'll
probably need some significant kernel changes to handle that anyway.
Why would that involve kernel changes? I'm assuming that we can just
retry the mount call if we see that the server isn't listening on a
particular ip address+port combination.
For NFSv2/v3, the mount command can poke at the server's rpcbind
service to discover that the server won't support IPv6. For NFSv4,
the kernel jumps straight for a TCP connection, without consulting
rpcbind
I think Jeff is using a pre-2.6.33 kernel, which basically hangs when
the server refuses to connect in this case.
--
Chuck Lever
chuck[dot]lever[at]oracle[dot]com
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html