fs_vxfs(4) fs_vxfs(4)
NAME [Toc] [Back]
fs_vxfs - format of a VxFS file system volume
SYNOPSIS [Toc] [Back]
#include <sys/types.h>
#include <sys/param.h>
#include <sys/fs/vx_fs.h>
DESCRIPTION [Toc] [Back]
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:
fs_bsize 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.
fs_ctime The creation date of the file system. The
time() system call supplies the time.
fs_defiextsize The default size, in blocks, for indirect data
extents. Currently set to 64 by default.
fs_dsize 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.
fs_ectime A placeholder in instances when the creation
date for a file system is expanded for more
precision. Currently zero.
fs_immedlen The size, in bytes, of the immediate data area
in each inode. Currently 96.
fs_logend The block address of the last log area block.
You can specify the log area size with the mkfs
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
system 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.
Hewlett-Packard Company - 1 - HP-UX 11i Version 2: August 2003
fs_vxfs(4) fs_vxfs(4)
fs_logstart The block address of the first log area block.
Currently two.
fs_magic The magic number (VX_MAGIC) for the file
system. This number identifies the file system
as a VxFS file system type.
fs_nau The number of file system allocation units.
fs_ndaddr The number of direct extents supported by the
VX_EXT4 mapping type (see the section
describing inode list). Currently 10.
fs_size The number of blocks, of size fs_bsize, in the
file system. fs_size is an unsigned 32-bit
number, so the maximum number of blocks in a
VxFS file system is limited to 32 bits.
fs_version The version number (VX_VERSION) 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:
fs_aublocks The number of data blocks in an allocation
unit.
fs_aufirst 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.
fs_auemlen The length of a free extent map in blocks.
fs_aulen The length of an allocation unit in blocks.
fs_aupad The length, in blocks, of the allocation unit
alignment padding.
fs_bmask A mask value such that (byte_offset & fs_bmask)
rounds the offset to the nearest smaller block
boundary.
fs_boffmask A mask value such that (byte_offset &
fs_boffmask) yields the offset from the start
of the nearest smaller block boundary.
Hewlett-Packard Company - 2 - HP-UX 11i Version 2: August 2003
fs_vxfs(4) fs_vxfs(4)
fs_bshift The log base 2 of fs_bsize. Used to convert a
byte offset into a block offset.
fs_bstart 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.
fs_checksum A checksum of the above fields. A macro,
VX_FSCHECKSUM, verifies or calculates the
checksum.
fs_emap The offset, in blocks, of the free extent map
(emap) from the start of an allocation unit.
fs_fbstart The offset, in blocks, of the first data block
from the start of the file system.
fs_femap The offset, in blocks, of the first free extent
map (emap) from the start of the file system.
fs_fimap The offset, in blocks, of the first free inode
map (imap) from the start of the file system.
fs_iaddrlen The size, in blocks, of an indirect address
block. An indirect address block is 8K bytes.
This field is set to (8K / fs_bsize).
fs_imap The offset, in blocks, of the free inode map
(imap) from the start of an allocation unit.
fs_inopau The number of inodes in an allocation unit.
fs_inopb The number of inode entries per fs_bsize block
in the inode list. The VxFS inode is currently
256 bytes long.
fs_inoshift The log base 2 of fs_inopb. Used to convert an
inode number into a block offset in the inode
list.
fs_maxtier The log base 2 of fs_aublocks.
fs_nindir The number of entries in an indirect address
extent. An indirect address extent is
currently 8192 bytes in length, making the
value for fs_nindir 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
Hewlett-Packard Company - 3 - HP-UX 11i Version 2: August 2003
fs_vxfs(4) fs_vxfs(4)
replicated in each allocation unit header.
The following are additional fields which are dynamic:
fs_clean Set to VX_DIRTY when a file system is mounted
for read/write access. Set to VX_CLEAN on a
umount or successful fsck. The file system
cannot be mounted for read/write access unless
the fs_clean field is VX_CLEAN.
fs_efree An array of the current number of free extents
of each extent size in the file system.
fs_firstlogid Initial log ID for when the file system is
mounted.
fs_flags The following flags are recognized:
VX_FULLFSCK Set when a file system requires
a full structural check to
recover from an error. If this
flag is set, a full check is
performed after the replay
recovery completes.
VX_NOLOG Set when the file system was
mounted with the VX_MS_NOLOG
option. If this flag is set,
then no log replay recovery is
performed.
VX_LOGBAD Set when an I/O error
invalidated the log. If this
flag is set, no log replay
recovery is performed.
VX_LOGRESET Set when the log ID runs over
VX_MAXLOGID ( 2^30 ). The log
ID is reset at the next
appropriate time (such as a
mount or system sync).
VX_RESIZE Set when a file system resizing
is in progress. If an fsck
detects this flag, it performs a
resize recovery. See
fsadm_vxfs(1M) for a description
of file system expansion.
VX_UPGRADING Set when a file system upgrade
is in progress. If an fsck
Hewlett-Packard Company - 4 - HP-UX 11i Version 2: August 2003
fs_vxfs(4) fs_vxfs(4)
detects this flag, it performs
an upgrade recovery.
fs_fname File system name (6 characters).
fs_fpack File system pack label (6 characters).
fs_free The number of free data blocks.
fs_logversion The version number of the log format. Set by
the kernel on each mount to ensure that an fsck
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.
fs_mod Set whenever a mounted file system is modified.
It indicates whether the super-block requires
rewriting when a sync operation is performed.
fs_reserved Reserved for future use.
fs_time 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.
fs_checksum2 A checksum of fields.
fs_dinosize The size, in bytes, of a disk inode. Currently
256 bytes.
fs_dniaddr The number of indirect address levels per
inode.
fs_iauimlen The length, in blocks, of a free inode map in
an inode allocation unit.
fs_iausize The size, in blocks, of an inode allocation
unit.
fs_oltsize The size, in blocks, of the object location
table extents pointed to by fs_oltext.
Hewlett-Packard Company - 5 - HP-UX 11i Version 2: August 2003
fs_vxfs(4) fs_vxfs(4)
fs_oltext An array of two extent addresses. These extent
addresses point to the two replicated copies of
the first object location table extent.
SEE ALSO [Toc] [Back]
fsadm(1M), fsadm_vxfs(1M), fsck(1M), fsdb(1M), mkfs(1M), mount(2),
time(2), inode_vxfs(4).
Hewlett-Packard Company - 6 - HP-UX 11i Version 2: August 2003 [ Back ] |