Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ fsdb_s5(1M) — Amiga System V Release 4 Version 2.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

fsck(1M)

fsdb(1M)

fsdb(1M)

dir(4)

fs(4)



fsdb(1M)          MISC. REFERENCE MANUAL PAGES           fsdb(1M)



NAME
     fsdb (s5) - s5 file system debugger

SYNOPSIS
     fsdb [-F s5] [generic_options] [-z i-number]  special [-]

DESCRIPTION
     generic_options are options supported by  the  generic  fsdb
     command.

     fsdb can be used to patch up a damaged s5 file system  after
     a  crash.   It  has  conversions  to  translate block and i-
     numbers  into  their  corresponding  disk  addresses.   Also
     included  are  mnemonic offsets to access different parts of
     an i-node.  These greatly simplify the process of correcting
     control block entries or descending the file system tree.

     fsdb contains several error-checking routines to  verify  i-
     node  and  block addresses.  These can be disabled if neces-
     sary by invoking fsdb with the optional - argument or by the
     use  of  the  O  symbol.   (fsdb reads the i-size and f-size
     entries from the superblock of the file system as the  basis
     for these checks.)  The options are:

          -F s5         Specifies the s5-FSType.

          -z i-number   Clear the i-node identified by  i-number.
                        Non-interactive.

     Numbers are considered decimal by  default.   Octal  numbers
     must  be prefixed with a zero.  During any assignment opera-
     tion, numbers are checked for a  possible  truncation  error
     due to a size mismatch between source and destination.

     fsdb reads a block at a time and will  therefore  work  with
     raw  as  well  as  block I/O. A buffer management routine is
     used to retain commonly used blocks  of  data  in  order  to
     reduce  the  number  of  read  system calls.  All assignment
     operations result  in  an  immediate  write-through  of  the
     corresponding block.

     The symbols recognized by fsdb are:
          #            absolute address
          i            convert from i-number to i-node address
          b            convert to block address
          d            directory slot offset
          + , -        address arithmetic
          q            quit
          > , <        save, restore an address
          =            numerical assignment
          =+           incremental assignment
          =-           decremental assignment



                         Last change: s5                        1





fsdb(1M)          MISC. REFERENCE MANUAL PAGES           fsdb(1M)



          ="           character string assignment
          O            error checking flip flop
          p            general print facilities
          f            file print facility
          B            byte mode
          W            word mode
          D            double word mode
          !            escape to shell

     The print facilities generate a formatted output in  various
     styles.  The current address is normalized to an appropriate
     boundary before  printing  begins.   It  advances  with  the
     printing  and  is  left  at  the  address  of  the last item
     printed.  The output can be terminated at any time by typing
     the  delete  character.   If  a number follows the p symbol,
     that many entries are printed.  A check is  made  to  detect
     block  boundary  overflows since logically sequential blocks
     are generally not physically sequential.  If a count of zero
     is  used,  all  entries  to the end of the current block are
     printed.  The print options available are:
          i            print as i-nodes
          d            print as directories
          o            print as octal words
          e            print as decimal words
          c            print as characters
          b            print as octal bytes

     The f symbol is  used to print data blocks  associated  with
     the  current i-node.  If followed by a number, that block of
     the file is printed.  (Blocks are numbered from zero.)   The
     desired  print  option  letter  follows the block number, if
     present, or the f symbol.  This  print  facility  works  for
     small as well as large files.  It checks for special devices
     and that the block pointers used to find the  data  are  not
     zero.

     Dots, tabs, and spaces may be used  as  function  delimiters
     but  are not necessary.  A line with just a new-line charac-
     ter will increment the current address by the  size  of  the
     data  type last printed.  That is, the address is set to the
     next byte, word, double word,  directory  entry  or  i-node,
     allowing the user to step through a region of a file system.
     Information is printed in a format appropriate to  the  data
     type.   Bytes, words and double words are displayed with the
     octal address followed by the value in octal and decimal.  A
     .B or .D is appended to the address for byte and double word
     values, respectively.  Directories are printed as  a  direc-
     tory  slot  offset  followed by the decimal i-number and the
     character representation of the  entry  name.   I-nodes  are
     printed with labeled fields describing each element.





                         Last change: s5                        2





fsdb(1M)          MISC. REFERENCE MANUAL PAGES           fsdb(1M)



     The following mnemonics are used for i-node examination  and
     refer to the current working i-node:
          md           mode
          ln           link count
          uid          user ID number
          gid          group ID number
          sz           file size
          a #          data block numbers (0 - 12)
          at           access time
          mt           modification time
          maj          major device number
          min          minor device number

EXAMPLES
     386i            prints i-number 386  in  an  i-node  format.
                     This now becomes the current working i-node.

     ln=4            changes the link count for  the  working  i-
                     node to 4.

     ln=+1           increments the link count by 1.

     fc              prints, in ASCII, block  zero  of  the  file
                     associated with the working i-node.

     2i.fd           prints the first 32  directory  entries  for
                     the root i-node of this file system.

     d5i.fc          changes the current i-node to  that  associ-
                     ated  with the 5th directory entry (numbered
                     from zero) found  from  the  above  command.
                     The  first logical block of the file is then
                     printed in ASCII.

     512B.p0o        prints the superblock of this file system in
                     octal.

     2i.a0b.d7=3     changes the i-number for the seventh  direc-
                     tory  slot in the root directory to 3.  This
                     example also shows  how  several  operations
                     can be combined on one command line.

     d7.nm="name"    changes the name field in the directory slot
                     to  the  given  string.  Quotes are optional
                     when used with nm if the first character  is
                     alphabetic.

     a2b.p0d         prints the third block of the current i-node
                     as directory entries.

SEE ALSO
     fsck(1M), generic fsdb(1M).



                         Last change: s5                        3





fsdb(1M)          MISC. REFERENCE MANUAL PAGES           fsdb(1M)



     dir(4), fs(4) in the Programmers Reference Manual






















































                         Last change: s5                        4



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