mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 17:47:41 +02:00
lockd: Use xdrgen XDR functions for the NLMv3 LOCK_RES procedure
Continue the xdrgen migration by converting NLMv3 LOCK_RES, the callback that a remote NLM uses to return async LOCK results to this lockd. The procedure now uses nlm_svc_decode_nlm_res and nlm_svc_encode_void, generated from the NLM version 3 protocol specification. 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 no longer needed. Setting pc_xdrressize to XDR_void reflects that LOCK_RES, as a callback, returns no data; the previous value of St over-reserved a status word in the reply buffer. Reviewed-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
This commit is contained in:
parent
386bed664e
commit
9783a82b75
|
|
@ -1280,15 +1280,15 @@ static const struct svc_procedure nlmsvc_procedures[24] = {
|
|||
.pc_xdrressize = XDR_void,
|
||||
.pc_name = "TEST_RES",
|
||||
},
|
||||
[NLMPROC_LOCK_RES] = {
|
||||
.pc_func = nlmsvc_proc_null,
|
||||
.pc_decode = nlmsvc_decode_void,
|
||||
.pc_encode = nlmsvc_encode_void,
|
||||
.pc_argsize = sizeof(struct lockd_res),
|
||||
.pc_argzero = sizeof(struct lockd_res),
|
||||
.pc_ressize = sizeof(struct nlm_void),
|
||||
.pc_xdrressize = St,
|
||||
.pc_name = "LOCK_RES",
|
||||
[NLM_LOCK_RES] = {
|
||||
.pc_func = nlmsvc_proc_null,
|
||||
.pc_decode = nlm_svc_decode_nlm_res,
|
||||
.pc_encode = nlm_svc_encode_void,
|
||||
.pc_argsize = sizeof(struct nlm_res),
|
||||
.pc_argzero = 0,
|
||||
.pc_ressize = 0,
|
||||
.pc_xdrressize = XDR_void,
|
||||
.pc_name = "LOCK_RES",
|
||||
},
|
||||
[NLMPROC_CANCEL_RES] = {
|
||||
.pc_func = nlmsvc_proc_null,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user