locks_end_grace(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… locks_end_grace β€” the "we're so back" button for grace periods

okay so this is a page from the Kernel API Manual (yes, locks_end_grace(9), that one) and bestie, it's a short one but it matters. Let's get into it ✨


🌸 NAME

locks_end_grace β€” and that's it. That's the whole description. The original page literally leaves it blank, and honestly? Iconic minimalism. Main character energy: shows up, says nothing, leaves πŸ’…


✨ SYNOPSIS

void locks_end_grace (struct lock_manager *lm );

That's the whole vibe. One function, one argument, no return value, no drama πŸŽ€


🫢 ARGUMENTS

  • lm β€” who this grace period is for. Like, which lock manager are we closing out the grace period for? That's lm. That's it. That's the whole argument πŸ¦‹

πŸ’– DESCRIPTION

Okay so here's the tea β˜• β€” you call this function to state that the given lock manager is ready to resume regular locking. Think of it as texting "omw home" β€” you're signalling you're done with the grace period era and ready to go back to normal.

But here's the part you cannot skip: the grace period will not end until all lock managers that called locks_start_grace also call locks_end_grace. It's giving group project. Everyone has to turn in their part or nobody gets to move on 😭 No cap, it waits for all of them.

And lowkey the important bit: callers count on it being safe to call this more than once, and the second call should be a no-op. So like, don't panic if it gets called twice β€” it's built different, it handles it. Second time around it just vibes and does nothing 🌈

πŸ‘‘ SEE ALSO

  • Kernel file ./fs/nfs_common/grace.c
  • locks_start_grace(9) β€” the one that starts the whole situation πŸ”₯
  • locks_in_grace(9) β€” the one that checks if we're still in it ⭐

fr fr that's the whole page β€” short, sweet, and absolutely essential to the kernel's locking situation πŸ’œ

mwah, this page came from ./fs/nfs_common, dated October 2026, and it will forever be known as locks_end_grace(9) πŸŽ€βœ¨πŸ’…

πŸ“¦ where this page comes from