vfs_rmdir(9)
π vfs_rmdir(9) β Kernel API Manual β¨
okay so bestie, we're in the kernel API manual today and the star of the show is vfs_rmdir(9). like, yes, it's the Kernel API Manual page for vfs_rmdir(9). directory deletion core. main character energy fr fr π
πΈ NAME πΈ
vfs_rmdir β remove directory ποΈβ¨
π¦ SYNOPSIS π¦
int vfs_rmdir (struct mnt_idmap *idmap , struct inode *dir , struct
dentry *dentry , struct delegated_inode *delegated_inode );
π ARGUMENTS π
idmapβ the idmap of the mount that the inode was found from. literally the receipts of where this thing came from π§Ύdirβ inode of the parent directory. the mom directory, the one holding the bag πdentryβ dentry of the child directory. the little one getting removed πdelegated_inodeβ returns the parent inode, if it's delegated. that's the whole job of this one, she's an output parameter π
π DESCRIPTION π
Remove a directory. yep, that's the vibe. one job, done iconically. ποΈβ¨
if the inode has been found through an idmapped mount, then the idmap of the vfsmount must be passed through idmap. periodt. this function will then take care (she's so responsible) to map the inode according to idmap before checking permissions. permissions first, chaos never, iykyk π₯
on non-idmapped mounts, or if permission checking is to be performed on the raw inode, simply pass nop_mnt_idmap. that's the shortcut, no cap π«Ά
β SEE ALSO β
Kernel file ./fs/namei.c β the whole crew, ok, here's the group chat invite list π:
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)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_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)
and that's the page!! π mwah π
cute little sign-off bestie: this one lives in ./fs π, it's dated October 2026, and you can find it filed under vfs_rmdir(9) if you ever need her again πβ¨π¦
π¦ 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