This section contains information about creating large files and file allocation. Large files are only applicable to AIX Version 4.2 or later.
File systems enabled for large files can be created with the crfs and mkfs commands. Both commands have a new option (bf=true) to specify file systems enabled for large files. The JFS SMIT menus can create these file systems also.
In file systems enabled for large files, file data stored before the 4MB file offset is allocated in 4096 byte blocks. File data stored beyond the 4MB file offset is allocated with large disk blocks of 128 KB in size. The large disk blocks are actually 32 contiguous 4096 byte blocks. For example, a 132 MB file in a file system enabled for large files has 1024 4KB disk blocks and 1024 128KB disk blocks. In a regular file system, the 132 MB file would require 33 single indirect blocks (each filled with 1024 4KB disk addresses). However, the large file geometry requires only 2 single indirect blocks for the 132 MB file.
Files that do not have disk blocks allocated for each logical block are called sparse files. Sparse files are created by seeking two different file offsets and writing data. If the file offsets are greater than 4MB, then a large disk block of 128KB is allocated. Applications using sparse files larger than 4MB may require more disk blocks in a file system enabled for large files than in a regular file system.
Large disk blocks require 32 contiguous 4KB blocks. If you write to large files beyond the 4MB, file offset will fail with ENOSPC if the file system does not contain 32 unused contiguous 4KB blocks.
Note: The file system may have thousands of free blocks, but if 32 of them are not contiguous, the allocation will fail.
The defragfs command reorganizes disk blocks to provide larger contiguous free block areas.
File systems enabled for large files cannot be migrated to releases of Versions 3 or 4.1 of AIX. These releases of AIX will not recognize the superblock version number and may generate a message such as: unknown file system type. File systems enabled for large files are not the only file systems subject to this behavior. See "Understanding Fragments and a Variable Number of I-Nodes" for more information about file system migration.
Note: File systems from Versions 3 and 4.1 of AIX can be migrated forward.
The JFS is required to initialize all new disk allocations. The JFS starts the kernel kproc procedure used to zero initial file allocations when mounting the first large file enabled file system on your system. The kproc procedure remains once the file system enabled for large files has successfully unmounted.