12681 Excess service times for NFS locking calls

Review Request #2545 — Created May 1, 2020 and submitted — Latest diff uploaded


12681 Excess service times for NFS locking calls

Move the RPC client handle setup (which does the rpcbind_getaddr) call later, doing it only when we know we need to call back the client (i.e. for a lock call that must block).
This should allow non-contested lock calls to proceed without attempting to setup the callback handle.
There were also problems with reporting errors when a call-back fails, and cleaning up state.

This also turns out to dramatically improve locking performance over NFS when the lock request is non-contested.

Verified non-contested locks can be taken without call-back RPC (e.g. when client is behind a firewall)
Verified the call-back failures are reported, and lock state is cleaned up when that happens.