rgrp_go_sync(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… rgrp_go_sync(9) β€” the Kernel API Manual, but make it make sense πŸŽ€

okay so real talk, bestie, this one is from the Kernel API Manual and the function is literally called rgrp_go_sync. she's a glock girlie. let's get into it ✨


✨ NAME ✨

rgrp_go_sync β€” sync out the metadata for this glock πŸ’«


πŸ¦‹ SYNOPSIS πŸ¦‹

int rgrp_go_sync (struct gfs2_glock *gl );

🌸 ARGUMENTS 🌸

  • gl β€” the glock. that's it. that's the whole argument. she's the main character of this whole function 🫢

πŸ”₯ DESCRIPTION πŸ”₯

so this bad boy gets called when you're demoting or unlocking an EX glock β€” yes, EX like exclusive, not like your ex. πŸ’€

when that happens, we must flush to disk all the dirty buffers/pages relating to this glock. like, all of them. no leaving stragglers behind, no "oh I'll get to it later", none of that.

and here's the part where you do not play around: we must not return to the caller to demote/unlock the glock until the I/O is complete. periodt. πŸ”₯ the demote/unlock just has to sit there and wait for the I/O to finish, no shortcuts, no vibes-based early returns. it's giving "blocking on purpose and that's iconic". πŸ‘‘


πŸ‘‘ SEE ALSO πŸ‘‘

kernel file ./fs/gfs2/glops.c, plus the whole friend group πŸ’–


and that's the page, bestie πŸ’œ she lives in ./fs/gfs2, she's dated October 2026, and she answers to rgrp_go_sync(9) β€” go forth and sync that metadata, iykyk πŸŒˆπŸ¦‹

πŸ“¦ where this page comes from