Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

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

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

fsck(1M)

fsdb(1M)

mkfs(1M)

mount(2)

inode(4-vxfs)

fs(4-vxfs)                         (VxFS)                        fs(4-vxfs)

NAME
     fs (vxfs) - format of a Veritas File System volume (VxFS)

SYNOPSIS
     #include <sys/types.h>
     #include <sys/param.h>
     #include <sys/fs/vxfs.h>

DESCRIPTION
     The Veritas File System (VxFS) super-block always begins at byte
     offset 1024 from the start of the file system. The super-block loca-
     tion is fixed so utilities know where to look for it.

     The super-block contains the following fundamental sizes and offsets:

     fsmagic
          The magic number for the file system (VXMAGIC). This number
          identifies the file system as being a Veritas FSType.

     fsversion
          The version number of the file system layout (VXVERSION),
          currently 1.

     fsctime
          The creation date of the file system. The time(2) system call
          supplies the time.

     fsectime
          This field is a placeholder in instances when the creation date
          for a file system is expanded for more precision. It currently is
          zero.

     fsobsolete1
          Empty placeholder.

     fsobsolete2
          Empty placeholder.

     fslogstart
          The block address of the first Log Area block. It currently is 2.

     fslogend
          The block address of the last Log Area block. The Log Area size,
          in blocks, may be specified as part of mkfs(1M). If not speci-
          fied, a default of 256 blocks is used. A minimum size of 32
          blocks is enforced.

     fsbsize
          The block size of the file system. The current choices are 1024,
          2048, 4096, and 8192 bytes.





Page 1                       Reliant UNIX 5.44                Printed 11/98

fs(4-vxfs)                         (VxFS)                        fs(4-vxfs)

     fssize
          The number of blocks in the file system, expressed as the number
          of blocks of size fsbsize. The fssize field is a signed 32 bit
          number. The maximum number of blocks in a Veritas file system is
          limited to 31 bits.

     fsdsize
          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.

     fsninode
          The number of inodes in the file system which is subject to the
          following rules:

          -  The fsninode field is assigned 32 bit number.

          -  The number of inodes is rounded down such that the inode list
             in each allocation unit is an integral number of inode list
             blocks (see fsilbsize).

          -  The number of inodes may be specified as part of mkfs(1M). If
             not specified, the default will be fsdsize divided by 4.

     fsnau
          The number of allocation units in the file system. The number of
          allocation units may be specified as part of mkfs(1M). If not
          specified, the default will be fssize rounded to the next
          highest 32K block boundary, divided by 32K.

     fsdefiextsize
          The default size for indirect data extents, expressed in blocks.
          The default size for indirect data extents may be specified as
          part of mkfs(1M). If not specified, a default of 64 blocks is
          used.

     fsilbsize
          The size of an inode list block, expressed in bytes. This size
          may be specified as part of mkfs(1M). If not specified, the max-
          imum of 2KB or fsbsize is used as the default.

     fsimmedlen
          The size, in bytes, of the immediate data area in each inode.
          This value is 96 for the Veritas file system, version 1.

     fsndaddr
          The number of direct extents supported by the VXEXT4 mapping
          type (see the section describing inode list). This value is 10
          for the Veritas file system version 1.






Page 2                       Reliant UNIX 5.44                Printed 11/98

fs(4-vxfs)                         (VxFS)                        fs(4-vxfs)

     The preceding fields define the size and make up of the file system.
     To reduce the calculations required in utilities, a number of values
     are derived from the fundamental values and placed in the super-block.

     The super-block contains the following derived offsets:

     fsaufirst
          The address, in blocks, of the first allocation unit. There can
          be a gap between the end of the intent log and the first alloca-
          tion unit. This gap could be used to align the first allocation
          unit on a desired boundary.

     fsemap
          The offset, in blocks, of the free extent map (emap) from the
          start of an allocation unit.

     fsimap
          The offset, in blocks, of the free inode map (imap) from the
          start of an allocation unit.

     fsiextop
          The offset, in blocks, of the extended inode operation map from
          the start of an allocation unit.

     fsistart
          The offset, in blocks, of the inode list (ilist) from the start
          of an allocation unit.

     fsbstart
          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.

     fsfemap
          The offset, in blocks, of the first free extent map (emap) from
          the start of the file system.

     fsfimap
          The offset, in blocks, of the first free inode map (imap) from
          the start of the file system.

     fsfiextop
          The offset, in blocks, of the first extended inode operation map
          from the start of the file system.

     fsfistart
          The offset, in blocks, of the first ilist from the start of the
          file system.

     fsfbstart
          The offset, in blocks, of the first data block from the start of
          the file system.


Page 3                       Reliant UNIX 5.44                Printed 11/98

fs(4-vxfs)                         (VxFS)                        fs(4-vxfs)

     fsnindir
          The number of entries in an indirect address extent. An indirect
          address extent is currently 8192 bytes in length, making the
          current value for fsnindir 2048.

     fsaulen
          The length of an allocation unit in blocks.

     fsauimlen
          The length of a free inode map in blocks.

     fsauemlen
          The length of a free extent map in blocks.

     fsailen
          The length, in blocks, of the inode list for this allocation
          unit.

     fsaupad
          The length, in blocks, of the allocation unit alignment padding.

     fsaublocks
          The number of data blocks in an allocation unit.

     fsmaxtier
          The log base 2 of fsaublocks.

     fsinopb
          The number of inode entries per fsbsize block in the inode list.

     fsinopau
          The number of inodes in an allocation unit.

     fsinopilb
          The number of inode entries per fsilbsize block in the inode
          list.

     fsndiripau
          Expected number of directory inodes per allocation unit.

     fsiaddrlen
          The size, in blocks, of an indirect address block. An indirect
          address block is 8K bytes. This field will be set to
          (8K/fsbsize).

     fsbshift
          The log base 2 of fsbsize. Used to convert a byte offset into a
          block offset.

     fsinoshift
          The log base 2 of fsinopb. Used to convert an inode number into
          a block offset in the inode list.


Page 4                       Reliant UNIX 5.44                Printed 11/98

fs(4-vxfs)                         (VxFS)                        fs(4-vxfs)

     fsbmask
          A mask value such that (byteoffset and fsbmask) rounds the
          offset to the nearest smaller block boundary.

     fsboffmask
          A mask value such that (byteoffset and fsboffmask) yields the
          offset from the start of the nearest smaller block boundary.

     fsinomask
          A mask value such that (inodenumber and fsinomask) yields the
          offset from the start of the containing inode list block of the
          corresponding inode list entry.

     fschecksum
          A simple checksum of the above fields. A macro, VXFSCHECKSUM, is
          provided to verify or calculate the checksum.

     The above fields, which are initialized when the file system is
     created, do not change unless the file system is enlarged. These
     fields are replicated in each allocation unit header.

     There are additional fields which are considered to be dynamic:

     fsfree
          The current number of free data blocks.

     fsifree
          The current number of free inodes.

     fsefree
          An array of the current number of free extents of each extent
          size in the file system.

     fsflags
          The following flags are recognized:

          VXFULLFSCK
               Set when a file system requires a full structural check to
               recover from an error. If this flag is set, a full check
               will be performed after the replay recovery is finished.

          VXNOLOG
               Set when the file system was mounted with the VXMSNOLOG
               option. If this flag is set, then no log replay recovery
               will be performed.

          VXLOGBAD
               Set when an I/O error has invalidated the log. If this flag
               is set, then no log replay recovery will be performed.





Page 5                       Reliant UNIX 5.44                Printed 11/98

fs(4-vxfs)                         (VxFS)                        fs(4-vxfs)

          VXLOGRESET
               Set when the log ID runs over VXMAXLOGID (2^30). The log ID
               will be reset at the next appropriate opportunity (such as a
               mount or 60-second sync).

          VXRESIZE
               Set when a file system expansion is in progress. If an
               fsck(1M) sees this flag, it will have to perform resize
               recovery. Refer to fsadm(1M) for a description of file sys-
               tem expansion.

     fsmod
          Set whenever a mounted file system is modified. It is used to
          indicate if the super-block needs to be written when a sync
          operation is performed.

     fsclean
          Set to VXDIRTY when a file system is mounted for read/write
          access. Set to VXCLEAN upon umount(1M) or successful fsck(1M).
          The mount(1M) utility will not allow a file system to be mounted
          for read/write if the fsclean field is VXDIRTY.

     fsreserved
          Reserved for future use.

     fsfirstlogid
          Starting intent log ID to use when the file system is next
          mounted.

     fstime
          Last time the super-block was written to disk. This field is in
          the same format as fsctime.

     fsetime
          Spare for when time becomes 8 bytes.

     fsfname
          File system name (6 characters).

     fsfpack
          File system pack label (6 characters).

SEE ALSO
     fsck(1M), fsdb(1M), mkfs(1M), mount(2), inode(4-vxfs).










Page 6                       Reliant UNIX 5.44                Printed 11/98

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