X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;ds=inline;f=utils%2Fmount%2Fstropts.c;h=c82ddfe2bd9880398b25abc77f9603f881983cfe;hb=7f77ef90ad52eced1552efc2242e063aa4501ddc;hp=024140082fcf56f65968453ca912158ab73f3668;hpb=9ac7a15017b876d4d8d3a4502ebaf954f36f7f54;p=nfs-utils.git diff --git a/utils/mount/stropts.c b/utils/mount/stropts.c index 0241400..c82ddfe 100644 --- a/utils/mount/stropts.c +++ b/utils/mount/stropts.c @@ -302,11 +302,6 @@ 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) - mi->version = 3; - } /* * If we still don't know, check for version-specific @@ -490,14 +485,18 @@ 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; /*