*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->HP-UX 11i man pages -> fsdb_vxfs (1m)              
Title
Content
Arch
Section
 

Contents


 fsdb_vxfs(1M)                                                 fsdb_vxfs(1M)




 NAME    [Toc]    [Back]
      fsdb_vxfs: fsdb - VxFS file system debugger

 SYNOPSIS    [Toc]    [Back]
      fsdb [-F vxfs] [-z inumber] special

 DESCRIPTION    [Toc]    [Back]
      fsdb can analyze VxFS file system problems or repair a damaged VxFS
      file system after a crash.  A special device special specifies the
      file system to debug.  The fsdb command is intended for experienced
      users only.

      fsdb can convert block and inumbers into their corresponding disk
      addresses.  In addition, mnemonic offsets allow access to different
      parts of an inode.  These greatly simplify the process of correcting
      control block entries or descending the file system tree.

      By default, numbers are considered decimal.  You must prefix octal
      numbers with 0, and prefix hexadecimal numbers with 0x.  When using
      hexadecimal numbers, it is preferable to follow the number with a
      space, because several commands are letters that are also hexadecimal
      digits.  In this document a pound sign (#) indicates that a number is
      to be specified.

      fsdb reads a block at a time and works with raw and block I/O.  All
      I/O is unbuffered, so changes made to the file system are immediate
      and changes made by other processes or by the kernel are immediately
      seen by fsdb.

    Options    [Toc]    [Back]
      fsdb recognizes the following options:

           generic_options
                          Supported by the generic fsdb command.  See
                          fsdb(1M).

           -F vxfs        Specify the VxFS file-system type.

           -z inumber     Clear the inode identified by inumber (noninteractive).
  Multiple -z options accumulate.

    Operands    [Toc]    [Back]
      fsdb recognizes the following operand:

           special        Name of the special device that contains the VxFS
                          file system to debug.

    Using Commands and Symbols    [Toc]    [Back]
      It is best to separate each token on a command line with a space.
      Although the command parser does not require element separation, there
      is no ambiguity in the command language if each token is separated



 Hewlett-Packard Company            - 1 -   HP-UX 11i Version 2: August 2003






 fsdb_vxfs(1M)                                                 fsdb_vxfs(1M)




      with a space.  For example, the command 0x23b b sets the current
      position to block 0x23b hexadecimal.  The command 0x23bb is invalid,
      because the command is parsed as simply a hexadecimal number.  The
      command 23b positions to block 23 decimal, since the command is not
      ambiguous.

      You can separate commands with new lines.  You can put multiple
      commands on one line and separate them with a dot (.) or a semicolon
      (;) If multiple commands are placed on one line, generally only the
      last command displays results.  This allows positioning commands to be
      followed by printing commands or change commands without intermediate
      printing.

    Symbols for the fsdb Command    [Toc]    [Back]
      The following symbols are recognized by the fsdb command:

           h[mod|print]   Print summary of commands that display
                          [modify|format] the file system.

           ?[mod|print]   Print summary of commands that display
                          [modify|format] the file system.

           help[mod|print]
                          Print summary of commands that display
                          [modify|format] the file system.

           !              Escape to shell.

           |              Pipe output of fsdb to a shell command.

           q              Quit.

           string         A character string.  Inside a character string, a
                          NULL character can be specified with ``\0''; a
                          double quote can be specified with ``\"''; and a
                          backslash can be specified with ``\\ ''.

           + - * / %      Add, subtract, multiply, divide, and modulus.

           =              Assignment

           i              An inode in the primary inode list.

           ai             An inode in the attribute inode list.

           au             An allocation unit.

           b              A block.

           im             The immediate data area of an inode.  Small
                          directories and symbolic link files (96 bytes or



 Hewlett-Packard Company            - 2 -   HP-UX 11i Version 2: August 2003






 fsdb_vxfs(1M)                                                 fsdb_vxfs(1M)




                          less) are stored directly in the inode itself, in
                          the area normally occupied by data block numbers
                          and extent sizes.

           attr           An attribute inode.

           cdb            Current directory block.

           d              A directory entry.

           a              An inode address entry.

           B              A byte.

           H              A half-word (2 bytes)

           W              A word (4 bytes)

           D              A double-word (8 bytes)

           p              General print facility

           calc           Simple calculator and base converter

           find           Find a matching pattern in the file system

           fset           A fileset.

           iau            An inode allocation unit in the primary inode
                          list.

           aiau           An inode allocation unit in the attribute inode
                          list.

           cut            The current usage table.

           olt            The object location table.

           mapi           Map logical file offset to an inode extent.

           reset          Reset device.

    Print Facility Print Formats    [Toc]    [Back]
      The print facility recognizes the following print formats:

           S              Print as a super-block.

           A              Print as an allocation-unit header.

           AS             Print as an auxiliary super-block.




 Hewlett-Packard Company            - 3 -   HP-UX 11i Version 2: August 2003






 fsdb_vxfs(1M)                                                 fsdb_vxfs(1M)




           L              Print as intent-log records.

           I              Print as inodes.

           ST             List state table blocks.

           T              Print as typed extent descriptors.

           dent           Print as directory entries.

           db             Print as a directory block.

           dh             Print as a directory header.

           o              Print as octal words.

           oB oH oW oD    Print as octal bytes, half-words, words, or
                          double-words.

           x              Print as hexadecimal words.

           xB xH xW xD    Print as hexadecimal bytes, half-words, words, or
                          double-words.

           e              Print as decimal words.

           eB eH eW eD    Print as decimal bytes, half-words, words, or
                          double-words.

           u              Print as unsigned words.

           uB uH uW uD    Print as unsigned bytes, half-words, words, or
                          double-words.

           c              Print as characters.

           F              Print as fileset headers.

           C              Print as current usage table entries.

           IA             Print as an inode allocation unit header.

           oltext         Print as an object location table extent.

           Q              Prints as a BSD quota record.

           DV             Print as a device record.

    Symbols in Inode Fields    [Toc]    [Back]
      Changes to inode fields can be made symbolically.  The following
      symbols represent inode fields:



 Hewlett-Packard Company            - 4 -   HP-UX 11i Version 2: August 2003






 fsdb_vxfs(1M)                                                 fsdb_vxfs(1M)




           md             Inode mode field

           ln             Inode link count field

           uid            Inode user ID Number field

           gid            Inode group ID Number field

           szlo           Low-order word of inode file size field

           szhi           High-order word of inode file size field

           sz             Inode file size field

           de#            Inode direct extent data block numbers (0 - 9)

           des#           Inode direct extent sizes (0 - 9)

           ie#            Inode indirect extent data block numbers (0 - 1)

           ies            Inode indirect extent size

           at             Inode access time field (seconds)

           ats            Inode access time field (microseconds).

           ct             Inode change time field (seconds).

           cts            Inode change time field (microseconds).

           mt             Inode modification time field (seconds).

           mts            Inode modification time field (microseconds).

           af             Inode allocation flags field.

           gen            Inode generation count field.

           org            Inode mapping type field.

           fe             Inode fixed extent size field.

           bl             Inode blocks held field.

           eopflg         Inode extended operation flag field.

           eopdat         Inode extended operation data field.

           rdev           If device, inode device number.





 Hewlett-Packard Company            - 5 -   HP-UX 11i Version 2: August 2003






 fsdb_vxfs(1M)                                                 fsdb_vxfs(1M)




           maj            If device, inode major number.

           min            If device, inode minor number.

           pd             If directory, inode parent directory.

           res            If regular file, inode reservation.

           verhi          Inode high-order word of serial number.

           verlo          Inode low-order word of serial number.

           fsindex        Referencing fileset ID.

           matching       Inode number of matching inode.

           iano           Indirect attribute inode.

    Symbols for Directory Block Fields    [Toc]    [Back]
      Changes to directory block fields can be made symbolically.  The
      following symbols represent directory block fields:

           tfree          Total free space (only if in a data block).

           hash#          Hash chain start (0 through  31, only if in a data
                          block).

           d#             Directory entry (variable number of entries).

           nhash          Number of hash chains.

    Symbols for Directory Entry Fields    [Toc]    [Back]
      Changes to directory entry fields can be made symbolically.  The
      following symbols represent directory entry fields:

           ino            Inode number

           nm             Entry name

           nmlen          Name length

           reclen         Record length (only if in a data block)

           hnext          Name hash next (only if in a data block)

    Positions in File Systems and Positioning Commands    [Toc]    [Back]
      fsdb maintains several positions in the file system:

           +  current position





 Hewlett-Packard Company            - 6 -   HP-UX 11i Version 2: August 2003






 fsdb_vxfs(1M)                                                 fsdb_vxfs(1M)




           +  current primary-inode position (i)

           +  current attribute-inode position (ai)

           +  current inode type (i or ai)

           +  current fileset-header position (fset)

           +  current allocation-unit position (au)

           +  current primary-inode allocation-unit (iau) position

           +  current inode allocation-unit type (iau or aiau)

           +  current attribute-inode allocation-unit (aiau) position

      These are used by various fsdb commands.  (The au positions are only
      supported on the Version 2 disk layout.)

      The following commands are supported:

           # B|H|W|D      Set the current position in the file system to the
                          specified offset in bytes, half-words, words, or
                          double-words.  If it is the last command on a
                          line, print the byte, half-word, word, or doublewords
 in hexadecimal.

           +|- # B|H|W|D  Set the current position to the specified relative
                          offset in bytes, half-words, words, or doublewords.
  If it is the last command on a line, print
                          the byte, half-word, word, or double-words in
                          hexadecimal.

           # au           Set the current position in the file system to the
                          specified allocation unit (au) position.  Set the
                          current allocation unit position to the resulting
                          offset.  If it is the last command on a line,
                          print the allocation unit header.

           +|- # au       Set the current position in the file system to the
                          specified position relative to the current
                          allocation unit (au) position.  Set the current
                          allocation unit position to the resulting offset.
                          If it is the last command on a line, print the
                          allocation unit header.

           au             Set the current position in the file system to the
                          current allocation unit position.  If it is the
                          last command on a line, print the allocation unit
                          header.




 Hewlett-Packard Company            - 7 -   HP-UX 11i Version 2: August 2003






 fsdb_vxfs(1M)                                                 fsdb_vxfs(1M)




           # b            Set the current position in the file system to the
                          specified offset in blocks.  Set the current block
                          position to the resulting offset.  The block size
                          is the block size of the file system.  If it is
                          the last command on a line, print the first word
                          in the block in hexadecimal.

           +|- # b        Set the current position to specified relative
                          offset in blocks.  Set the current block position
                          to the resulting offset.  If it is the last
                          command on a line, print the first word in the
                          block in hexadecimal.

           b              Set the current position to current block position
                          (the block specified by the last [+|-] # b
                          operation).  If it is the last command on a line,
                          print the first word in the block in hexadecimal.

           cut            Set the current position to the current usage
                          table (cut).  If it is the last command on a line,
                          print the first current usage table entry.

           dev            Set the current position to the primary device's
                          configuration record.  If it is the last command
                          on a line, print the device-configuration record.

           # fset         Set the current position in the file system to the
                          fileset header entry for the specified fileset
                          index.  Set the current fileset position to the
                          resulting offset.  If it is the last command on a
                          line, print the specified fileset header.

           +|- # fset     Set the current position in the file system to the
                          fileset header entry for the specified position
                          relative to the current fileset position.  Set the
                          current fileset position to resulting offset.  If
                          it is the last command on a line, print the
                          specified fileset header.

           fset           Set the current position in the file system to the
                          current fileset position.  If it is the last
                          command on a line, print the fileset header for
                          the current fileset.

           # aiau         Set the current position in the file system to the
                          specified attribute inode allocation unit (aiau)
                          in a fileset. Set the current attribute inode
                          allocation unit position to the resulting offset.
                          If it is the last command on a line, print the
                          attribute inode allocation unit header.




 Hewlett-Packard Company            - 8 -   HP-UX 11i Version 2: August 2003






 fsdb_vxfs(1M)                                                 fsdb_vxfs(1M)




           +|- # aiau     Set the current position in the file system to the
                          specified position relative to the current
                          attribute inode allocation unit (aiau) position.
                          Set the current attribute inode allocation unit
                          position to the resulting offset.  If it is the
                          last command on a line, print the attribute inode
                          allocation unit header.

           aiau           Set the current position in the file system to the
                          current attribute inode allocation unit (aiau)
                          position.  If it is the last command on a line,
                          print the attribute inode allocation unit header.

           # iau          Set the current position in the file system to the
                          specified inode allocation unit (iau) in a
                          fileset.  Set the current inode allocation unit
                          position to the resulting offset.  If it is the
                          last command on a line, print the inode allocation
                          unit header.

           +|- # iau      Set the current position in the file system to the
                          specified position relative to the current inode
                          allocation unit (iau) position.  Set the current
                          inode allocation unit position to the resulting
                          offset.  If it is the last command on a line,
                          print the inode allocation unit header.

           iau            Set the current position in the file system to the
                          current inode allocation unit (iau) position.  If
                          it is the last command on a line, print the inode
                          allocation unit header.

           # ai           Set the current position in the current fileset to
                          the ilist entry for the specified attribute inode.
                          Set the current attribute inode position to the
                          resulting offset.  If it is the last command on a
                          line, print the ilist entry for the inode.

           +|- # ai       Set the current position in the current fileset to
                          the ilist entry for the specified relative
                          attribute inode.  Set the current attribute inode
                          position to the resulting offset.  If it is the
                          last command on a line, print the ilist entry for
                          the inode.

           ai             Set the current position in the current fileset to
                          the current attribute inode position.  If it is
                          the last command on a line, print the ilist entry
                          for the inode.





 Hewlett-Packard Company            - 9 -   HP-UX 11i Version 2: August 2003






 fsdb_vxfs(1M)                                                 fsdb_vxfs(1M)




           # i            Set the current position in the current fileset to
                          the ilist entry for the specified inode.  Set the
                          current inode position to the resulting offset.
                          If it is the last command on a line, print the
                          ilist entry for the inode.

           +|- # i        Set the current position in the current fileset to
                          the ilist entry for the specified relative inode.
                          Set the current inode position to the resulting
                          offset.  If it is the last command on a line,
                          print the ilist entry for the inode.

           i              Set the current position in the current fileset to
                          the current inode position.  If it is the last
                          command on a line, print the ilist entry for the
                          inode.

           a#             Set the current position to specified offset in
                          blocks specified by the inode address #.
                          Addresses 0 through 9 are for direct extents ( de
                          ).  Addresses 10-11 are for indirect extents ( ie
                          ).  The addresses are displayed when printing an
                          ilist entry.  Set the current block position to
                          the resulting offset.  If it is the last command
                          on a line, print the first word in the block in
                          hexadecimal.

           im             Set the current position to immediate data area of
                          the current inode.  Set the current block position
                          to the resulting offset.  If it is the last
                          command on a line, print the first word of the
                          area in hexadecimal.

           attr           Set the current position to attribute data area of
                          the current inode.  Set the current block position
                          to the resulting offset.  If it is the last
                          command on a line, print the first word in the
                          block in hexadecimal.

           # B|H|W|D =# [#]
                          Set the current position and change the number at
                          the specified offset to the given number.  If a
                          double-word offset is specified, then two numbers
                          separated by a space are required.  The resulting
                          value is printed in hexadecimal.

           +|-# B|H|W|D =# [#]
                          Set the current position and change the number at
                          the specified relative offset to the given number.
                          If a double-word offset is specified, then two
                          numbers separated by a space are required.  The



 Hewlett-Packard Company           - 10 -   HP-UX 11i Version 2: August 2003






 fsdb_vxfs(1M)                                                 fsdb_vxfs(1M)




                          resulting value is printed in hexadecimal.

           # B|H|W|D = string
                          Set the current position and change the characters
                          at the specified offset to the given string.  The
                          resulting value is printed as a character string.

           +|-  # B|H|W|D = string
                          Set the current position and change the characters
                          at the specified relative offset to the given
                          string.  The resulting value is printed as a
                          character string.

           olt            Set the current position to the object location
                          table (olt).  If it is the last command on a line,
                          print the object location table.

           p [#] format   Print the contents of the file system at the
                          current offset as the specified number of entries
                          of a given format.  The allowable print formats
                          are specified above.  If a number of entries to
                          print is not specified, one entry is printed.

           inode_field = #
                          Set the contents of the given inode field to the
                          specified number.  The current inode specifies the
                          inode list entry to be modified.  The symbols
                          representing inode fields are listed above.

           directory_block_field = #
                          Set the contents of the given directory block
                          field to the specified number.  The current block
                          is treated as a directory block and the offset in
                          that block which is represented by the given field
                          is changed.  The symbols representing directory
                          block fields are listed above.

           d#             Set the current directory entry to the specified
                          number.  The current block is treated as a
                          directory block.  If the current block is an
                          immediate data area for an inode, then the block
                          is treated as containing immediate directory
                          entries.  If it is the last command on a line, the
                          directory entry at the resulting offset is
                          printed.

           directory_entry_field = #
                          Set the contents of the given directory field to
                          the specified number.  The current directory entry
                          specifies where the directory entry is located.
                          The resulting value is printed in hexadecimal.



 Hewlett-Packard Company           - 11 -   HP-UX 11i Version 2: August 2003






 fsdb_vxfs(1M)                                                 fsdb_vxfs(1M)




           nm = string    Set the directory name field of the current
                          directory entry to the specified string.  The
                          resulting value is printed as a character string.

           calc # [+|-|*|/ #]
                          Take a number or the sum, difference, product or
                          dividend of two numbers and print in decimal,
                          octal, hexadecimal and character format.

           find # B|H|W|D [#]
                          Search for the given numeric pattern in the file
                          system.  The size of the object to match is
                          specified.  If a double-word is specified, then
                          two numbers must be given.  The search is
                          performed forward from the current offset.  A
                          maximum number of blocks to search can be
                          specified.  If found, the location and value are
                          printed in hexadecimal.

           find string [#]
                          Search for the given character string in the file
                          system.  The search is performed forward from the
                          current offset.  A maximum number of blocks to
                          search can be specified.  If found the location
                          and string are printed.

           fmtlog         Format all intent log entries. A completely
                          formatted intent log can be quite lengthy. It is a
                          good idea use the fsdb command as a filter and
                          redirect the output to a file or pager to look at
                          a complete log format.

           listfset       List all filesets by their indexes and names.

           mapi #         Treat the number as a logical offset in the file
                          described by the current inode, and print the
                          extent that it maps to.

           reset          Does the equivalent of exiting fsdb and restarting
                          on same device.

    Help Commands    [Toc]    [Back]
      The following help commands are supported:

           h|help         Display primary help screen.

           h mod          Display modification-commands help screen.

           h print        Display print-commands help screen.





 Hewlett-Packard Company           - 12 -   HP-UX 11i Version 2: August 2003






 fsdb_vxfs(1M)                                                 fsdb_vxfs(1M)




 EXAMPLES    [Toc]    [Back]
      386i           Prints inumber 386 in an inode format.  This now
                     becomes the current working inode.

      ln=4           Changes the link count for the working inode to 4.

      8192B.p S      Prints the super-block of this file system
                     symbolically.

      d7.nm = foo    Changes the name field in the directory slot to foo.

      2i.a0.d7.ino = 3
                     Changes the inumber for the seventh directory slot in
                     the root directory to three (also shows how to combine
                     several operations on one command line)

      23i.im.d5      Prints the sixth directory entry in the immediate area
                     of inode 23.

 WARNINGS    [Toc]    [Back]
      Always run a file system check (see fsck(1M)) after using the fsdb
      command to modify a file system. (Use fsck -o full,nolog.)

      Some aspects of fsdb apply to a specific VxFS disk layout version.

 SEE ALSO    [Toc]    [Back]
      fsck_vxfs(1M), fsdb(1M).


 Hewlett-Packard Company           - 13 -   HP-UX 11i Version 2: August 2003
[ Back ]
      
      
 Similar pages
Name OS Title
vxfsconvert HP-UX convert a file system to a vxfs file system or upgrade a VxFS disk layout version.
fsdb_hfs HP-UX HFS file system debugger
fsdb Tru64 File system debugger
fsdb HP-UX file system debugger (generic)
debugfs Linux ext2 file system debugger
fscat HP-UX cat a VxFS file system
fscat_vxfs HP-UX cat a VxFS file system
ff_vxfs HP-UX fast find: list file names and statistics for a VxFS file system
vxtunefs HP-UX tune a VxFS File System
newfs_vxfs HP-UX create a new VxFS file system
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service