Some programming languages have the ability to distinguish strongly referenced objects from weakly referenced objects such that weak ones are candidates for garbage collection after all the strong references disappear.
Is there a similar concept for hard links on a filesystem? Here's a theoretical API:
$ touch A
$ ln --weak A A_hardlink # create a 'weakly referenced' hard link
$ rm A
$ stat A_hardlink # no such file or directory
Sym links kind of give you this, except the sym link for A would still appear on disk (even though its underlying file is gone), plus I want to take advantage of pointing to the same inode directly (for tracking moves, renames of the main file, etc). Do any filesystems actually support this, or something like it?