fs_vxfs(4)fs_vxfs(4)NAMEfs_vxfs - format of a VxFS file system volume
SYNOPSISDESCRIPTION
The VxFS super-block always begins at byte offset 8192 from the start
of the file system. The super-block location is fixed so that various
system utilities know where to locate it.
Super-block fields contain the following fundamental sizes and offsets:
The block size of the file system.
VxFS supports block sizes of 1024, 2048, 4096,
and 8192 bytes. The default block size
depends on the size of the file system when
you create it. See the bsize option in
mkfs_vxfs(1M) for specific values.
The creation date of the file system.
The system call supplies the time.
The default size, in blocks, for indirect data extents.
Currently set to 64 by default.
The number of data blocks in the file system.
A data block is a block which may be allocated
to a file in the file system.
A placeholder in instances when the creation
date for a file system is expanded for more
precision. Currently zero.
The size, in bytes, of the immediate data area in each inode.
Currently 96.
The block address of the last log area block.
You can specify the log area size with the
command. If not specified, the default size
is 256 blocks for a file system less than 8
megabytes in size, 1024 blocks for a file sys‐
tem from 8 megabytes to 512 megabytes, and
16384 blocks for file systems greater than 512
megabytes in size. For smaller file systems,
the default is reduced to avoid wasting space.
The block address of the first log area block.
Currently two.
The magic number for the file system. This number identifies
the file system as a VxFS file system type.
The number of file system allocation units.
The number of direct extents supported by the
mapping type (see the section describing inode
list). Currently 10.
The number of blocks,
of size fs_bsize, in the file system. is an
unsigned 32-bit number, so the maximum number
of blocks in a VxFS file system is limited to
32 bits.
The version number
of the file system disk layout.
The preceding fields define the size and makeup of the file system. To
reduce the calculations required in utilities, some of the values are
derived from the fundamental values and placed in the super-block.
The super-block contains the following derived offsets:
The number of data blocks in an allocation unit.
The address, in blocks, of the first allocation unit.
There can be a gap between the end of the
intent log and the first allocation unit.
This gap is used to align the first allocation
unit on a desired boundary.
The length of a free extent map in blocks.
The length of an allocation unit in blocks.
The length, in blocks, of the allocation unit alignment padding.
A mask value such that
(byte_offset fs_bmask) rounds the offset to
the nearest smaller block boundary.
A mask value such that
(byte_offset fs_boffmask) yields the offset
from the start of the nearest smaller block
boundary.
The log base 2 of fs_bsize. Used to convert a byte offset into
a block offset.
The offset, in blocks, of the first data block
from the start of an allocation unit. An
allocation unit header may contain padding to
align the first data block to a specific
boundary.
A checksum of the above fields.
A macro, verifies or calculates the checksum.
The offset, in blocks, of the free extent map (emap)
from the start of an allocation unit.
The offset, in blocks, of the first data block
from the start of the file system.
The offset, in blocks, of the first free extent map (emap)
from the start of the file system.
The offset, in blocks, of the first free inode map (imap)
from the start of the file system.
The size, in blocks, of an indirect address block.
An indirect address block is 8K bytes. This
field is set to (8K / fs_bsize).
The offset, in blocks, of the free inode map (imap)
from the start of an allocation unit.
The number of inodes in an allocation unit.
The number of inode entries per
block in the inode list. The VxFS inode is
currently 256 bytes long.
The log base 2 of fs_inopb.
Used to convert an inode number into a block
offset in the inode list.
The log base 2 of fs_aublocks.
The number of entries in an indirect address extent.
An indirect address extent is currently 8192
bytes in length, making the value for 2048.
The preceding fields are initialized when the file system is created
and do not change unless the file system is resized. These fields are
replicated in each allocation unit header.
The following are additional fields which are dynamic:
Set to when a file system is mounted for read/write
access. Set to on a or successful The file
system cannot be mounted for read/write access
unless the field is
An array of the current number of free extents of each extent
size in the
file system.
Initial log ID for when the file system is mounted.
The following flags are recognized:
Set when a file system requires a full struc‐
tural check to recover from an error. If this
flag is set, a full check is performed after
the replay recovery completes.
Set when the file system was mounted with the
option. If this flag is set, then no
log replay recovery is performed.
Set when an I/O error invalidated the log.
If this flag is set, no log replay
recovery is performed.
Set when the log ID runs over
( 2^30 ). The log ID is reset at the
next appropriate time (such as a mount
or system sync).
Set when a file system resizing is in
progress.
If an detects this flag, it performs a
resize recovery. See fsadm_vxfs(1M)
for a description of file system expan‐
sion.
Set when a file system upgrade is in progress.
If an
detects this flag, it performs an
upgrade recovery.
File system name (6 characters).
File system pack label (6 characters).
The number of free data blocks.
The version number of the log format. Set by the
kernel on each mount to ensure that an running
log replay understands the log format written
by the kernel.
The log format may change with each release,
so all file systems should be clean before
upgrading to a new release.
Set whenever a mounted file system is modified.
It indicates whether the super-block requires
rewriting when a sync operation is performed.
Reserved for future use.
Last time the super-block was written to disk, indicated as the
number of seconds and microseconds that have
elapsed since 0:00:00 GMT January 1, 1970.
The following fields are required by VxFS Version 2 disk layouts and
later. These fields are set when the file system is created and do not
change. They are replicated in each allocation unit header.
A checksum of fields.
The size, in bytes, of a disk inode. Currently 256 bytes.
The number of indirect address levels per inode.
The length, in blocks, of a free inode map in an inode alloca‐
tion unit.
The size, in blocks, of an inode allocation unit.
The size, in blocks, of the object location table extents
pointed to
by
An array of two extent addresses. These extent addresses
point to the two replicated copies of the
first object location table extent.
SEE ALSOfsadm(1M), fsadm_vxfs(1M), fsck(1M), fsdb(1M), mkfs(1M), mount(2),
time(2), inode_vxfs(4).
fs_vxfs(4)