Recently, trying to migrate some functionality from one machine to another, I ran into a case where a filesystem had a symlink which had multiple hardlinks to it. One of my tools misbehaved on this, and, while trying to fix that, I discovered that, under 1.4T, it is possible to make a hardlink to a symlink, but that under (at least) 8.0_STABLE and 5.2, it appears to be impossible: link(2) creates a hardlink to the thing the link points to, or, if what it points to doesn't exist, returns ENOENT. (All relevant filesystems are ffs.)
Is there any particular reason this was done? I'm inclined to just fix it, but, if there's some specific reason for it (as opposed to being a "what the implementation happens to give you"), I'd like to, at the very least, think about it a bit first. I haven't been able to think of any particular need for this behaviour, but that means little. /~\ The ASCII Mouse \ / Ribbon Campaign X Against HTML mo...@rodents-montreal.org / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B