To add a bit of debugging I did (using two VMs):
- There server side kernel version does not matter (tested trusty and utopic)
- A client with a 3.13 kernel will have the delay, while the 3.16 kernel is ok
Enabling NFS debugging on both clients (as root "echo 32767 >/proc/sys/sunrpc/nfs_debug") shows an interesting fact:
So the newer kernel seems to skip the other authentication methods. And of those two AUTH_GSS is causing the delay because it times out. Unfortunately I did not spot any commits in between 3.13 and now that would immediately sound like a good candidate for fixing this.
To add a bit of debugging I did (using two VMs):
- There server side kernel version does not matter (tested trusty and utopic)
- A client with a 3.13 kernel will have the delay, while the 3.16 kernel is ok
Enabling NFS debugging on both clients (as root "echo 32767 >/proc/ sys/sunrpc/ nfs_debug" ) shows an interesting fact:
3.13 client: server_ trunking: testing 'lam-utopic6401' confirm: 0
7581.776148] NFS: nfs4_discover_
7581.776154] NFS call setclientid auth=RPCSEC_GSS, 'Linux NFSv4.0 192.168.2.19
7596.776086] RPC: AUTH_GSS upcall timed out.
7596.776086] Please check user daemon is running.
7596.776110] NFS reply setclientid: -13
7596.776121] NFS call setclientid auth=RPCSEC_GSS, 'Linux NFSv4.0 192.168.2.19
7597.024109] NFS reply setclientid: -13
7597.024766] NFS call setclientid auth=UNIX, 'Linux NFSv4.0 192.168.2.192/192.
7597.025506] NFS reply setclientid: 0
7597.025512] NFS call setclientid_confirm auth=UNIX, (client ID fb69c653040000
7597.026068] NFS reply setclientid_
3.16 client: server_ trunking: testing 'lam-utopic6401' confirm: 0
2137.866775] NFS: nfs4_discover_
2137.866783] NFS call setclientid auth=UNIX, 'Linux NFSv4.0 192.168.2.120/192.
2137.867420] NFS reply setclientid: 0
2137.867426] NFS call setclientid_confirm auth=UNIX, (client ID fb69c653050000
2137.867727] NFS reply setclientid_
So the newer kernel seems to skip the other authentication methods. And of those two AUTH_GSS is causing the delay because it times out. Unfortunately I did not spot any commits in between 3.13 and now that would immediately sound like a good candidate for fixing this.