Unionfs: A Stackable Unification File System:
> This project builds a stackable unification file system, which can appear to merge the contents of several directories (branches), while keeping their physical content separate.
> Unionfs allows any mix of read-only and read-write branches, as well as insertion and deletion of branches anywhere in the fan-out.
> To maintain unix semantics, Unionfs handles elimination of duplicates, partial-error conditions, and more.
If it is the same thing (but maybe more maintained or has more features...) , can we implement something like trip package manager on top of Overlayfs?
(Porg is a package manager where all files that are installed by make install is tracked and mounted on a Unionfs layer.)
1. Does /foo/bar get removed from the topmost layer, exposing the one below?
2. Does /foo/bar get removed from all three layers?
3. Does /foo/bar get replaced with a "tombstone" record to pretend that it was deleted, while still appearing in some of A, B, or C on its own?
These semantics are tricky to get right, and during the process of upstreaming unionfs to the kernel, they made some incompatible changes to the model and chose different answers for these questions, and as a result, renamed it overlayfs.
Unionfs is significantly more complicated.
>Union mounts have also been available in BSD since at least 1995.