nilfs_btnode...t_change_key(9)
π nilfs_btnode_commit_change_key(9) π
okay so bestie, welcome to the Kernel API Manual β yes, the whole Kernel API Manual, and today's main character is nilfs_btnode_commit_change_key. she's the finisher, the closer, the one who actually does the thing after everyone else has done the prep π
πΈ NAME πΈ
nilfs_btnode_commit_change_key β commit the change of the search key of a b-tree node block β¨
like literally, she takes that search-key glow-up you planned and makes it official.
π¦ SYNOPSIS π¦
void nilfs_btnode_commit_change_key (struct address_space *btnc , struct
nilfs_btnode_chkey_ctxt *ctxt );
no cap, that's the whole signature. two args, zero drama (well, some drama, see below π).
π ARGUMENTS π
btncβ the page cache in which the b-tree node block is buffered π this is where the block lives, her little home.ctxtβ the structure for exchanging context information for key change π«Ά it's the group chat where all the key-change tea gets passed around.
β¨ DESCRIPTION β¨
so nilfs_btnode_commit_change_key executes the key change based on the context ctxt prepared by nilfs_btnode_prepare_change_key. she's not out here freelancing β she's following the plan someone else already made. iconic teamwork honestly π
and then it branches, and honestly both branches ate:
- if no valid block buffer is prepared in
"newbh"ofctxt(i.e., a full folio move β big move energy π¦), this function removes the folio from the old index and completes the move. - otherwise, it copies the block data and inherited flag states of
"oldbh"to"newbh"and clears the"oldbh"from the cache. out with the old, in with the new, periodt π₯
in either case, the relocated buffer is marked as dirty π yes ma'am, she's dirty now, that's just how it is.
β οΈ and as with nilfs_btnode_prepare_change_key, the current implementation does not support folio sizes larger than the page size. so bestie, keep your folios page-sized or smaller, fr fr. no cap, that's a real limitation, not me being dramatic π
π SEE ALSO π
- Kernel file
./fs/nilfs2/btnode.cπ nilfs_init_btnc_inode(9)nilfs_btnode_delete(9)nilfs_btnode_prepare_change_key(9)nilfs_btnode_abort_change_key(9)
the whole friend group honestly β go say hi to all of them π
and that's the page!! mwah π this lil' entry lives in ./fs/nilfs2, dated October 2026, and if you see nilfs_btnode...t_change_key(9) floating around somewhere, that's just her nickname because the header was too long to fit. slay ππ§ββοΈ
π¦ 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