truncate_inode_pages_final(9)
π truncate_inode_pages_final(9) π
okay so bestie, you're reading the Kernel API Manual entry for truncate_inode_pages_final(9) β yes, the whole name is the title, we're not doing nicknames today π
β¨ NAME β¨
truncate_inode_pages_final β literally truncate all the pages before the inode dies π
πΈ SYNOPSIS πΈ
void truncate_inode_pages_final (struct address_space *mapping );
π¦ ARGUMENTS π¦
mappingβ the mapping you're about to truncate. that's it, that's the argument π«Ά
π₯ DESCRIPTION π₯
so this one gets called under inode->i_rwsem, and that same lock is what serializes it. no sneaky concurrent vibes here, it's locked and loaded π
filesystems have to use this in the .evict_inode path β like, non-negotiable, main character obligation energy β so they can inform the VM that this is the final truncate and the inode is about to go away πβ¨
ngl, "final" is doing a lot of work in that name β this is the goodbye truncate, the last one, the inode is leaving the group chat π
π SEE ALSO π
- kernel file
./mm/truncate.cβ go read the source, iykyk π folio_invalidate(9)mapping_evict_folio(9)truncate_inode_pages_range(9)truncate_inode_pages(9)mapping_try_invalidate(9)invalidate_mapping_pages(9)invalidate_inode_pages2_range(9)invalidate_inode_pages2(9)truncate_pagecache(9)truncate_setsize(9)pagecache_isize_extended(9)truncate_pagecache_range(9)
like, that's a whole friend group of truncate/invalidate functions and they all ate π
π that's the page !! brought to you by the fine folks over in ./mm, dated October 2026, filed under truncate_inode_pages_final(9) β slay, go free your inode's pages π§π
π¦ 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