autofs-5.0.6 - fix nfs4 contacts portmap From: Ian Kent When an fstype of nfs4 is specified probing the server for availability should not need to contact the portmapper, it should use either the port specified by the port= option or use port 2049. However, in function modules/replicated.c:get_nfs_info() a check for the port= option, and subsequent portmap lookup when not it's not present, is done before the check for whether nfsv3 is to be checked at all. Oops! --- CHANGELOG | 1 + modules/replicated.c | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 2e08ffa..182bc79 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -53,6 +53,7 @@ - fix initialization in rpc create_client(). - fix libtirpc name clash. - check if /etc/mtab is a link to /proc/self/mounts. +- fix nfs4 contacts portmap. 28/06/2011 autofs-5.0.6 ----------------------- diff --git a/modules/replicated.c b/modules/replicated.c index 10e1429..09350c5 100644 --- a/modules/replicated.c +++ b/modules/replicated.c @@ -589,6 +589,9 @@ static unsigned int get_nfs_info(unsigned logopt, struct host *host, } v3_ver: + if (!(version & NFS3_REQUESTED)) + goto v2_ver; + if (!have_port_opt) { status = rpc_portmap_getclient(pm_info, host->name, host->addr, host->addr_len, @@ -600,9 +603,6 @@ v3_ver: goto done_ver; } - if (!(version & NFS3_REQUESTED)) - goto v2_ver; - if (have_port_opt) { if (!(rpc_info->port = get_port_option(options))) goto done_ver;