nlmsvc_proc_test(9)
π nlmsvc_proc_test(9) β the Kernel API Manual, bestie edition π
Okay so real quick before we dive in: this page lives in the Kernel API Manual, and the star of the show is nlmsvc_proc_test. Pull up a chair, grab a strawberry π, and let's get into it.
β¨ NAME β¨
nlmsvc_proc_test β TEST: Check for conflicting lock π₯
Like, that's literally its whole job. It checks whether a lock would conflict with stuff that's already going on. No drama, just vibes and lock-checking.
πΈ SYNOPSIS πΈ
__be32 nlmsvc_proc_test (struct svc_rqst *rqstp );
π¦ ARGUMENTS π¦
rqstpβ the RPC transaction context π. Think of it as the little backstage pass that tells the function everything it needs to know about the request it's handling.
β RETURN β
rpc_successβ RPC executed successfully β¨. It ate, it slayed, no notes.rpc_drop_replyβ Do not send an RPC reply π. Yeah, sometimes the move is to just... not reply. Iconic of it, honestly.
π DESCRIPTION π
RPC synopsis, and I'm gonna give it to you verbatim because precision is the moment:
nlm_testres NLM_TEST(nlm_testargs) = 1;
Permissible procedure status codes, aka the four moods this thing can be in π:
LCK_GRANTEDβ The server would be able to grant the requested lock π. Yay! Slay! The lock is available and everything's good.LCK_DENIEDβ The requested lock conflicted with existing lock reservations for the file π. Not the outcome anyone wanted, but at least it's honest about it.LCK_DENIED_NOLOCKSβ The server could not allocate the resources needed to process the request π. It's not you, it's the resource allocation. Genuinely tragic.LCK_DENIED_GRACE_PERIODβ The server has recently restarted and is re-establishing existing locks, and is not yet ready to accept normal service requests π§. Okay so it just woke up and needs a minute β give it space, it's healing.
π SEE ALSO π
Kernel file ./fs/lockd/svcproc.c, plus the whole friend group π«Ά:
nlmsvc_proc_null(9)nlmsvc_proc_lock(9)nlmsvc_proc_cancel(9)nlmsvc_proc_unlock(9)nlmsvc_proc_granted(9)nlmsvc_proc_test_msg(9)nlmsvc_proc_lock_msg(9)nlmsvc_proc_cancel_msg(9)nlmsvc_proc_unlock_msg(9)nlmsvc_proc_granted_msg(9)nlmsvc_proc_granted_res(9)nlmsvc_proc_sm_notify(9)nlmsvc_proc_unused(9)nlmsvc_proc_share(9)nlmsvc_proc_unshare(9)nlmsvc_proc_nm_lock(9)nlmsvc_proc_free_all(9)
Ngl bestie, if a lock test comes back LCK_DENIED_GRACE_PERIOD you do not get to be mad at the server. It literally just restarted. Read the room π
And that's the page, mwah π β brought to you by the kernel file ./fs/lockd, dated October 2026, and filed under nlmsvc_proc_test(9) forever and always. Periodt. π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms