Subject: Re: Symlink ownership
To: John F. Woods <>
From: David Greenman <davidg@Root.COM>
List: current-users
Date: 07/30/1995 21:44:55
>> #: They must have wanted compatbility with non-node-based filesystems on
>> #: other OS's.
>> But even this doesn't make sense.   BSD since 4.3 has been vnode based,
>> with some sort of filesystem switch or some such to facilitate talking
>> to other filesystem types (starting off the bat with NFS).  If you don't
>> have nodes, you can't really do much.  Even the FAT filesystem (MS/LOSS)
>> seems to have a somewhat node-based filesystem, to an extent.
>Bzzt.  First: VMS, er make that "OpenVMS", certainly does not have inodes,
>or any such similar nonsense; I don't know how they do symbolic links (if
>at all), but I'll bet it's through some perversion of the Logical Names
>facility, which I think would be unlikely to have a file owner attached
>to them.  (Anyone who has used VMS more recently than version 2 should feel
>free to jump in and update me. :-)

   Actually, you are quite wrong about that. VMS stores file attribute
information in a data structure called a "file header" that is very similar
to an inode in all respects. It contains file ownership information,
protection bits, length, type, dates, retrieval pointers, etc. The filesystem
has a "sort-of" hard link capability that works the same way that hard links
work in FFS except that there is no link count in the file header (which makes
the whole thing useless of course). File headers ("inodes") are stored in a
special file called "indexf.sys" in the root directory, which is a keyed
sequential file that uses the file-ID (very similar to an inode number) as
its primary key.
   From a data-structures/access methods perspective, FFS and ODS2 (the VMS
file structure) are very similar in most respects. ODS2 does not, however,
have anything resembling symbolic links. Logical names, however, are so
powerful in later versions of VMS that this doesn't really matter. They have
several types of ownership/access control features...including the ability to
create custom name tables with their own protection mechanisms...and have a
variety of translation features that allow them to be used generically as a
file-access extension, as a simple IPC mechanism, and as a general
"environment variable" mechanism.