nfsd4_release_lockowner(9)
π nfsd4_release_lockowner π
okay so bestie, welcome to the nfsd4_release_lockowner page β it's from the Kernel API Manual, section 9, and it's literally the function that handles NFSv4.0 RELEASE_LOCKOWNER operations. yes that's a lot of words. we'll get through it together π«Ά
β¨ SYNOPSIS β¨
__be32 nfsd4_release_lockowner (struct svc_rqst *rqstp , struct
nfsd4_compound_state *cstate , union nfsd4_op_u *u );
like, copy it exactly, no cap. three args, one __be32 coming back at you π
π ARGUMENTS π
rqstpβ the RPC transaction. the whole request vibe check, basically πΈcstateβ the NFSv4 COMPOUND state. this is where the compound op energy lives π¦uβ theRELEASE_LOCKOWNERarguments. the actual payload, the main character of this function π
π₯ DESCRIPTION π₯
so what does it do? it checks whether there are any locks still held π and if there aren't β boom β it frees the lockowner and any lock state that's owned. that's it, that's the whole job. clean, simple, iconic β¨
the way that returning works, though, is giving multiple-choice π here are the return values:
nfs_okβ lockowner released, or not found πnfserr_locks_heldβ lockowner is still in use, so, awkward, not releasing πnfserr_stale_clientidβ clientid is no longer active πnfserr_expiredβ clientid not recognized π«
ngl bestie, if you get nfserr_locks_held it's not an error-error, it just means somebody's still holding on. let it go, queen.
π SEE ALSO π
kernel file ./fs/nfsd/nfs4state.c β plus this whole friend group right here:
nfs4_delegation_exists(9)hash_delegation_locked(9)revoke_delegation(9)nfs4_replay_free_cache(9)nfsd4_revoke_states(9)nfsd4_revoke_export_states(9)nfsd_slot_shrinker_count(9)nfsd_slot_shrinker_scan(9)nfsd4_put_client(9)nfsd_wait_for_delegreturn(9)nfsd_breaker_owns_lease(9)nfsd4_deleg_lm_open_conflict(9)nfsd4_process_open2(9)nfsd4_force_end_grace(9)nfs4_preprocess_stateid_op(9)nfs4_preprocess_seqid_op(9)nfsd4_vet_deleg_time(9)nfsd4_deleg_getattr_conflict(9)nfsd_get_dir_deleg(9)nfsd_update_cmtime_attr(9)
like, go read them too, they're all serving in the same file π§π
and that's the page!! π this whole thing lives under ./fs/nfsd, dated October 2026, from the Kernel API Manual β 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