VERITAS File SystemÖ 3.5 (HP OnlineJFS/JFS3.5) AdministratorÆs Guide (December 2002)
Chapter 1
The VERITAS File System
Extent Based Allocation
6
Typed Extents
In the Version 4 disk layout, VxFS introduced a new inode block map organization for indirect extents known
as typed extents. Each entry in the block map has a typed descriptor record containing a type, offset, starting
block, and number of blocks.
Indirect and data extents use this format to identify logical file offsets and physical disk locations of any given
extent. The extent descriptor fields are defined as follows:
• Indirect address blocks are fully typed and may have variable lengths up to a maximum and optimum
size of 8K. On a fragmented file system, indirect extents may be smaller than 8K depending on space
availability. VxFS always tries to obtain 8K indirect extents but resorts to smaller indirects if necessary.
• Indirect Data extents are variable in size to allow files to allocate large, contiguous extents and take full
advantage of VxFS's optimized I/O.
• Holes in sparse files require no storage and are eliminated by typed records. A hole is determined by
adding the offset and length of a descriptor and comparing the result with the offset of the next record.
• While there are no limits on the levels of indirection, lower levels are expected in this format since data
extents have variable lengths.
• This format uses a type indicator that determines its record format and content and accommodates new
requirements and functionality for future types.
The current typed format is used on regular files only when indirection is needed. Typed records are longer
than the previous format and require less direct entries in the inode. Newly created files start out using the
old format which allows for ten direct extents in the inode. The inode's block map is converted to the typed
format when indirection is needed to offer the advantages of both formats.
type Uniquely identifies an extent descriptor record and defines
the record's length and format.
offset Represents the logical file offset in blocks for a given
descriptor. Used to optimize lookups and eliminate hole
descriptor entries.
starting block The starting file system block of the extent.
number of blocks The number of contiguous blocks in the extent.