nfsd_nl_unlock_export_doit(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… nfsd_nl_unlock_export_doit(9) πŸ’…

ok so this is a page from the Kernel API Manual, bestie, and today's main character is nfsd_nl_unlock_export_doit β€” yes that's a mouthful, we're gonna get through it together 🫢


✨ NAME ✨

nfsd_nl_unlock_export_doit β€” revoke NFSv4 state for an export path

like, it goes in and just. takes the state away. for a path. iconique πŸ’…


🌸 SYNOPSIS 🌸

int nfsd_nl_unlock_export_doit (struct sk_buff *skb , struct genl_info
*info );

two args, both pointers, very demure ✨


πŸŽ€ ARGUMENTS πŸŽ€

  • skb β€” the reply buffer. it's where the answer goes back out πŸ’Œ
  • info β€” the netlink metadata and the command arguments. yes, both. it's giving multitasking πŸ‘‘

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so picture this: there's an export path, and over time all kinds of NFSv4 state has piled up on it β€” opens, locks, delegations, layouts β€” and it doesn't matter which client is holding onto it, honestly, we are not doing the whole "whose is whose" thing today 😭

this function revokes all of it. all the NFSv4 state acquired through any export of the given path. periodt πŸ”₯

who calls it? userspace does β€” specifically exportfs -u β€” and it sends this command after removing the last client for a path, so the underlying filesystem can finally be unmounted. the vibe check passes, the fs gets to go home 🌈

⚠️ lowkey important comparison coming: this is not the same as NFSD_CMD_UNLOCK_FILESYSTEM, which operates at superblock granularity. that one's out here doing whole-superblock things. this one is way more targeted β€” it revokes only the state associated with exports of a specific path. narrower scope, same energy πŸ’–

⭐ RETURN ⭐

0 on success, or a negative errno. that's it, that's the whole story πŸ™ˆ


πŸ‘‘ SEE ALSO πŸ‘‘

like, the whole friend group showed up to the function's birthday party, no cap πŸŽ‚


and that's the page!! 🧚 this one lives in ./fs/nfsd and it's dated October 2026 β€” mark your calendar bestie, and remember: nfsd_nl_unlock_export_doit(9), always and forever πŸ’œπŸ’–βœ¨

πŸ“¦ where this page comes from