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

Reply via email to