folio_file_page(9)
π folio_file_page β a kernel API manual page, bestie edition π
okay so this is folio_file_page(9), and it lives in the Kernel API Manual. it's short, it's sweet, and it slays at exactly one job: handing you the page that belongs to a specific index inside a folio. let's go β¨
πΈ NAME πΈ
folio_file_page β literally just: the page for a particular index. that's the whole vibe. π«Ά
β¨ SYNOPSIS β¨
struct page * folio_file_page (struct folio *folio , pgoff_t index );
like, you give it a folio and an index, and it gives you back a struct page *. no cap. π«
π¦ ARGUMENTS π¦
folioβ the folio that contains this index. she's the container, the main character, the one holding all the pages together πindexβ the index we want to look up. this is the lil coordinate you're asking about π
π DESCRIPTION π
sometimes, after you've looked up a folio in the page cache, you still need to get the specific page for an index β like, for example, during a page fault. that's the whole situation this function exists for. it's giving "i have the group, now give me the individual bestie." πβ¨
π₯ RETURN π₯
it returns the page containing the file data for this index. that's it, that's the return value, and she ate π
π SEE ALSO π
the kernel file ./include/linux/pagemap.h, plus this absolute stack of related entries β i'm listing every single one because we don't do crumbs here π
filemap_set_wb_err(9)filemap_check_wb_err(9)filemap_sample_wb_err(9)file_sample_sb_err(9)mapping_set_error(9)mapping_set_large_folios(9)mapping_align_index(9)mapping_pmd_folio_support(9)folio_flush_mapping(9)folio_inode(9)folio_attach_private(9)folio_change_private(9)folio_detach_private(9)fgf_t(9)fgf_set_order(9)write_begin_get_folio(9)filemap_get_folio(9)filemap_lock_folio(9)filemap_grab_folio(9)find_get_page(9)find_lock_page(9)find_or_create_page(9)grab_cache_page_nowait(9)folio_next_index(9)folio_next_pos(9)folio_contains(9)page_pgoff(9)folio_pos(9)linear_page_delta(9)linear_page_index(9)linear_anon_page_index(9)folio_trylock(9)folio_lock(9)lock_page(9)folio_lock_killable(9)filemap_range_needs_writeback(9)struct readahead_control(9)page_cache_sync_readahead(9)page_cache_async_readahead(9)readahead_folio(9)readahead_pos(9)readahead_length(9)readahead_index(9)readahead_count(9)readahead_batch_length(9)folio_mkwrite_check_truncate(9)i_blocks_per_folio(9)
iykyk, that's a lot of folio lore π but go read them, they're all right there π§
ok that's the whole page!! tiny page, huge energy π
sign-off time: this one's sourced from ./include/linux and dated October 2026. periodt. πβ¨
π¦ 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