- Integrated Systems
- About Us
- Integrated Systems
- About Us
05-25-2009 12:33 PM
Each disk has a index.sys file that contains all file headers.
It is best that before you start using a disk initialize it with enough headers.
$ INIT $1$DGA100: DATADISK1 -
$ Help init
Specifies, for disk volumes, the number of file headers to be
allocated for the index file. The minimum and default value
is 16. The maximum is the value set with the /MAXIMUM_FILES
qualifier. However, if /LIMIT is specified and no value is
specified for /HEADERS or /MAXIMUM_FILES, the following defaults
o /MAXIMUM_FILES: 16711679 files
o /HEADERS: 0.5 percent of the size of the current device
MAXBLOCK (an F$GETDVI item code)
For example, for a 33GB disk, the default number of
preallocated header blocks would be approximately 355000.
/HEADERS is useful when you want to create a number of files
and want to streamline the process of allocating space for that
number of file headers. If you do not specify this qualifier, the
file system dynamically allocates space as it is needed for new
headers on the volume.
The default value for the /HEADERS qualifier is generally
insufficient for ODS-2 and ODS-5 disks. To improve
performance and avoid SYSTEM-F-HEADERFULL errors, HP
recommends that you set this value to be approximately the
number of files that you anticipate having on your disk;
however, grossly overestimating this value will result in
wasted disk space.
The /HEADERS qualifier controls how much space is initially
allocated to INDEXF.SYS for headers. Each file on a disk requires
at least one file header and each header occupies one block
within INDEXF.SYS. Files that have many Access Control Entries
(ACE) or are very fragmented may use more than one header.
The default value of 16 leaves room for less than 10 files to be
created before INDEXF.SYS must extend; therefore, try to estimate
the total number of files that will be created on the disk and
specify it here. This will improve disk access performance.
Overestimating the value may lead to wasted disk space. This
value cannot be changed without reinitializing the volume.
INDEXF.SYS is limited as to how many times it may extend. When
the map area in its header (where the retrieval pointers are stored) becomes full, file creation fails with the message
05-25-2009 12:48 PM
The maximum file initialization details and the related error messages (when you reach the limit) are also included in the OpenVMS FAQ, a document which is available for download in various formats from:
05-25-2009 08:00 PM
For more info about this see the following thread.
Relationship of File Headers to Maximum Files Allowed
As Hoff said, the maximum files allowed on a disk can't be modified once the disk has been initialized. The only way to fix the problem is to get another disk, initialize it with a much higher /maximum_files than you expect to need, and then do a backup/image/noinit to the new disk.
I am not aware of any third party tools that will extend the index file bitmap in indexf.sys, although it would theoretically be possible to write such a utility that would work in offline mode.