diff mbox

[1/2,V2] mount.nfs: Continue to trying address when the server return EACCES

Message ID 1354035684-15802-1-git-send-email-steved@redhat.com (mailing list archive)
State New, archived
Headers show

Commit Message

Steve Dickson Nov. 27, 2012, 5:01 p.m. UTC
With recent changes to the /etc/hosts file, the 'localhost'
host name is now multiply defined as both an IPv4 address (127.0.01)
and an IPv6 address (::1). This causes first address returned
by getaddrinfo('localhost') to be the IPv6 address instead of
the IPv4 address.

The change in the default 'localhost' address type causes
existing exports using '127.0.0.1' to fail, because the
'::1' address is tried first and fails. The problem is
not all the addresses in the address list are being tried.

So this patch allows that address list to continue to be
process when a 'EACCES' error is returned by the server.

Signed-off-by: Steve Dickson <steved@redhat.com>
---
 utils/mount/stropts.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Steve Dickson Nov. 28, 2012, 2:40 p.m. UTC | #1
On 27/11/12 12:01, Steve Dickson wrote:
> With recent changes to the /etc/hosts file, the 'localhost'
> host name is now multiply defined as both an IPv4 address (127.0.01)
> and an IPv6 address (::1). This causes first address returned
> by getaddrinfo('localhost') to be the IPv6 address instead of
> the IPv4 address.
> 
> The change in the default 'localhost' address type causes
> existing exports using '127.0.0.1' to fail, because the
> '::1' address is tried first and fails. The problem is
> not all the addresses in the address list are being tried.
> 
> So this patch allows that address list to continue to be
> process when a 'EACCES' error is returned by the server.
> 
> Signed-off-by: Steve Dickson <steved@redhat.com>
Committed...

steved.
> ---
>  utils/mount/stropts.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/utils/mount/stropts.c b/utils/mount/stropts.c
> index 9b4197b..8ee3024 100644
> --- a/utils/mount/stropts.c
> +++ b/utils/mount/stropts.c
> @@ -666,6 +666,7 @@ static int nfs_try_mount_v3v2(struct nfsmount_info *mi)
>  		case EOPNOTSUPP:
>  		case EHOSTUNREACH:
>  		case ETIMEDOUT:
> +		case EACCES:
>  			continue;
>  		default:
>  			goto out;
> @@ -761,6 +762,7 @@ static int nfs_try_mount_v4(struct nfsmount_info *mi)
>  		case ECONNREFUSED:
>  		case EHOSTUNREACH:
>  		case ETIMEDOUT:
> +		case EACCES:
>  			continue;
>  		default:
>  			goto out;
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/utils/mount/stropts.c b/utils/mount/stropts.c
index 9b4197b..8ee3024 100644
--- a/utils/mount/stropts.c
+++ b/utils/mount/stropts.c
@@ -666,6 +666,7 @@  static int nfs_try_mount_v3v2(struct nfsmount_info *mi)
 		case EOPNOTSUPP:
 		case EHOSTUNREACH:
 		case ETIMEDOUT:
+		case EACCES:
 			continue;
 		default:
 			goto out;
@@ -761,6 +762,7 @@  static int nfs_try_mount_v4(struct nfsmount_info *mi)
 		case ECONNREFUSED:
 		case EHOSTUNREACH:
 		case ETIMEDOUT:
+		case EACCES:
 			continue;
 		default:
 			goto out;