diff options
| author | Chuck Lever <chuck.lever@oracle.com> | 2026-05-12 21:13:58 +0300 |
|---|---|---|
| committer | Chuck Lever <cel@kernel.org> | 2026-06-09 23:32:59 +0300 |
| commit | 6a2f89e49b4fb69aa6e04ed1c7cb202f0c38406e (patch) | |
| tree | 4018a9bf6379781d29c9d805329defec87538527 /include/linux/timerqueue.h | |
| parent | 02a47b6c5c85b28bf4dbf0c6c0ee29e0f735271f (diff) | |
| download | linux-6a2f89e49b4fb69aa6e04ed1c7cb202f0c38406e.tar.xz | |
lockd: Use xdrgen XDR functions for the NLMv3 UNLOCK_MSG procedure
Continue the xdrgen migration by converting NLMv3 UNLOCK_MSG, the
async counterpart to UNLOCK that clients use to release locks
without waiting for a reply. The procedure now uses
nlm_svc_decode_nlm_unlockargs and nlm_svc_encode_void, generated
from the NLM version 3 protocol specification. The procedure
handler reaches the xdrgen types through the
nlm_unlockargs_wrapper structure, which bridges between generated
code and the legacy lockd_lock representation.
Setting pc_argzero to zero is safe because the generated decoder
fills the argp->xdrgen subfields before the procedure runs, so
the zeroing memset performed by the dispatch layer is not needed.
The lock member of the wrapper is populated explicitly in
nlm3svc_lookup_file() rather than relying on zero-initialization.
The NLM async callback mechanism uses client-side functions which
continue to take legacy results like struct lockd_res, preventing
UNLOCK and UNLOCK_MSG from sharing code for now.
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Diffstat (limited to 'include/linux/timerqueue.h')
0 files changed, 0 insertions, 0 deletions
