start_removing_dentry(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 NAME 🌸

okay bestie, this is start_removing_dentry(9) from the Kernel API Manual β€” and it's literally here to prepare to remove a given dentry πŸ’…βœ¨. Think of it as the β€œget ready to yeet this dentry” setup step, except with locks and validity checks, because kernel code does not do chaos without paperwork.


✨ SYNOPSIS ✨

struct dentry * start_removing_dentry (struct dentry *parent , struct
       dentry *child );

πŸŽ€ ARGUMENTS πŸŽ€

  • parent β€” directory from which dentry should be removed 🫢
  • child β€” the dentry to be removed πŸ’–

πŸ’… DESCRIPTION πŸ’…

So here's the vibe: a lock is taken to protect the dentry against other dirops, and the dentry's validity gets checked β€” it needs the correct parent and it still has to be hashed. βœ…

If the dentry is valid and positive, a reference is taken and returned. If not, an error is returned. No cap. 🫑

end_removing should be called when removal is complete, or aborted. That part is important, bestie β€” it's literally in the docs. ⚠️

yes, that's end_removing, not end_removing_dentry β€” copy it exactly, iykyk πŸ‘‘

πŸ¦‹ RETURN πŸ¦‹

the valid dentry, or an error. That's it, that's the whole mood. πŸ’€βœ¨


🌈 SEE ALSO 🌈

Kernel file ./fs/namei.c, plus the whole crew: 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_renaming(9), start_renaming(9), start_renaming_dentry(9), start_renaming_two_dentries(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) πŸ¦‹πŸŒΈ


mwah πŸ’‹ β€” source ./fs, date/version October 2026, and this iconic page is start_removing_dentry(9). byeee πŸ«ΆπŸŽ€

πŸ“¦ where this page comes from