Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ inode_vxfs(4-vxfs) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

stat(2)

fs(4-vxfs)

types(5)

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

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026