nlm4svc_proc_cancel(9)
π nlm4svc_proc_cancel(9) β the Kernel API Manual, but make it cute π
okay so bestie, you're in the nlm4svc_proc_cancel(9) page of the Kernel API Manual and honestly? this one's a little baddie with a very specific job. let's get into it β¨
πΈ NAME πΈ
nlm4svc_proc_cancel β CANCEL: cancel an outstanding blocked lock request. that's it, that's the whole vibe. it's giving "never mind, forget I asked" energy π
π¦ SYNOPSIS π¦
__be32 nlm4svc_proc_cancel (struct svc_rqst *rqstp );
look at her. one argument, one return type, zero drama (wellβ¦ mostly zero, keep reading bestie π).
π ARGUMENTS π
rqstpβ the RPC transaction context. literally the whole receipts folder for this request, she's carrying everything the call needs π«Ά
β¨ RETURN β¨
the function hands back one of these and you will respect them:
rpc_successβ RPC executed successfully. slay, it worked, we love a clean run πrpc_drop_replyβ do not send an RPC reply. like, at all. mute the reply, periodt π
π₯ DESCRIPTION π₯
so here's the RPC synopsis, and yes she's iconic:
nlm4_res NLMPROC4_CANCEL(nlm4_cancargs) = 3;
the CANCEL procedure is literally number 3. main character number, no cap π
π permissible procedure status codes π
these are the status codes that are allowed to come back out of this thing β memorize them, they're on the test:
NLM4_LCK_GRANTEDβ the requested lock was canceled. okay so the cancel worked, the lock is gone, mission accomplished β¨NLM4_LCK_DENIEDβ there was no lock to cancel. imagining cancelling something that never existedβ¦ awkward π but legit!NLM4_DENIED_GRACE_PERIODβ the server has recently restarted and is re-establishing existing locks, and is not yet ready to accept normal service requests. she's in her healing era, give her a minute πΈ
π§ what the Linux NLM server also returns π§
the Linux NLM server implementation is extra and also returns these bad boys:
NLM4_DENIED_NOLOCKSβ a needed resource could not be allocated. no resources, no service, sad girl hours πNLM4_STALE_FHβ the request specified an invalid file handle. the file handle was not giving what it needed to give πNLM4_FBIGβ the request specified a length or offset that exceeds the range supported by the server. too big, too far, out of range, we're not doing that π«NLM4_FAILEDβ the request failed for an unspecified reason. the classic "it didn't work and honestly nobody knows why" vibe check ππ
π SEE ALSO π
kernel file ./fs/lockd/svc4proc.c π and the whole entire friend group:
nlm4svc_proc_null(9), nlm4svc_proc_test(9), nlm4svc_proc_lock(9), nlm4svc_proc_unlock(9), nlm4svc_proc_granted(9), nlm4svc_proc_test_msg(9), nlm4svc_proc_lock_msg(9), nlm4svc_proc_cancel_msg(9), nlm4svc_proc_unlock_msg(9), nlm4svc_proc_granted_msg(9), nlm4svc_proc_granted_res(9), nlm4svc_proc_sm_notify(9), nlm4svc_proc_unused(9), nlm4svc_proc_share(9), nlm4svc_proc_unshare(9), nlm4svc_proc_nm_lock(9), nlm4svc_proc_free_all(9)
all of them. the full squad. go read them, iykyk π«Ά
ok final note bestie: this page lives under ./fs/lockd and it's dated October 2026 πΈ so yeah, she's from the future and she's still serving. mwah, love you, bye πβ¨
π¦ 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