summaryrefslogtreecommitdiffstats
path: root/utils
diff options
context:
space:
mode:
authorChuck Lever <chuck.lever@oracle.com>2010-02-18 06:41:11 -0500
committerSteve Dickson <steved@redhat.com>2010-02-18 06:41:11 -0500
commitbc7736ea87166e99d6b4f57da84d26d007db8ae4 (patch)
treefdce8a4843d3797ccb03a5a0fc77b2911af0efc6 /utils
parent6d5ac3fa75024be569b458f4d9b6ce05be47f601 (diff)
downloadnfs-utils-bc7736ea87166e99d6b4f57da84d26d007db8ae4.tar.gz
nfs-utils-bc7736ea87166e99d6b4f57da84d26d007db8ae4.tar.xz
nfs-utils-bc7736ea87166e99d6b4f57da84d26d007db8ae4.zip
mount: Set protocol family properly for "udp" and "tcp"
In nfs_nfs_proto_family(), *family is never set if the legacy "udp" or "tcp" mount options are specified. The result is an error message at umount time, for example: umount.nfs: DNS resolution failed for 2001:5c0:1101:2f00:250:8dff:fe95:5c61: ai_family not supported even if mount was built with IPv6 support. The man page says that "udp" is a synonym for "proto=udp", and likewise for "tcp". Thus, we don't look at config_default_family here, but always use AF_INET explicitly, to be consistent with the meaning of proto=. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Reviewed-by: Jeff Layton <jlayton@redhat.com> Signed-off-by: Steve Dickson <steved@redhat.com>
Diffstat (limited to 'utils')
-rw-r--r--utils/mount/network.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/utils/mount/network.c b/utils/mount/network.c
index f020933..8dc183a 100644
--- a/utils/mount/network.c
+++ b/utils/mount/network.c
@@ -1373,8 +1373,9 @@ int nfs_nfs_proto_family(struct mount_options *options,
switch (po_rightmost(options, nfs_transport_opttbl)) {
case 0: /* udp */
- return 1;
case 1: /* tcp */
+ /* for compatibility; these are always AF_INET */
+ *family = AF_INET;
return 1;
case 2: /* proto */
option = po_get(options, "proto");