From: Aidan Kehoe (kehoea at domain parhasard.net)
Date: Sat 20 Jul 2002 - 22:22:53 IST
Ar an 20u la de mi 7, scriobh kevin lyda :
> On Sat, Jul 20, 2002 at 08:24:47PM +0100, Aidan Kehoe wrote:
> > Ar an 20u la de mi 7, scriobh kevin lyda :
> > > actaully i think soft links were invented because you can't hard link
> > > directories.
> > But you could hard link directories, back when soft links were
> > being invented, AFAIK.
>
> that was before my time. all unix systems i've used didn't allow hard
> links to directories, or if they did they were restricted to root.
> the reason why is because you could cause infinite loops in the kernel -
> usually a bad place for infinite loops.
Yeah, thanks. I have been subscribed for more than a week, despite any
naïvete I may be showing to you :-) .
> > > apparently some systems limited soft links to the same device but
> > > gave up after a while.
> > Why?
>
> to make them consistent with hard links.
So, they're the same as hard links, with the disadvantage that they
break on deletion or moving, and they may take up slightly more disk
space. Hmm.
> > A better way of doing it would be a) have global unique filesystem
> > identifiers for every FS created (such that the chance of two of them
> > clashing is miniscule; 64 bits creatively used would do it, I'd say),
> > and b) implement the target info for the soft link as a {FSID, inode}
> > pair; the OS can work out if the thing linked to is now on a different
> > mount point, or has been moved. (HFS fans, is that what's done? Or are
> > aliases implemented differently?)
>
> let's call these super-soft-links. ln -ss
>
> % ln -ss foo bar
> % ls -i foo
> 111 foo
> % mv floyd foo
> % ls -i foo
> 222 foo
>
> and now bar no longer points to foo.
True. But "cat floyd > foo; rm floyd" preserves it. Much of a muchness
...
> the fs would need to maintain a table of links going the other direction.
> so when the move command unlinks foo in the first example, it could
> check the table and mark that bar is now disconnected. the same would
> be true for the second example - and even more important since bar points
> to floyd if no table is consulted.
>
> and this all fails to handle nfs mounted file systems or filesystems
> that have dynamic inodes (the fat fs's and reiser lacks inodes i think).
Hokay.
-- I'm not a pheasant plucker / I'm a pheasant plucker's son. I'm just a'plucking pheasants / 'Til the pheasant plucker comes.
This archive was generated by hypermail 2.1.6 : Thu 06 Feb 2003 - 13:17:59 GMT