gfs2_readahead(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 gfs2_readahead(9) 🌸

okay so bestie, welcome to the Kernel API Manual, section 9 β€” this one's about gfs2_readahead, and it's literally the "grab a whole bunch of pages at once" girlie of the GFS2 world πŸ’…


✨ NAME ✨

gfs2_readahead β€” Read a bunch of pages at once 🫢


✨ SYNOPSIS ✨

void gfs2_readahead (struct readahead_control *rac );

✨ ARGUMENTS ✨

  • rac β€” the read-ahead control structure πŸŽ€ that's it, that's the whole argument list, she's low maintenance

✨ DESCRIPTION ✨

okay so here are the notes, and you're gonna want to read them because they're giving important 🫢

  1. This is only for readahead, so we can simply ignore any things which are slightly inconvenient (such as locking conflicts between the page lock and the glock) and return having done no I/O. It's obviously not something we'd want to do on too regular a basis. Any I/O we ignore at this time will be done via readpage later. πŸ’€ like yeah we're ghosting that I/O for now but it WILL get handled, no cap
  2. We don't handle stuffed files here β€” we let readpage do the honours. she's the main character for that one πŸ‘‘
  3. mpage_readahead does most of the heavy lifting in the common case. not me making someone else carry the bags 😭 but fr fr
  4. gfs2_block_map is relied upon to set BH_Boundary in the right places. trust her with the boundary placement, she ate πŸ”₯

✨ SEE ALSO ✨

Kernel file ./fs/gfs2/aops.c πŸ“ plus the whole friend group:


and that's the whole page bestie!! πŸ¦‹ this came straight out of ./fs/gfs2 and it's dated October 2026 β€” so yeah, fresh off the source tree, slay βœ¨πŸŽ€ mwah πŸ’–

πŸ“¦ where this page comes from