inode_vxfs(4)inode_vxfs(4)NAMEinode_vxfs - format of a VxFS file system inode
SYNOPSISDESCRIPTION
A VxFS inode is typically 256 bytes in length, but an inode can also be
512 bytes. You specify the inode size with
An inode entry has the following format:
The mode and type of file.
The number of links to the file.
The inode owner.
The inode group.
The size in bytes of the file.
Eight bytes are allocated.
Time of last access, in
format.
Time of last modification, in
format.
Time of last inode change, in
format.
These flags control the allocation and extension of files:
If set, the inode is invalid. Cleared when is run.
If set,
the file cannot be extended after the current
reservation is exceeded. The reservation can be
increased by the ioctl, but the file is not auto‐
matically extended.
If set,
the file cannot be extended after the current
reservation is exceeded. This flag is typically
set because an I/O error occurred while extending
a file. Cleared on truncation or when setext is
run.
If set, the
file must be allocated in extents of a fixed size
and alignment. If an extent of i_fixextsize
blocks aligned on an i_fixextsize boundary cannot
be found, then the allocation fails. The align‐
ment is relative to the beginning of the alloca‐
tion unit.
Mapping type. Indicates how to interpret the inode mapping area. Cur‐
rently there are four supported mapping types:
Mapping area is unused. is used for files that have no
associated data storage. Because there is no need for
either extents or immediate data, the mapping area is
unused. Block and character special files, for example,
use this organization type.
Mapping area consists of an array of 32-bit extent block
addresses
and sizes.
Mapping area itself is a data block.
This mapping is referred to as Immediate Inode
Data.
Mapping area consists of typed-extent structures.
Extended inode operation flag area.
Extended inode operation data area.
This field is a union.
The contents are determined by file type.
For devices, the following field is supported:
The device number of a block or character special
device.
For directories, the following field is supported:
The parent directory inode inumber if the inode is a
directory.
This replaces the standard ``..'' (dot
dot) entry in the first directory
block. VxFS does not have explicit
``.'' (dot ) and ``..'' (dot dot)
entries.
For regular files, the following fields are supported:
The number of data blocks reserved for exclusive use by
the
file (preallocation). A preallocation
can be requested using an ioctl. See
vxfsio(7).
Set when the inode has a fixed extent size.
The default is to have a variable
extent size allocation policy. A
fixed extent size may be specified
using ioctl. See vxfsio(7).
For structural files, the following fields are sup‐
ported:
(Version 2 and later disk layouts only.)
The inode number of the ``matching''
inode. For replicated files, this is
the inode of the replica. For extent
map reorganization files, this is the
inode of the file being reorganized.
(Version 2 and later disk layouts only.)
The index of the fileset associated
with the inode.
The number of blocks allocated to the file, including the
blocks allocated for indirect address extents.
The generation number.
A serial number which increments whenever the inode is
freed and reallocated. This provides a ``handle'' for
stateless servers such as NFS.
The number of times the inode metadata is modified.
This field is a 64-bit number.
The mapping area.
This field is a union based on the value of and the file
system type.
For the VxFS organization type, the following structure
is used:
The immediate inode data area, (currently 96) bytes in
length (see Any directory or symbolic link which is less
than or equal to 96 bytes in length is stored directly
in the inode.
For the VxFS organization type, the following structure
is used:
Indirect extent size. The size, in blocks, of the indi‐
rect data extents in the file.
Array of indirect address extents.
There are indirect address extents. The indirect
address extents are 8192 bytes long. Each indi‐
rect address extent may contain up to 2048 extent
addresses.
The first indirect address extent is for single
indirection. With single indirection, each entry
in the indirect address extent indicates the
starting block number of a data extent.
The second indirect address extent is a double
indirect address extent. With double indirec‐
tion, each entry in the indirect address extent
indicates the starting block number of a single
indirect address extent.
An array of structures containing the direct extent
addresses and sizes.
Up to direct extents are supported. Because
there is a variable length extent allocation pol‐
icy, each direct extent can have a different
size. Each structure contains the following ele‐
ments:
Direct extent address.
Direct extent size.
(Version 2 and later disk layouts.)
Indirect attribute inode. Identifies the inode
in the attribute fileset that contains indirect
attribute references.
The remaining bytes of the inode are reserved for
extended attribute records. Their format is:
length The length of the attribute record. If
this is not a multiple of 4 bytes, the start of
the next attribute record is found by rounding
the length up to a 4 byte boundary.
format The format of the data layout of the
remainder of the attribute record. Each
attribute consists of a class identifying
the attribute's administrative domain, a
subclass identifying the attribute within
the administrative domain, and data. The
valid record formats are:
Extends the immediate data area so that
files larger than
96 bytes can be stored directly in
the inode.
The attribute is stored directly in the
inode. The fields
in the rest of this record are:
class The class of the
attribute.
subclass The subclass of the
attribute.
data The attribute data.
When attributes are too large to store
directly in the inode,
each attribute is stored in its own
file. lists each attribute along
with the inode number corresponding
to the file in which the attribute
is stored. The number of entries
in the list is determined by the
length of the record. The fields in
each entry are:
class The class of the
attribute.
subclass The subclass of the
attribute.
length The length of the
attribute data. This
allows attribute opera‐
tions to check the length
of an attribute without
reading the attribute
inode.
inumber The inode number of the
file containing the
attribute data. The
inode is part of the
attribute fileset.
The attribute records in the inode terminate with
a record that has a format of zero (for compati‐
bility with file systems that have the last 80
bytes of all inodes set to NULL).
SEE ALSOsetext(1M), stat(2), fs_vxfs(4), vxfsio(7).
inode_vxfs(4)