HP 3000 Manuals

Maximum File Size Increased to Four Gigabytes [ COMMUNICATOR 3000 MPE MPE/iX RELEASE 4.0 ] MPE/iX Communicators


COMMUNICATOR 3000 MPE MPE/iX RELEASE 4.0

Maximum File Size Increased to Four Gigabytes 

by William R. Taylor 
Commercial Systems Division 

The maximum file size for most file types has been increased from 2 GB
(2**31-1) to approximately 4 GB ((2**32-1) - 64K). This change allows you
to manage larger amounts of data without restructuring applications to
use multiple files.

Applications and utilities that manage, access, or copy files may need to
be modified if files larger than 2 GB are created on the system.  Also,
files larger than 2 GB cannot be moved back to a pre-4.0 system.

NEW/OLD LIMITS AND DEFAULTS 

The new defaults and limits for the various file types are shown below.
The old (pre-4.0) values are shown in parentheses.

     Ordinary Fixed, Variable and Undefined Files:

        FOPEN Default size   : 1023 Records (no change)
        HPFOPEN Default size : 2 GB (no change)
        Max size             : 4 GB (was 2 GB)

     KSAMXL Files:

        FOPEN Default size   : 1023 Records (no change)
        HPFOPEN Default size : 1023 Records (no change)
        Max size             : 4 GB (was 2 GB)

     Explicitly Created Spool Files:
        FOPEN Default size   : 1023 Records (no change)
        HPFOPEN Default size : 2 GB (no change)
        Max size             : 4 GB (was 2 GB)

     Implicitly Created Spool Files (FOPEN DEV=LP)
        Always 4 GB (file size cannot be specified, was 2 GB)

     CM KSAM Key and Data Files:
        FOPEN Default size   : 1023 Records (no change)
        HPFOPEN Default size : 2 GB (no change)
        Max size             : 2 GB (no change)

     RIO, CIR and MSG Files:
        FOPEN Default size   : 1023 Records (no change)
        HPFOPEN Default size : Approx 512 MB (no change)
        Max size             : Approx 512 MB (no change)

IMPACT OF CHANGE ON EXISTING APPLICATIONS 

If you use the file system intrinsics, the total file size you see is the
record size of the file multiplied by the number of records in the file.
The maximum legal values for the various file size and record number
parameters of intrinsics such as FOPEN, HPFOPEN, and WRITEDIR have not
changed.  The maximum record number that can be specified is still
2147483647, which is the maximum value of a signed 32-bit integer.  A
file must have a record size of at least 2 bytes to be greater than 2 GB
in length.

Since the legal values for intrinsic parameters have not changed, most
current applications that use only file system intrinsics and interact
with files on a record-by-record basis should continue to work with files
larger than 2 GB; however, any applications or utilities using signed
32-bit integers to compute file size in bytes, offset from beginning of
file in bytes or offset from current record to another record in bytes,
would not work with files larger than 2 GB. This problem may be more
prevalent when using user-mapped access since byte offsets are typically
used.

Items 5017 (EOF in bytes) and 5018 (File limit in bytes) of the
architected interface AIFFILEGET return values that now are larger than
2**31-1 for files larger than 2 GB. Users of these items must consider
the returned values as unsigned 32-bit integers.

IMPACT OF CHANGE ON FILE PORTABILITY 

Files that have limits larger than 2 GB cannot be moved back to pre-4.0
systems.  For example, an attempt to RESTORE or DSCOPY a file larger than
2 GB to a pre-4.0 system fails.  Also, if a file larger than 2 GB is
created on a user volume on a 4.0 system, and the user volume is moved to
a pre-4.0 system, an FOPEN of the file fails.  If a file larger than 2 GB
is created on a 4.0 system and the system is back-updated to a pre-4.0
system, an FOPEN of the file also fails.



MPE/iX Communicators