I went with the nlm_gc_hosts_if_needed () approach. Stable so far. Debug shows completion of GC.
[ 6879.405447] lockd: request from 192.168.1.211, port=729 [ 6879.405454] lockd: LOCK called [ 6879.405458] lockd: nlm_lookup_host(192.168.1.211, p=6, v=4, my role=server, name=ditko) [ 6879.405460] lockd: get host ditko [ 6879.405461] lockd: found host in cache [ 6879.405463] lockd: nsm_monitor(ditko) [ 6879.405466] lockd: nlm_file_lookup (01070001 00288001 00000000 926e57da d142d9c6 dabb48bd c2a30bcf 002a0bca) [ 6879.405470] lockd: creating file for (01070001 00288001 00000000 926e57da d142d9c6 dabb48bd c2a30bcf 002a0bca) [ 6879.405477] lockd: found file f7a3fcc0 (count 0) [ 6879.405481] lockd: nlmsvc_lock(sda1/2755530, ty=1, pi=95, 0-9223372036854775807, bl=0) [ 6879.405484] lockd: nlmsvc_lookup_block f=f7a3fcc0 pd=95 0-9223372036854775807 ty=1 [ 6879.405487] lockd: nlm_lookup_host(192.168.1.211, p=6, v=4, my role=server, name=ditko) [ 6879.405488] lockd: get host ditko [ 6879.405489] lockd: found host in cache [ 6879.405492] lockd: created block ef70db80... [ 6879.405495] lockd: vfs_lock_file returned 0 [ 6879.405497] lockd: freeing block ef70db80... [ 6879.405498] lockd: release host ditko [ 6879.405500] lockd: nlm_release_file(f7a3fcc0, ct = 2) [ 6879.405502] lockd: nlmsvc_lock returned 0 [ 6879.405503] lockd: LOCK status 0 [ 6879.405504] lockd: release host ditko [ 6879.405506] lockd: nlm_release_file(f7a3fcc0, ct = 1) [ 6879.405512] lockd: host garbage collection [ 6879.405513] lockd: nlmsvc_mark_resources [ 6879.405515] lockd: nlm_traverse_files [ 6879.405516] lockd: mutex acquired, checking 128 file hash entries [ 6879.405519] lockd: got entry in list 109 [ 6879.405520] lockd: inspecting file f=f7a3fcc0 [ 6879.405521] lockd: traverse blocks [ 6879.405525] lockd: locking file mutex [ 6879.405526] lockd: unlocking file mutex [ 6879.405527] lockd: traverse shares [ 6879.405528] lockd: traverse locks [ 6879.405530] lockd: inspection complete [ 6879.405531] lockd: check file for release [ 6879.405532] lockd: nlm_traverse_files finally releasing mutex [ 6879.405533] lockd: nlm_traverse_files completed [ 6879.405535] lockd: now removing inactive hostsnlm_gc_hosts skipping romita (cnt 0 use 0 exp 1672246) [ 6879.405538] nlm_gc_hosts skipping ditko (cnt 0 use 1 exp 1672627) [ 6879.405540] lockd: completed host garbage collection, next at (1642627 + 15000 = 1657627) [ 6879.406106] lockd: request from 192.168.1.211, port=729 ... I'm missing a \n in a dprintk. Otherwise looks sweet. -- NFS server: lockd: server not responding https://bugs.launchpad.net/bugs/181996 You received this bug notification because you are a member of Ubuntu Bugs, which is the bug contact for Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs