summaryrefslogtreecommitdiffstats
path: root/utils/mount
diff options
context:
space:
mode:
authorChuck Lever <chuck.lever@oracle.com>2010-09-08 13:26:34 -0400
committerSteve Dickson <steved@redhat.com>2010-09-09 10:38:48 -0400
commit44f09b7c4c79ca184a29138078c68a4db7aeb85a (patch)
treeff47ba19c35ba312d43b9dc72d30bb3fe74ae421 /utils/mount
parenta77ca5c6a79486dc8c5a4c327fe5310f5d497766 (diff)
downloadnfs-utils-44f09b7c4c79ca184a29138078c68a4db7aeb85a.tar.gz
nfs-utils-44f09b7c4c79ca184a29138078c68a4db7aeb85a.tar.xz
nfs-utils-44f09b7c4c79ca184a29138078c68a4db7aeb85a.zip
mount.nfs: Use nfs_nfs_protocol() for checking for proto=rdma
Clean up: Now that nfs_get_proto() can recognize "rdma" we can re-use nfs_nfs_protocol() instead of ad hoc checks for "proto=rdma". Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Steve Dickson <steved@redhat.com>
Diffstat (limited to 'utils/mount')
-rw-r--r--utils/mount/stropts.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/utils/mount/stropts.c b/utils/mount/stropts.c
index 0241400..9695c73 100644
--- a/utils/mount/stropts.c
+++ b/utils/mount/stropts.c
@@ -303,8 +303,10 @@ static int nfs_set_version(struct nfsmount_info *mi)
if (strncmp(mi->type, "nfs4", 4) == 0)
mi->version = 4;
else {
- char *option = po_get(mi->options, "proto");
- if (option && strcmp(option, "rdma") == 0)
+ unsigned long protocol;
+ if (!nfs_nfs_protocol(mi->options, &protocol))
+ return 0;
+ if (protocol == NFSPROTO_RDMA)
mi->version = 3;
}
@@ -490,14 +492,19 @@ nfs_rewrite_pmap_mount_options(struct mount_options *options)
union nfs_sockaddr mnt_address;
struct sockaddr *mnt_saddr = &mnt_address.sa;
socklen_t mnt_salen = sizeof(mnt_address);
+ unsigned long protocol;
struct pmap mnt_pmap;
char *option;
/*
- * Skip option negotiation for proto=rdma mounts.
+ * Version and transport negotiation is not required
+ * and does not work for RDMA mounts.
*/
- option = po_get(options, "proto");
- if (option && strcmp(option, "rdma") == 0)
+ if (!nfs_nfs_protocol(options, &protocol)) {
+ errno = EINVAL;
+ return 0;
+ }
+ if (protocol == NFSPROTO_RDMA)
goto out;
/*