This patch remove the ability of negotiating to the v2
protocol. Explicitly setting the version on the command
line will be the only way to use v2.
Signed-off-by: Steve Dickson <steved@redhat.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
-static const unsigned long probe_nfs3_first[] = {
+static const unsigned long probe_nfs3_only[] = {
-static const unsigned long probe_mnt3_first[] = {
+static const unsigned long probe_mnt3_only[] = {
probe_proto = nfs_default_proto();
return nfs_probe_port(sap, salen, pmap,
probe_proto = nfs_default_proto();
return nfs_probe_port(sap, salen, pmap,
- probe_nfs3_first, probe_proto);
+ probe_nfs3_only, probe_proto);
} else
return nfs_probe_port(sap, salen, pmap,
probe_nfs2_only, probe_udp_only);
} else
return nfs_probe_port(sap, salen, pmap,
probe_nfs2_only, probe_udp_only);
if (nfs_mount_data_version >= 4)
return nfs_probe_port(sap, salen, pmap,
if (nfs_mount_data_version >= 4)
return nfs_probe_port(sap, salen, pmap,
- probe_mnt3_first, probe_udp_first);
+ probe_mnt3_only, probe_udp_first);
else
return nfs_probe_port(sap, salen, pmap,
probe_mnt1_first, probe_udp_only);
else
return nfs_probe_port(sap, salen, pmap,
probe_mnt1_first, probe_udp_only);
memcpy(&save_nfs, nfs_pmap, sizeof(save_nfs));
memcpy(&save_mnt, mnt_pmap, sizeof(save_mnt));
probe_vers = (nfs_mount_data_version >= 4) ?
memcpy(&save_nfs, nfs_pmap, sizeof(save_nfs));
memcpy(&save_mnt, mnt_pmap, sizeof(save_mnt));
probe_vers = (nfs_mount_data_version >= 4) ?
- probe_mnt3_first : probe_mnt1_first;
+ probe_mnt3_only : probe_mnt1_first;
for (; *probe_vers; probe_vers++) {
nfs_pmap->pm_vers = mntvers_to_nfs(*probe_vers);
for (; *probe_vers; probe_vers++) {
nfs_pmap->pm_vers = mntvers_to_nfs(*probe_vers);
errno = EACCES;
else if (rpc_createerr.cf_stat == RPC_TIMEDOUT)
errno = ETIMEDOUT;
errno = EACCES;
else if (rpc_createerr.cf_stat == RPC_TIMEDOUT)
errno = ETIMEDOUT;
+ else if (rpc_createerr.cf_stat == RPC_PROGVERSMISMATCH)
+ errno = EPROTONOSUPPORT;
else if (rpc_createerr.cf_error.re_errno != 0)
errno = rpc_createerr.cf_error.re_errno;
return 0;
else if (rpc_createerr.cf_error.re_errno != 0)
errno = rpc_createerr.cf_error.re_errno;
return 0;