nlm4svc_proc_cancel(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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