[Info-vax] ODS-1 Index File extension headers
Robert A. Brooks
FIRST.LAST at vmssoftware.com
Mon Nov 18 14:30:11 EST 2019
On 11/17/2019 8:02 PM, Lee Gleason wrote:
>
> I've been doing a little experimenting with ODS-1 disk structures
> lately, specifically working with the Index File.
>
> Does anyone know, under what circumstances the Index File gets an
> extension header? Does it ever happen at any time other than INIT
> time, or when the HOM command is used to change MXF?
>
> Can the Index File ever have more than two extension headers, and
> are they ever not headers 6 and 7?
Andy Goldstein says . . .
The ODS-1 index file needs to become multi-header when it gets large. Problem is ODS-1 map pointers have only one format, and they’re limited to 256 blocks. So one header can only map a fairly limited size index file. I don’t remember exactly how big the ODS-1 map area is, but it must be in the neighborhood of 100 map pointers, so you can map about 25K blocks with one header. That means it takes 3 headers to map the ODS-1 architectural limit of 65K files.
The reason the index file extension headers are always file numbers 6 and 7 is that they’re pre-allocated, when the volume is initialized. This is to avoid a “you can’t get there from here” problem: When you need to extend the index file, it’s because you’re out of file header blocks. But to create an extension header you need another header block, and you just gave away the last one with the previous file creation. So they’re pre-allocated, so you’ll have one when you need it.
So the answers to the questions are, it’s always 6 and 7 - they’re the next reserved file IDs past the original set of 5. And it’s never more than 3 headers because of the architectural limit of 65K files. I don’t know anything about the HOM command. Sounds from the reference like a utility that does structure fixups on ODS-1 that the file system itself can’t do.
All this logic was implemented by the RSX guys after VMS was released, and VMS never picked it up. VMS just limits the index file to a single header, in all formats. It’s not an issue in ODS-2/5 because a single map pointer can map many more blocks.
- Andy
--
-- Rob
More information about the Info-vax
mailing list