12681 Excess service times for NFS locking calls

Review Request #2545 - Created May 1, 2020 and submitted

Information
Gordon Ross
illumos-gate
12681
Reviewers
general

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.

Dan McDonald
Gordon Ross
Review request changed

Status: Closed (submitted)

Loading...