The (theoretical) maximum file size is approx. 4 TB (2 147 483 647 PAM pages). This means that within the operating system, 4-byte block numbers and 4-byte counters must be used systematically for file sizes and disk sizes (see figure 2). The term “block” in this context is synonymous with the terms “PAM page” and “half page”.
Extending the catalog entry
The introduction of 4-byte fields for the following data stored in the catalog entry was a key aspect in the lifting of the 32-GB limit for volume and data sizes.
FILE-SIZE, the storage space allocated for the file
HIGHEST-USED-PAGE, the amount of storage that currently contains data
LHP (logical halfpage number) and PHP (physical halfpage number) of the individual extents in the extent list, that allocate “physical” halfpages of volumes to the logical halfpages.
3-byte and 4-byte fields
Block numbers and block counters become visible at different interfaces to the user in BS2000. Although 4-byte fields have been used exclusively in all new versions of these interfaces, some old interface versions may still use 3-byte fields. If files >= 32 GB exist, you may experience compatibility problems, in a few cases also when “only” volumes >= 32 GB exist.
Additional format for the extent list
The introduction of 4-byte LHPs and 4-byte PHPs meant that an additional format had to be introduced for the extent list.
The correlation between the maximum size of volumes and files and the field width of LHP and PHP is depicted in figure 3:
Both formats of the extent list are supported:
In general, the “old” format with 3-byte block numbers will be used.
Only in the case of large files or of files that are wholly or partly located on large volumes, will the new format with 4-byte block numbers be used.
Extent lists therefore contain either extents with 3-byte block numbers or extents with 4-byte block numbers.
Restrictions for large files
The paging file cannot be >= 2 TB.
A SYSEAM file cannot be >= 32 GB.
Files where BLKCTRL=PAMKEY are not supported, since the logical page number is stored as a 3-byte field in the system section of the PAMKEY.
Summary of file management interfaces affected by 32 GB objects
Interface | Change |
Privileged commands | |
SET-PUBSET-ATTRIBUTES | Specification whether existing pubsets are to be upgraded to LARGE_OBJECTS pubsets with or without large files. |
SET-PUBSET-ATTRIBUTES | Two additional S variables display the attributes LARGE-VOLUMES and LARGE-FILES: |
SHOW-MASTER-CATALOG- | Output of LARGE_OBJECTS properties for LARGE_OBJECTS pubsets |
Non-privileged commands | |
ADD-FILE-LINK | Additional operand for large files |
SHOW-FILE-LINK | Output of the “File can become large” attribute |
SHOW-FILE-ATTRIBUTES | The length of different output fields has been extended |
Macros | |
FCB | Additional operand for large files |
FILE | Additional operand for large files |
FSTAT | Effort involved in check and conversion if VERSION=0/1 |
OPEN | Address problems of semantics |
RDTFT | Output of the “File can become large” attribute |
DIV | Additional operand for large files; extended range of values for BLOCK and SPAN |
FPAMACC | Extended range of values for BLOCK |
FPAMSRV | Additional operand for large files |
STAMCE | Output of MRSCAT entries related to LARGE_OBJECTS |