Hello. With switching of autofs 5.1.7 -> 5.1.8 we faced the next issue. My Linux distro (ALTLinux) has the policy for rpcbind which controls the localhostness (localhost only by default). NFSv4 doesn't require rpcbind. But with 606795ecfaa1ba45ab58fa20376213f6089e42e9 (https://git.kernel.org/pub/scm/linux/storage/autofs/autofs.git/commit/?id=606795ecfaa1ba45ab58fa20376213f6089e42e9) it is mandatory and broken our users. autoumount log: Oct 28 08:23:24 client3.ipa.test automount[1243]: handle_packet: type = 3 Oct 28 08:23:24 client3.ipa.test automount[1243]: handle_packet_missing_indirect: token 2, name athena, request pid 1297 Oct 28 08:23:24 client3.ipa.test automount[1243]: attempting to mount entry /home/athena Oct 28 08:23:24 client3.ipa.test automount[1243]: lookup_mount: lookup(sss): looking up athena Oct 28 08:23:24 client3.ipa.test automount[1243]: lookup_mount: lookup(sss): athena -> -fstype=nfs4,rw,sec=krb5p client1.ipa.test:/krbnfs_home/& Oct 28 08:23:24 client3.ipa.test automount[1243]: parse_mount: parse(sun): expanded entry: -fstype=nfs4,rw,sec=krb5p client1.ipa.test:/krbnfs_home/athena Oct 28 08:23:24 client3.ipa.test automount[1243]: parse_mount: parse(sun): gathered options: fstype=nfs4,rw,sec=krb5p Oct 28 08:23:24 client3.ipa.test automount[1243]: parse_mount: parse(sun): dequote("client1.ipa.test:/krbnfs_home/athena") -> client1.ipa.test:/krbnfs_home/athena Oct 28 08:23:24 client3.ipa.test automount[1243]: parse_mount: parse(sun): core of entry: options=fstype=nfs4,rw,sec=krb5p, loc=client1.ipa.test:/krbnfs_home/athena Oct 28 08:23:24 client3.ipa.test automount[1243]: sun_mount: parse(sun): mounting root /home, mountpoint athena, what client1.ipa.test:/krbnfs_home/athena, fstype nfs4, options rw,sec=krb5p Oct 28 08:23:24 client3.ipa.test automount[1243]: mount(nfs): root=/home name=athena what=client1.ipa.test:/krbnfs_home/athena, fstype=nfs4, options=rw,sec=krb5p Oct 28 08:23:24 client3.ipa.test automount[1243]: mount(nfs): nfs options="rw,sec=krb5p", nobind=0, nosymlink=0, ro=0 Oct 28 08:23:24 client3.ipa.test automount[1243]: get_nfs_info: called with host client1.ipa.test(172.18.0.2) proto 6 version 0x40 Oct 28 08:23:24 client3.ipa.test automount[1243]: get_portmap_client: error 0x3 getting portmap client Oct 28 08:23:24 client3.ipa.test automount[1243]: mount(nfs): no hosts available reason: (gdb) bt #0 get_vers_and_cost (logopt=logopt@entry=1, host=host@entry=0x7f239c002240, version=version@entry=65, port=port@entry=-1) at /usr/src/debug/autofs-5.1.8/modules/replicated.c:552 #1 0x00007f23a52a2b12 in prune_host_list (logopt=1, list=list@entry=0x7f23a4a64590, vers=vers@entry=65, port=port@entry=-1) at /usr/src/debug/autofs-5.1.8/modules/replicated.c:785 #2 0x00007f23a52a384e in mount_mount (ap=<optimized out>, root=<optimized out>, name=<optimized out>, name_len=<optimized out>, what=<optimized out>, fstype=<optimized out>, options=<optimized out>, context=<optimized out>) at /usr/src/debug/autofs-5.1.8/modules/mount_nfs.c:270 #3 0x00007f23a52c4e23 in sun_mount (ap=ap@entry=0x562be0d49120, root=root@entry=0x562be0d49200 "/home", name=name@entry=0x7f23a4a668d0 "athena", namelen=namelen@entry=6, loc=loc@entry=0x7f239c001f80 "client1.ipa.test:/krbnfs_home/athena", loclen=loclen@entry=36, options=0x7f23a4a656a0 "rw,sec=krb5p", ctxt=<optimized out>) at /usr/src/debug/autofs-5.1.8/modules/parse_sun.c:713 #4 0x00007f23a52cd1cd in parse_mount (ap=0x562be0d49120, name=0x7f23a4a668d0 "athena", name_len=6, mapent=<optimized out>, context=0x7f2398000f80) at /usr/src/debug/autofs-5.1.8/modules/parse_sun.c:1708 #5 0x00007f23a52f7f35 in lookup_mount (ap=0x562be0d49120, name=<optimized out>, name_len=<optimized out>, context=0x7f2398000ef0) at /usr/src/debug/autofs-5.1.8/modules/lookup_sss.c:1121 #6 0x0000562bdf8e7fe7 in do_lookup_mount (ap=ap@entry=0x562be0d49120, map=0x7f2398000d80, name=name@entry=0x7f23a4a6bd90 "athena", name_len=name_len@entry=6) at /usr/src/debug/autofs-5.1.8/daemon/lookup.c:823 #7 0x0000562bdf8ee4ec in lookup_name_source_instance (ap=ap@entry=0x562be0d49120, map=map@entry=0x562be0d49220, type=type@entry=0x7f239c001ab0 "sss", name=name@entry=0x7f23a4a6bd90 "athena", name_len=name_len@entry=6) at /usr/src/debug/autofs-5.1.8/daemon/lookup.c:993 #8 0x0000562bdf8ee5d8 in lookup_map_name (this=this@entry=0x7f239c001a70, ap=ap@entry=0x562be0d49120, map=map@entry=0x562be0d49220, name=name@entry=0x7f23a4a6bd90 "athena", name_len=name_len@entry=6) at /usr/src/debug/autofs-5.1.8/daemon/lookup.c:1044 #9 0x0000562bdf8ef5ae in lookup_nss_mount (ap=0x562be0d49120, source=0x0, name=0x7f23a4a6bd90 "athena", name_len=6) at /usr/src/debug/autofs-5.1.8/daemon/lookup.c:1241 #10 0x0000562bdf8e032b in do_mount_indirect (arg=<optimized out>) at /usr/src/debug/autofs-5.1.8/daemon/indirect.c:756 (gdb) info args logopt = 1 host = 0x7f239c002240 version = 65 port = -1 (gdb) p /t version $22 = 1000001 so, version is (NFS4_REQUESTED | TCP_REQUESTED). It's ok. vers is defined as (NFS_VERS_MASK | NFS4_VERS_MASK) (gdb) p /t 0x0010 | 0x0020 | 0x0040 $21 = 1110000 with vers &= version; TCP_REQUESTED is filtered out and only NFS4_REQUESTED stay in. Thus, get_nfs_info will never(?) receive TCP_REQUESTED and this makes NFSv4 port setting unreachable: 294 if ((version & NFS4_REQUESTED) && (version & TCP_REQUESTED)) 295 rpc_info->port = NFS_PORT;
Attachment:
OpenPGP_signature
Description: OpenPGP digital signature