Subject: Re: kern/642: lstat() returns wrong inode for symlink?
To: None <lclee@lightside.com>
From: der Mouse <mouse@Collatz.McRCIM.McGill.EDU>
List: netbsd-bugs
Date: 12/17/1994 11:18:53
>>> In 4.4-Lite, symlinks appear to have the inode number and time
>>> stamps of the directory they're in.
>> The idea, from my (minimal) understanding of it, is that symlinks
>> may become non-inode entities, and that this is preparatory to that.
> I haven't heard this. Where is the symlink information going to go,
> to the directories themselves?
So I assume, since I can't think of anywhere else to put it. Symlinks
would (presumably) become a new sort of directory entry, one that holds
a link-to string instead of an inumber.
This actually makes a bit of sense. Symlinks currently tend to waste
an enormous proportion of the disk space they occupy, since any symlink
takes at least one inode and (excluding links to zero-length strings)
at least one frag to hold the link-to string. For typical symlinks, at
least 80-90% of the space used is wasted, even if you ignore the inode
itself (the typical filesystem has far more inodes than it is ever
going to use, so the inode can be thought of as free). "Fast"
symlinks, where the link-to string is stored right in the inode,
alleviate this to some extent, but only for link-to strings under
(typically) 60 bytes. Moving them right into the directory entry would
be worthwhile, even when you take into account the need for some
indication of whether a given directory entry is a symlink or an inode.
der Mouse
mouse@collatz.mcrcim.mcgill.edu