inode(4-vxfs) (VxFS) inode(4-vxfs)
NAME
inode (vxfs) - format of a Veritas File System inode (VxFS)
SYNOPSIS
#include <sys/types.h>
#include <sys/fs/vxinode.h>
DESCRIPTION
The inode list consists of fsinopau inode entries. An inode entry has
the following format:
imode
The mode and type of file.
inlink
The number of links to the file.
iuid
The inode owner.
igid
The inode group.
isize
The size in bytes of the file. Eight bytes have been allocated.
Only four bytes are used in the first implementation.
iatime
Time of last access, in timet format.
iatspare
Reserved for when iatime becomes eight bytes.
imtime
Time of last modification, in timet format.
imtspare
Reserved for when imtime becomes eight bytes.
ictime
Time of last inode change, in timet format.
ictspare
Reserved for when ictime becomes eight bytes.
iaflags
These flags are used to control the allocation and extension of
files.
VXAFIBAD
If this flag is set, the inode is invalid in some way. It
should be cleared when fsck(1M) is run.
Page 1 Reliant UNIX 5.44 Printed 11/98
inode(4-vxfs) (VxFS) inode(4-vxfs)
VXAFNOEXTEND
If this flag is set, the file may not be extended once the
current reservation is exceeded. The reservation may be
increased by the VXSETEXT ioctl, but the file will not be
extended automatically.
VXAFALIGN
If this flag is set, the file must be allocated in extents
of a fixed size and alignment. If an extent of ifixextsize
blocks aligned on an ifixextsize boundary cannot be found,
then the allocation will fail. The alignment is relative to
the beginning of the allocation unit.
VXAFNOGROW
If this flag is set, the file may not be extended once the
current reservation is exceeded. It should be cleared on
truncation or when setext(1) is run. This flag is usually
set because an I/O error occurs while extending a file.
iorgtype
Mapping type. Indicates how the inode mapping area is to be
interpreted. Currently there are two mapping types supported:
IORGEXT4 Mapping area consists of an array of 32 bit extent
block addresses and sizes.
IORGIMMED Mapping area itself is a data block. This mapping is
referred to as Immediate Inode Data.
ieopflags
Extended inode operation flag area.
ieopdata
Extended inode operation data area.
Page 2 Reliant UNIX 5.44 Printed 11/98
inode(4-vxfs) (VxFS) inode(4-vxfs)
iftarea
This is a union. The contents are determined by file type.
For devices, the following field is supported:
irdev The device number of a block or character special
device.
For directories, the following field is supported:
idotdot The parent directory inode number if the inode is a
directory. This replaces the standard ".." entry in
the first directory block. The Veritas file system
does not have explicit "." and ".." entries.
For regular files, the following fields are supported:
ireserve The number of data blocks reserved for exclusive use
by the file (preallocation). A preallocation may be
requested using ioctl(2).
ifixextsize
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(2) [see vxfsio(7)].
iblocks
The number of blocks currently allocated to the file, including
any blocks allocated for indirect address extents.
igen
The generation number. A serial number which is incremented when-
ever the inode is freed and reallocated. It is designed to pro-
vide a "handle" for stateless servers, such as NFS.
iserial
A count of the number of times the inode metadata has been modi-
fied. This field is a 64-bit number.
icorg
The mapping area. This field is a union based on the value of
iorgtype and the file system type.
For the VxFS IORGIMMED organization type, the following struc-
ture is used:
iimmed The immediate inode data area, NIMMEDN (currently
96) bytes in length (see fsimmedlen). Any directory
or symbolic link which is <= 96 bytes in length will
be stored directly in the inode.
Page 3 Reliant UNIX 5.44 Printed 11/98
inode(4-vxfs) (VxFS) inode(4-vxfs)
For the VxFS IORGEXT4 organization type the following structure
is used:
ispare Four bytes of padding, not used.
iies Indirect extent size. This is the size in bytes of
the indirect data extents in the file.
iie Array of indirect address extents. There are NIADDR
(currently 2) indirect address extents. The indirect
address extents are 8192 bytes long. Each indirect
address extent may contain up to 2048 extent
addresses. The first indirect address extent is used
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 indirection, each entry in the
indirect address extent indicates the starting block
number of a single indirect address extent.
idext An array of structures containing the direct extent
addresses and sizes. Up to NDADDRN (currently ten)
direct extents are supported. Since a variable length
extent allocation policy is used, each direct extent
may have a different size. Each structure contains
the following elements:
ide Direct extent address.
ides Direct extent size.
reserved
There are 80 bytes reserved for future use.
SEE ALSO
stat(2), fs(4-vxfs), types(5).
Page 4 Reliant UNIX 5.44 Printed 11/98