Subject: Testers wanted: hardlink to symlink
To: None <current-users@netbsd.org>
From: Hubert Feyrer <feyrer@rfhs8012.fh-regensburg.de>
List: current-users
Date: 08/31/1999 01:16:58
Hello,

I've used hardlinks to symlinks under Solaris, and understanding
hardlinks as "just another directory entry" for whatever object
(referenced by i/vnode), was wondering why NetBSD didn't support
this.

It seems this has two causes:
1. the kernel tried to follow the symlink which caused it to abort
   if the target of the symlink was on a different filesystem.

   If the link points to a (valid) file on the same filesystem,
   traversal of the link will result in a hardlink to the target
   file, which may not be what's intended.

   These two cases can be caught by not traversing the symlink.

2. the ln(1) command failed if the symlink didn't point to a valid
   file. Again, not traversing the link here solves this. 

The patches available at http://www.feyrer.de/Misc/ln2synlink.diff fix
these two errors, plus adjust (g)tar and (g)cpio to DTRT, too. dump,
restore and pax were fine out of the box.

If someone wants to test this, let me <hubertf@netbsd.org> know of any
problems, else I'll commit this soonish. Thanks!


 - Hubert

-- 
NetBSD - Better for your uptime than Viagra