find_get_entries(9)
π find_get_entries(9) β Kernel API Manual β¨
okay so bestie, welcome to find_get_entries, from the Kernel API Manual β this is the page about gang pagecache lookup and it's honestly kind of a baddie. let's get into it π«Ά
πΈ SYNOPSIS πΈ
unsigned find_get_entries (struct address_space *mapping , pgoff_t
*start , pgoff_t end , struct folio_batch *fbatch , pgoff_t *indices );
like, yes, that's the whole signature. it's giving "long but worth it" π
π ARGUMENTS π
mappingβ theaddress_spacewe're searching, aka the place we're snooping around in πstartβ the starting page cache index, where the whole vibe check beginsendβ the final page index, and bestie listen: it's inclusive β¨fbatchβ where the resulting entries get placed, like the lil basket we're filling up π§Ίindicesβ the cache indices that correspond to the entries in entries
π¦ DESCRIPTION π¦
so find_get_entries will search for and return a batch of entries in the mapping. the entries get placed in fbatch. and important: find_get_entries takes a reference on any actual folios it returns β no cap, it's holding onto them π₯
the entries have ascending indexes. but heads up: the indices may not be consecutive, because of not-present entries or large folios. so don't come for them for being spaced out, it's literally just how it is π
any shadow entries of evicted folios, or swap entries from shmem/tmpfs, are included in the returned array. yes, they made the cut, we love an inclusive queen π
β RETURN β
the number of entries which were found. that's it, that's the whole return value, cute and simple π
π SEE ALSO π
okay this is the long one, buckle up bestie, we're going on a journey through the 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_lock_entries(9)filemap_get_folios(9)filemap_get_folios_contig(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)
like, that's a whole friend group right there π
ngl this one's a short page but it ate. go read your folios, bestie π§
kisses and goodbyes from ./mm, dated October 2026 β find_get_entries(9) out, mwah ππ
π¦ 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