Veritas File System 5.1 SP1 Administrator"s Guide (5900-1499, April 2011)

Extent-based allocation
Disk space is allocated in 1024-byte sectors to form logical blocks. VxFS supports
logical block sizes of 1024, 2048, 4096, and 8192 bytes. The default block size is
the larger of 1K or the device's hardware sector size for file system sizes of up to
1 TB, and 8K for file system sizes 1 TB or larger.
An extent is defined as one or more adjacent blocks of data within the file system.
An extent is presented as an address-length pair, which identifies the starting
block address and the length of the extent (in file system or logical blocks). VxFS
allocates storage in groups of extents rather than a block at a time.
Extents allow disk I/O to take place in units of multiple blocks if storage is allocated
in consecutive blocks. For sequential I/O, multiple block operations are
considerably faster than block-at-a-time operations; almost all disk drives accept
I/O operations of multiple blocks.
Extent allocation only slightly alters the interpretation of addressed blocks from
the inode structure compared to block based inodes. A VxFS inode references 10
direct extents, each of which are pairs of starting block addresses and lengths in
blocks.
The VxFS inode supports different types of extents, namely ext4 and typed. Inodes
with ext4 extents also point to two indirect address extents, which contain the
addresses of first and second extents:
Used for single indirection. Each entry in the extent indicates the
starting block number of an indirect data extent
first
Used for double indirection. Each entry in the extent indicates the
starting block number of a single indirect address extent.
second
Each indirect address extent is 8K long and contains 2048 entries. All indirect
data extents for a file must be the same size; this size is set when the first indirect
data extent is allocated and stored in the inode. Directory inodes always use an
8K indirect data extent size. By default, regular file inodes also use an 8K indirect
data extent size that can be altered with vxtunefs; these inodes allocate the
indirect data extents in clusters to simulate larger extents.
Typed extents
VxFS has an 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.
19Introducing Veritas File System
Veritas File System features