nlm4svc_proc_share(9)
π nlm4svc_proc_share(9) β like, the Kernel API Manual, bestie π
okay so this is a page from the Kernel API Manual (yes that one, the (9) section, we're in kernel land now β¨) and honestly? it's a whole vibe. let's get into it π«Ά
β¨ NAME β¨
nlm4svc_proc_share β SHARE: open a file using DOS file-sharing modes π¦
like yes, DOS. yes, in the kernel. we contain multitudes π
πΈ SYNOPSIS πΈ
__be32 nlm4svc_proc_share (struct svc_rqst *rqstp );
one function, one argument, zero drama (okay maybe a little drama, see RETURN below π)
π ARGUMENTS π
rqstpβ the RPC transaction context. that's it. that's the whole argument. she's lowkey carrying the entire request on her shoulders π
β RETURN β
rpc_successβ the RPC executed successfully. slay πrpc_drop_replyβ do not send an RPC reply. like, read the room and say nothing π«₯
π₯ DESCRIPTION π₯
RPC synopsis, verbatim, because we do not paraphrase code in this house:
nlm4_shareres NLMPROC4_SHARE(nlm4_shareargs) = 20;
so, the permissible procedure status codes β iykyk π
NLM4_GRANTEDβ the requested share lock was granted. icon behavior, no notes πNLM4_DENIEDβ the requested lock conflicted with existing lock reservations for the file. it's giving "someone already claimed this seat" π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 recovering, give her a minute π§
and the Linux NLM server implementation also returns these, because she simply has more to say:
NLM4_DENIED_NOLOCKSβ a needed resource could not be allocated. out of resources, out of patience πNLM4_STALE_FHβ the request specified an invalid file handle. that handle is stale fr fr πNLM4_FBIGβ the request specified a length or offset that exceeds the range supported by the server. too big. literally too big πNLM4_FAILEDβ the request failed for an unspecified reason. no explanation, just vibes π
bestie note π«Ά: NLM4_FAILED genuinely does not tell you why. that's not me being vague, that's the spec being vague. do not @ me.
π SEE ALSO π
the kernel file is ./fs/lockd/svc4proc.c, and here's the whole friend group π«Ά:
nlm4svc_proc_null(9)nlm4svc_proc_test(9)nlm4svc_proc_lock(9)nlm4svc_proc_cancel(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_unshare(9)nlm4svc_proc_nm_lock(9)nlm4svc_proc_free_all(9)
and that's the page!! πβ¨ this one lives in ./fs/lockd, dated October 2026, and she's officially nlm4svc_proc_share(9) β go forth and share those files with your DOS file-sharing modes, bestie. 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