start_renaming_two_dentries(9)
πΈ start_renaming_two_dentries(9) β the Kernel API Manual page you didn't know you needed π
okay so bestie, welcome to the start_renaming_two_dentries(9) page of the Kernel API Manual β¨ this is the lil' before step of a rename party β pull up a chair, we're locking dentries π
π NAME
start_renaming_two_dentries β grab the locks on two dentries in their given parents so a rename can actually happen π«
π¦ SYNOPSIS
int start_renaming_two_dentries (struct renamedata *rd , struct dentry *old_dentry , struct dentry *new_dentry );
πΈ ARGUMENTS
rdβ the rename data, and yes it's carrying the parent around with it πold_dentryβ the dentry whose name is getting moved πββοΈnew_dentryβ the dentry it's moving to π―
β¨ DESCRIPTION
this is the vibe check before the rename π€ it makes sure the locks are actually in place for the rename, and double-checks that the parentage is still correct. no cap, that's the whole job.
on success, the two dentries get stored in rd.old_dentry and rd.new_dentry, and rd.old_parent and rd.new_parent are confirmed to be the parents of those dentries π«Ά (yes, confirmed β we're not out here guessing).
references and the lock can be dropped with end_renaming, so don't ghost it πββοΈπ¨
π RETURN
zero or an error. that's it, that's the whole mood π
π SEE ALSO
the entire ./fs/namei.c cinematic universe, kernel file ./fs/namei.c β literally all of these, we're listing every single one because we don't gatekeep here π
check_acl(9),acl_permission_check(9),generic_permission(9),do_inode_permission(9),sb_permission(9),inode_permission(9)path_get(9),path_put(9),path_connected(9),try_to_unlazy(9),try_to_unlazy_next(9),complete_walk(9)may_follow_link(9),safe_hardlink_source(9),may_linkat(9),may_create_in_sticky(9)lookup_fast(9),start_dirop(9),end_dirop(9),kern_path_parent(9),vfs_path_parent_lookup(9),vfs_path_lookup(9)try_lookup_noperm(9),lookup_noperm(9),lookup_one(9),lookup_one_unlocked(9),lookup_one_positive_killable(9),lookup_one_positive_unlocked(9),lookup_noperm_unlocked(9)start_creating(9),start_removing(9),start_creating_killable(9),start_removing_killable(9),start_creating_noperm(9),start_removing_noperm(9),start_creating_dentry(9),start_removing_dentry(9)__start_renaming(9),start_renaming(9),start_renaming_dentry(9)vfs_prepare_mode(9),vfs_create(9),atomic_open(9),vfs_lookup_open(9),vfs_tmpfile(9),kernel_tmpfile_open(9)end_creating_path(9),dentry_create(9)vfs_mknod(9),vfs_mkdir(9),vfs_rmdir(9),vfs_unlink(9),vfs_symlink(9),vfs_link(9),vfs_rename(9)vfs_readlink(9),vfs_get_link(9),page_get_link(9),page_put_link(9)
okay that's the page, you ate it up bestie π this one's from source ./fs, dated October 2026 β signed, sealed, and slayed π
π
π¦ 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