folio_end_w...o_dropbehind(9)
π folio_end_writeback_no_dropbehind β from the Kernel API Manual
okay bestie, gather round, because today we're talking about folio_end_writeback_no_dropbehind(9) and honestly? she's niche, she's specific, she's got main character energy for exactly one kind of filesystem. let's get into it π
β¨ NAME β¨
folio_end_writeback_no_dropbehind β literally just "end writeback against a folio." that's the whole gig. she does one thing and she does it well, periodt π
π¦ SYNOPSIS π¦
void folio_end_writeback_no_dropbehind (struct folio *folio );
yes that's the entire signature, no cap. one function, one argument, zero drama β¨
πΈ ARGUMENTS πΈ
folioβ the folio. that's it. that's the description. the folio in question, the folio we're ending writeback against, the folio π«Ά
π DESCRIPTION π
so here's the vibe check π β this call is meant to end writeback against a folio, but with a little twist. two things you need to know:
- the folio must actually be under writeback. like, for real for real. not "kinda sorta was recently," not "I think so" β actually under writeback, or this is not it π
- this call is intended for filesystems that need to defer dropbehind. that's the whole reason she exists as her own separate function instead of you just calling the regular one. iykyk π
π₯ CONTEXT π₯
where can you call her from, you ask?
- process context? slay, yes β¨
- interrupt context? also yes, come on in π
literally both are fine. versatile icon behavior π
β SEE ALSO β
okay this list is long long, so buckle up. these all live in the kernel file ./mm/filemap.c (plus the friends she keeps), and we're listing every single one because we don't skip entries in this house π§
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(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_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)
β οΈ reminder bestie: the folio must actually be under writeback. this is not a "close enough" situation. fr fr.
and that's the page! π this little gem comes to you from the source ./mm, dated October 2026, and it's filed under the Kernel API Manual because that's where all the cool low-level girls live. mwah, go touch a folio responsibly πβ¨
π¦ 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