propagate_umount(9)
π NAME π
propagate_umount β bestie, this is the kernel function (from the Kernel API Manual, hey girl hey) that applies propagation rules to the set of mounts for umount(). It's giving "cleanup crew with a clipboard" energy β¨
π¦ SYNOPSIS π¦
void propagate_umount (struct list_head *set );
That's it. That's the whole signature. No cap. π«Ά
π ARGUMENTS π
setβ the list of mounts to be unmounted. That's your starting squad, your little guest list of mounts that are already getting the boot π’
β¨ DESCRIPTION β¨
Okay so here's the vibe: propagate_umount() collects all the mounts that receive propagation from the mount in set and have no obstacles to being unmounted. Iconic behaviour, honestly.
Then β and this is the main character moment β it adds these additional mounts to the set. So the guest list grows. Lowkey a group chat adding people to the plan π
π¨ real talk: see Documentation/filesystems/propagate_umount.txt if you do anything in this area. Like, anything. Do not freestyle this one, bestie, I'm begging π
Locks held: mount_lock (write_seqlock), namespace_sem (exclusive). Yes, both. Exclusive namespace_sem is the big one β respect the lock order or the kernel will simply end you π
π₯ SEE ALSO π₯
- Kernel file
./fs/pnode.cpropagate_mnt(9)β the sibling function, the origin story π§ propagation_would_overmount(9)β the vibe check before you overmount, iykyk β
Slay, that's the whole page π brought to you by source ./fs, dated October 2026, from the propagate_umount(9) fam β go forth and unmount responsibly ππ
π¦ 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