filemap_get_folios_contig(9)
π filemap_get_folios_contig β Kernel API Manual β¨
okay so bestie, welcome to the filemap_get_folios_contig(9) page π«Ά this is the kernel API manual, and we're gonna get through it together, no cap.
πΈ NAME πΈ
filemap_get_folios_contig β grab a whole batch of folios that are actually contiguous, bestie. not just "kinda near each other", like actually back-to-back π
β¨ SYNOPSIS β¨
unsigned filemap_get_folios_contig (struct address_space *mapping ,
pgoff_t *start , pgoff_t end , struct folio_batch *fbatch );
literally the whole signature, character for character, don't come for me π
π ARGUMENTS π
mappingβ theaddress_spacewe're searching through π that's the thing being searched, periodt.startβ the starting page index. where we begin the hunt βendβ the final page index, and yes it's inclusive βendgets to come to the party too πfbatchβ the batch we're filling up π this is the bucket, we put the folios in it.
π¦ DESCRIPTION π¦
so filemap_get_folios_contig works exactly like filemap_get_folios, bestie β same energy, same behaviour β except the folios it hands back are guaranteed to be contiguous π₯ that's the whole flex.
quick heads up tho: it may not return all the contiguous folios, because if the batch gets filled up, that's it, we're done, the bucket is full π so don't assume you got everything, iykyk.
π RETURN π
it returns the number of folios found π’ and it also updates start so it's positioned for traversal of the next folio β so like, start gets moved along for you, she's doing her own thing now π«
π SEE ALSO π
okay this list is giving "the entire group chat got added to the call" β but every single one of these matters, so here we go π
Kernel file ./mm/filemap.c, filemap_remove_folio(9), filemap_fdatawrite_range(9), filemap_flush_range(9), filemap_flush(9), filemap_range_has_page(9), filemap_fdatawait_range(9), filemap_fdatawait_range_keep_errors(9), file_fdatawait_range(9), filemap_fdatawait_keep_errors(9), filemap_write_and_wait_range(9), file_check_and_advance_wb_err(9), file_write_and_wait_range(9), replace_page_cache_folio(9), softleaf_entry_wait_on_locked(9), folio_put_wait_locked(9), folio_unlock(9), folio_end_read(9), folio_end_private_2(9), folio_wait_private_2(9), folio_wait_private_2_killable(9), folio_end_writeback_no_dropbehind(9), folio_end_writeback(9), __folio_lock(9), page_cache_next_miss(9), page_cache_prev_miss(9), __filemap_get_folio_mpol(9), find_get_entries(9), find_lock_entries(9), filemap_get_folios(9), filemap_get_folios_tag(9), filemap_get_folios_dirty(9), filemap_read(9), generic_file_read_iter(9), filemap_splice_read(9), mapping_seek_hole_data(9), filemap_fault(9), read_cache_folio(9), mapping_read_folio_gfp(9), read_cache_page_gfp(9), __generic_file_write_iter(9), generic_file_write_iter(9), filemap_release_folio(9), filemap_invalidate_inode(9), filemap_cachestat(9)
and that's the page, bestie!! π§ mwah π this lil cutie came from ./mm, dated October 2026, and she is officially filemap_get_folios_contig(9) β slay, ate, no crumbs, 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