Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ fsck(ADM) — OpenDesktop 1.1.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

autoboot(ADM)

fsdb(ADM)

checklist(F)

filesystem(F)

init(M)


     FSCK(ADM)                            UNIX System V



     Name
          fsck, dfsck - checks and repairs filesystems


     Syntax
          /etc/fsck [ options ] [ filesystem ] ...

          /etc/dfsck options1] filesys1 ... -[options2] filesys2 ...


     Description
          fsck   audits   and   interactively   repairs   inconsistent
          conditions for all supported filesystems.  If the filesystem
          is consistent, the the number of  files,  number  of  blocks
          used,  and  number  of  blocks  free  are  reported.  If the
          filesystem is inconsistent, the  operator  is  prompted  for
          concurrence  before each correction is attempted.  It should
          be noted that most corrective actions result in some loss of
          data.  The amount and severity of the loss may be determined
          from the diagnostic output.  (An  experienced  operator  can
          resolve   discrepancies   manually   using   fsdb(ADM),  the
          filesystem  debugger.)   The   default   action   for   each
          consistency  correction  is  to  wait  for  the  operator to
          respond ``yes'' or ``no''.  If the operator  does  not  have
          write  permission  fsck  defaults  to  the  action of the -n
          option.

          The following flags are interpreted by fsck:

          -b    (S51K and AFS filesystems only.) Reboot.  If the  file
                system  being  checked  is  the  root  file system and
                modifications have been made, then either remount  the
                root  file  system or reboot the system.  A remount is
                done only if there was minor damage.

          -C[clustersize]
                (S51K filesystems  only.)   Converts  the  named  S51K
                filesystem into an AFS (Acer Fast Filesystem).  The -s
                option must also be present.  The clustersize argument
                must  be  a  power  of  2  and  less than 16 (8 is the
                recommended value).  The increase  in  speed  that  is
                possible   with   a   fast   filesystem  will  not  be
                immediately apparent; it will take  affect  only  with
                the  new  files  added  to  the  filesystem.  There is
                little or no benefit in transforming a filesystem that
                is  nearly full; if it is within a few blocks of being
                full, the conversion will not work.  (This option  can
                only be used to convert an S51K fileystem.)

          -y    Assumes a yes response to all questions asked by fsck.

          -n    Assumes a no response to all questions asked by  fsck;
                do not open the filesystem for writing.

          -sb:c Ignores the actual  free  list  and  (unconditionally)
                reconstructs a new one by rewriting the super-block of
                the filesystem. The filesystem must be unmounted while
                this is done.

                The -sb:c option allows for creating an optimal  free-
                list organization.  The following forms are supported:
                  -s
                  -sBlocks-per-cylinder:Blocks-to-skip (filesystem interleave)
                    (for anything else)

                If b:c is not given, then the  values  used  when  the
                filesystem was created are used.  If these values were
                not specified, then  a  reasonable  default  value  is
                used.

          -S    Conditionally reconstructs the free list. This  option
                is  like  -sb:c  above  except  that  the free list is
                rebuilt only if there are no discrepancies  discovered
                in  the  filesystem. Using -S forces a ``no'' response
                to all questions asked by fsck.  This option is useful
                for forcing free list reorganization on uncontaminated
                filesystems.

          -t    If fsck  cannot  obtain  enough  memory  to  keep  its
                tables,  it  uses  a scratch file. If the -t option is
                specified, the file named in the next argument is used
                as the scratch file, if needed. Make certain you leave
                a space between the -t and the filename, or fsck  will
                use  the entire filesystem as a scratch file and erase
                the entire disk.  If you created a scratch  filesystem
                during  installation  then you can use /dev/scratch as
                the  filename,  provided  that  the  filesystem  being
                checked   is  no  larger  than  the  root  filesystem.
                Without the -t flag, fsck prompts the operator for the
                name  of  the scratch file. The file chosen should not
                be on the filesystem being checked, and if it is not a
                special  file  or did not already exist, it is removed
                when fsck completes.  If the system has a  large  hard
                disk   there  may  not  be  enough  space  on  another
                filesystem for the scratch file.  In  such  cases,  if
                the  system has a floppy drive, use a blank, formatted
                floppy in the floppy drive with (for example) /dev/fd0
                specified as the scratch file.

          -q    Quiet fsck.  Do not print size-check messages in Phase
                1.   Unreferenced  fifo5  files  will  selectively  be
                removed.   If  fsck  requires  it,   counts   in   the
                superblock  will  be  automatically fixed and the free
                list salvaged.

          -D    Directories are checked for bad blocks.  Useful  after
                system crashes.

          -f    Fast check.  Check block and sizes (Phase 1) and check
                the  free  list  (Phase  5).   The  free  list will be
                reconstructed (Phase 6) if it is necessary.

          -rr   (XENIX   filesystems   only.)   Recovers   the    root
                filesystem.   The  required  filesystem  argument must
                refer to the root filesystem, and  preferably  to  the
                block   device   (normally  /dev/root).   This  switch
                implies -y and overrides -n . If any modifications  to
                the  filesystem  are  required, the filesystem will be
                automatically mounted.

          If no filesystems  are  specified,  fsck  reads  a  list  of
          default filesystems from the file /etc/checklist.

          Inconsistencies checked are as follows:

           ⊕   Blocks claimed by more than one inode or the free list

           ⊕   Blocks claimed by an inode or the free list outside the
               range of the filesystem

           ⊕   Incorrect link counts

           ⊕   Size checks:
               Incorrect number of blocks
               Directory size not 16-byte aligned

           ⊕   Bad inode format

           ⊕   Blocks not accounted for anywhere

           ⊕   Directory checks:
               File pointing to unallocated inode
               Inode number out of range

           ⊕   Super block checks:
               More than 65536 inodes
               More blocks for inodes than there are in the filesystem

           ⊕   Bad free block list format

           ⊕   Total free block or free inode count incorrect

          Orphaned files and directories (allocated but  unreferenced)
          are, with the operator's concurrence, reconnected by placing
          them in the lost+found directory.  The name assigned is  the
          inode  number.   The  only restriction is that the directory
          lost+found must preexist in the root of the filesystem being
          checked  and  must  have empty slots in which entries can be
          made.  This is accomplished by making lost+found, copying  a
          number  of  files  to  the directory, and then removing them
          (before fsck is executed).

          dfsck allows two filesystem checks on two  different  drives
          simultaneously.   Options1  and  options2  are  used to pass
          options to fsck for the two sets of filesystems.  A - is the
          separator between filesystem groups.

          The dfsck program permits an operator to interact  with  two
          fsck  programs at once.  To help in this, dfsck displays the
          filesystem name for each  message  to  the  operator.   When
          answering  a  question from dfsck, the operator must preface
          the response with a 1 or a 2  (indicating  that  the  answer
          refers to the first or second filesystem group).

          Do not use dfsck to check the root filesystem.


     Files
          /etc/checklist      Contains default list of filesystems to check
          /etc/default/boot   Automatic boot control

     See Also
          autoboot(ADM),   fsdb(ADM),   checklist(F),   filesystem(F),
          init(M)


     Notes
          The directory /etc/fscmd.d/TYPE contains programs  for  each
          file  system  type;  each  of  these  programs  applies some
          appropriate heuristic  to  determine  whether  the  supplied
          special file is of the type for which it checks.

          fsck will not run on a mounted non-raw filesystem unless the
          filesystem is the root filesystem or unless the -n option is
          specified and no writing out of  the  filesystem  will  take
          place.   If any such attempt is made, a warning is displayed
          and no further processing of the filesystem is done for  the
          specified device.

          Although checking a raw  device  is  almost  always  faster,
          there  is  no way to tell if the filesystem is mounted.  And
          cleaning a mounted filesystem will almost  certainly  result
          in an inconsistent superblock.


     Warning
          Filesystems  created  under  UNIX-86  version  3.0  are  not
          supported  under  UNIX  System  V/386  3.2  because the word
          ordering in  type  long  variables  has  changed.   fsck  is
          capable  of  auditing  and  repairing  UNIX version 3.0 file
          systems if the word ordering is correct.

          For the root  filesystem,  ``fsck -b /dev/root''  should  be
          run.  For  all  other  filesystems,  ``fsck /dev/??'' on the
          unmounted block device should be used.


     Diagnostics
     Initialization Phase
          Command syntax is checked.  Before the filesystem check  can
          be  performed,  fsck  sets  up certain tables and opens some
          files.  The fsck terminates on initialization errors.

     General Errors
          Three error messages may appear in any  phase.   While  they
          seem  to  offer the option to continue, it is generally best
          to regard them as fatal, end the run, and  investigate  what
          may have caused the problem.

            CAN NOT SEEK: BLK B (CONTINUE?)
              The request to move to a specified block number B in the
              filesystem   failed.    The  occurrence  of  this  error
              condition  indicates  a  serious  problem  (probably   a
              hardware failure) that may require additional help.

            CAN NOT READ: BLK B (CONTINUE?)
              The request for reading a specified block  number  B  in
              the  filesystem  failed.   The  occurrence of this error
              condition  indicates  a  serious  problem  (probably   a
              hardware failure) that may require additional help.

            CAN NOT WRITE: BLK B (CONTINUE?)
              The request for writing a specified block  number  B  in
              the filesystem failed.  The disk may be write-protected.

        Meaning of Yes/No Responses
              ____________________________________________________
            |   Prompt |         n(no)      |        y(yes)     |
            | _________|____________________|___________________|_
            | CONTINUE?|   Terminates       |  Attempts       to|
            |          |   program.         |  continue  to  run|
            |          |   (This is the     |  filesystem check.|
            |          |   recommended      |  Often,   however,|
            |          |   response.)       |  the       problem|
            |          |                    |  persists.     The|
            |          |                    |  error   condition|
            |          |                    |  does not allow  a|
            |          |                    |  complete check of|
            |          |                    |  the   filesystem.|
            |          |                    |  A  second  run of|
            |          |                    |  fsck  should   be|
            |          |                    |  made  to  recheck|
            |          |                    |  this filesystem. |
            |__________|____________________|___________________|



     Phase 1:  Check Blocks and Sizes
          This phase checks the inode list.

        Meaning of Yes/No Responses-Phase 1
              ____________________________________________________
           |    Prompt|          n(no)     |         y(yes)    |
           |  ________|____________________|___________________|__
           |  CONTINUE|    Terminates    th|   Continues    wit|
           |          |    program.        |   the program.    |
           |          |    (Recommended    |   This        erro|
           |          |    response.)      |   condition   mean|
           |          |                    |   that  a  complet|
           |          |                    |   check    of   th|
           |          |                    |   filesystem is no|
           |          |                    |   possible.       |
           |          |                    |   second   run   o|
           |          |                    |   fsck   should  b|
           |          |                    |   made  to  rechec|
           |          |                    |   this filesystem.|
           | _________|____________________|___________________|_
           | CLEAR?   |   Ignores the error|  Deallocates    i-|
           |          |   condition.       |  node I by zeroing|
           |          |   A NO response  is|  its contents.    |
           |          |   only  appropriate|  This  may  invoke|
           |          |   if    the    user|  the   UNALLOCATED|
           |          |   intends  to  take|  error   condition|
           |          |   other measures to|  in  Phase  2  for|
           |          |   fix the problem. |  each    directory|
           |          |                    |  entry pointing to|
           |          |                    |  this i-node.     |
           |__________|____________________|___________________|

        Phase 1 Error Messages
            UNKNOWN FILE TYPE I=I (CLEAR?)
              The mode word of the i-node I suggests that  the  i-node
              is not a pipe, special character i-node, regular i-node,
              or directory i-node.

            LINK COUNT TABLE OVERFLOW (CONTINUE?)
              An internal table for fsck containing allocated  i-nodes
              with a link count of zero has no more room.

            B BAD I=I
              I-node I contains block number B  with  a  number  lower
              than   the  number  of  the  first  data  block  in  the
              filesystem or greater than the number of the last  block
              in  the filesystem.  This error condition may invoke the
              EXCESSIVE BAD BLKS error condition in Phase 1 if  i-node
              I  has  too  many  block  numbers outside the filesystem
              range.  This error condition invokes the  BAD/DUP  error
              condition in Phase 2 and Phase 4.

            EXCESSIVE BAD BLOCKS I=I (CONTINUE?)
              There is more than a tolerable number  (usually  10)  of
              blocks  with a number lower than the number of the first
              data block in the filesystem or greater than the  number
              of  the  last block in the filesystem associated with i-
              node I.

            B DUP I=I
              I-node I contains  block  number  B,  which  is  already
              claimed  by  another  i-node.   This error condition may
              invoke the EXCESSIVE DUP BLKS error condition in Phase 1
              if  i-node I has too many block numbers claimed by other
              i-nodes.  This error condition invokes Phase 1B and  the
              BAD/DUP error condition in Phase 2 and Phase 4.

            EXCESSIVE DUP BLKS I=I (CONTINUE?)
              There is more than a tolerable number  (usually  10)  of
              blocks claimed by other i-nodes.

            DUP TABLE OVERFLOW (CONTINUE?)
              An internal table in  fsck  containing  duplicate  block
              numbers has no more room.

            POSSIBLE FILE SIZE ERROR I=I
              The i-node I size does not match the  actual  number  of
              blocks  used by the i-node.  This is only a warning.  If
              the -q option is used, this message is not printed.

            DIRECTORY MISALIGNED I=I
              The size of a directory i-node is not a multiple of  16.
              This  is only a warning.  If the -q option is used, this
              message is not printed.

            PARTIALLY ALLOCATED INODE I=I (CLEAR?)
              I-node I is neither allocated nor unallocated.


     Phase 1B:   Rescan for More DUPS
          When a duplicate block  is  found  in  the  filesystem,  the
          filesystem  is  rescanned to find the i-node that previously
          claimed that block.  When the duplicate block is found,  the
          following information message is printed:

            B DUP I=I
              I-node I contains  block  number  B,  which  is  already
              claimed by another i-node.  This error condition invokes
              the BAD/DUP error condition in Phase  2.   I-nodes  with
              overlapping  blocks  may be determined by examining this
              error condition and the DUP error condition in Phase 1.


     Phase 2:  Check Path Names
          This phase removes directory entires pointing to bad  inodes
          found in Phase 1 and phase 1B.

        Meaning of Yes/No Responses-Phase 2
              ____________________________________________________
          |     Promp|           n(no)    |          y(yes)   |
          |   _______|____________________|___________________|___
          |   FIX?   |     Terminates    t|e   In  Phase  2,  |a
          |          |     program     sin|e   y(yes)   respon|e
          |          |     fsck   will    |e   to    the    FI|?
          |          |     unable         |o   prompt      say|:
          |          |     continue.      |    Change  the  roo|
          |          |                    |    i-node   type  |o
          |          |                    |    ``directory.'' |
          |          |                    |    If  the  root  |-
          |          |                    |    node  data bloc|s
          |          |                    |    are not directo|y
          |          |                    |    blocks,   a  ve|y
          |          |                    |    large  number  |f
          |          |                    |    error  conditio|s
          |          |                    |    are produced.  |
          |  ________|____________________|___________________|__
          |  CONTINUE|    Terminates    th|   Ignores  DUPS/BA|
          |          |    program.        |   error   conditio|
          |          |                    |   in  root   i-nod|
          |          |                    |   and   attempt  t|
          |          |                    |   continue  to  ru|
          |          |                    |   the    filesyste|
          |          |                    |   check.          |
          |          |                    |   If root i-node i|
          |          |                    |   not correct, the|
          |          |                    |   this  may  resul|
          |          |                    |   in a large numbe|
          |          |                    |   of  other   erro|
          |          |                    |   conditions.     |
          | _________|____________________|___________________|_
          | REMOVE?  |   Ignores the error|  Removes duplicate|
          |          |   condition.       |  or    unallocated|
          |          |   A NO response  is|  blocks.          |
          |          |   only  appropriate|                   |
          |          |   if    the    user|                   |
          |          |   intends  to  take|                   |
          |          |   other measures to|                   |
          |          |   fix the problem. |                   |
          |__________|____________________|___________________|



        Phase 2 Error Messages
            ROOT INODE UNALLOCATED. TERMINATING
              The root i-node (always i-node number 2) has no allocate
              mode  bits.   The  occurrence  of  this  error condition
              indicates a serious problem. The program stops.

            ROOT INODE NOT DIRECTORY (FIX?)
              The  root  i-node  (usually  i-node  number  2)  is  not
              directory i-node type.

            DUPS/BAD IN ROOT INODE (CONTINUE?)
              Phase 1 or Phase 1B found duplicate blocks or bad blocks
              in  the  root  i-node  (usually i-node number 2) for the
              filesystem.

            I OUT OF RANGE I=I NAME=F (REMOVE?)
              A directory entry F has  an  i-node  number  I  that  is
              greater than the end of the i-node list.

            UNALLOCATED  I=I  OWNER=O  MODE=M  SIZE=S  MTIME=T  NAME=F
            (REMOVE?)
              A directory entry F has an  i-node  I  without  allocate
              mode  bits.  The owner O, mode M, size S, modify time T,
              and filename F are printed.  If the  filesystem  is  not
              mounted  and  the -n option was not specified, the entry
              is removed automatically if the i-node it points  to  is
              character size 0.

            DUP/BAD I=I OWNER=O MODE=M SIZE=S MTIME=T DIR=F (REMOVE?)
              Phase 1 or Phase 1B found duplicate blocks or bad blocks
              associated  with  directory entry F, directory i-node I.
              The owner  O,  mode  M,  size  S,  modify  time  T,  and
              directory name F are printed.

            DUP/BAD I=I OWNER=O MODE=M SIZE=S MTIME=T FILE=F (REMOVE?)
              Phase 1 or Phase 1B found duplicate blocks or bad blocks
              associated  with  file  entry F, i-node I.  The owner O,
              mode M, size S,  modify  time  T,  and  filename  F  are
              printed.

            BAD BLK B IN DIR I=I OWNER=O MODE=M SIZE=S MTIME=T
              This message only occurs when the -D option is used.   A
              bad  block  was found in DIR i-node I.  Error conditions
              looked  for  in  directory  blocks  are  nonzero  padded
              entries,  inconsistent  ``.''  and  ``..''  entries, and
              embedded slashes in the name field.  This error  message
              means that the user should at a later time either remove
              the directory i-node if the entire block  looks  bad  or
              change  (or  remove)  those  directory entries that look
              bad.


     Phase 3:  Check Connectivity
          This phase is concerned with the directory connectivity seen
          in Phase 2.

        Meaning of Yes/No Responses-Phase 3
             _____________________________________________________
           |    Prompt |         n(no)      |        y(yes)     |
           | __________|____________________|___________________|_
           | RECONNECT?|   Ignores the error|  Reconnects       |
           |           |   condition.       |  directory  i-node|
           |           |   This invokes  the|  I     to      the|
           |           |   UNREF       error|  filesystem     in|
           |           |   condition      in|  directory     for|
           |           |   Phase 4.         |  lost        files|
           |           |   A NO response  is|  (usually         |
           |           |   only  appropriate|  lost+found).     |
           |           |   if    the    user|  This may invoke a|
           |           |   intends  to  take|  lost+found  error|
           |           |   other measures to|  condition      if|
           |           |   fix the problem. |  there         are|
           |           |                    |  problems         |
           |           |                    |  connecting       |
           |           |                    |  directory  i-node|
           |           |                    |  I to lost+found. |
           |           |                    |  This      invokes|
           |           |                    |  CONNECTED        |
           |           |                    |  information      |
           |           |                    |  message  if  link|
           |           |                    |  was successful.  |
           |___________|____________________|___________________|

        Phase 3 Error Messages
            UNREF DIR I=I OWNER=O MODE=M SIZE=S MTIME=T (RECONNECT?)
              The directory i-node I was not connected to a  directory
              entry  when  the filesystem was traversed.  The owner O,
              mode M, size S, and modify time T of directory i-node  I
              are  printed.   The fsck program forces the reconnection
              of a nonempty directory.

            SORRY. NO lost+found DIRECTORY
              There is no lost+found directory in the  root  directory
              of  the  filesystem;  fsck ignores the request to link a
              directory in lost+found.  This invokes the  UNREF  error
              condition  in  Phase  4.   Possible  problem with access
              modes of lost+found.

            SORRY. NO SPACE IN lost+found DIRECTORY
              There is no space to add another entry to the lost+found
              directory  in the root directory of the filesystem; fsck
              ignores the request to link a directory  in  lost+found.
              This  invokes  the  UNREF  error  condition  in Phase 4.
              Clean out unnecessary  entries  in  lost+found  or  make
              lost+found larger (see Procedure 5.2).

            DIR I=I1 CONNECTED. PARENT WAS I=I2
              This is an advisory message indicating  a  directory  i-
              node  I1  was  successfully  connected to the lost+found
              directory.  The parent i-node I2 of the directory i-node
              I1  is  replaced  by the i-node number of the lost+found
              directory.



     Phase 4:  Check Reference Counts
          This phase checks the link count information seen in  Phases
          2  and 3.

        Meaning of Yes/No Responses-Phase 4
             _____________________________________________________
        |       Prom|t           n(no)   |           y(yes)  |
        |    _______|____________________|___________________|____
        |    RECONNE|T?    Ignores      t|is   Reconnect  i-n|de
        |           |      error conditio|.    I  to  filesys|em
        |           |      This  invokes | a   in the  direct|ry
        |           |      CLEAR       er|or   for   lost  fi|es
        |           |      condition   la|er   (usually      |
        |           |      in Phase 4.   |     lost+found).  |
        |           |                    |     This can cause| a
        |           |                    |     lost+found  er|or
        |           |                    |     condition in t|is
        |           |                    |     phase   if  th|re
        |           |                    |     are      probl|ms
        |           |                    |     connecting i-n|de
        |           |                    |     I to lost+foun|.
        |   ________|____________________|___________________|___
        |   CLEAR?  |     Ignores the err|r   Deallocates   t|e
        |           |     condition.     |    i-node by zeroi|g
        |           |     A NO response  |s   its contents.  |
        |           |     only  appropria|e                  |
        |           |     if    the    us|r                  |
        |           |     intends  to  ta|e                  |
        |           |     other measures |o                  |
        |           |     fix the problem|                   |
        |  _________|____________________|___________________|__
        |  ADJUST?  |    Ignores the erro|   Replaces     lin|
        |           |    condition.      |   count  of file i|
        |           |    A NO response  i|   node I with Y.  |
        |           |    only  appropriat|                   |
        |           |    if    the    use|                   |
        |           |    intends  to  tak|                   |
        |           |    other measures t|                   |
        |           |    fix the problem.|                   |
        | __________|____________________|___________________|_
        | FIX?      |   Ignores the error|  Replaces count in|
        |           |   condition.       |  super-block    by|
        |           |   A NO response  is|  actual count.    |
        |           |   only  appropriate|                   |
        |           |   if    the    user|                   |
        |           |   intends  to  take|                   |
        |           |   other measures to|                   |
        |           |   fix the problem. |                   |
        |___________|____________________|___________________|

        Phase 4 Error Messages
            UNREF FILE I=I OWNER=O MODE=M SIZE=S MTIME=T (RECONNECT?)
              I-node I was not connected to a directory entry when the
              filesystem  was traversed.  The owner O, mode M, size S,
              and modify time T of i-node I are printed.   If  the  -n
              option  is  omitted  and  the filesystem is not mounted,
              empty files are cleared automatically.   Nonempty  files
              are not cleared.

            SORRY. NO lost+found DIRECTORY
              There is no lost+found directory in the  root  directory
              of  the  filesystem;  fsck ignores the request to link a
              file  in  lost+found.   This  invokes  the  CLEAR  error
              condition  later  in  Phase  4.   Possible  problem with
              access modes of lost+found.

            SORRY. NO SPACE IN lost+found DIRECTORY
              There is no space to add another entry to the lost+found
              directory  in the root directory of the filesystem; fsck
              ignores the request to link a file in lost+found.   This
              invokes  the  CLEAR  error  condition  later in Phase 4.
              Check size and contents of lost+found.

            (CLEAR)
              The i-node mentioned in the immediately  previous  UNREF
              error condition cannot be reconnected.

            LINK COUNT FILE I=I OWNER=O MODE=M SIZE=S MTIME=T  COUNT=X
            SHOULD BE Y (ADJUST?)
              The link count for i-node I, which is a file, is  X  but
              should  be  Y.   The owner O, mode M, size S, and modify
              time T are printed.

            LINK COUNT DIR I=I OWNER=O MODE=M SIZE=S  MTIME=T  COUNT=X
            SHOULD BE Y (ADJUST?)
              The link count for i-node I, which is a directory, is  X
              but  should  be  Y.   The  owner  O, mode M, size S, and
              modify time T of directory i-node I are printed.

            LINK COUNT F I=I OWNER=O  MODE=M  SIZE=S  MTIME=T  COUNT=X
            SHOULD BE Y (ADJUST?)
              The link count for F i-node I is X but should be Y.  The
              filename  F,  owner O, mode M, size S, and modify time T
              are printed.

            UNREF FILE I=I OWNER=O MODE=M SIZE=S MTIME=T (CLEAR?)
              I-node I, which is  a  file,  was  not  connected  to  a
              directory  entry when the filesystem was traversed.  The
              owner O, mode M, size S, and modify time T of  i-node  I
              are  printed.   If  the  -n  option  is  omitted and the
              filesystem is  not  mounted,  empty  files  are  cleared
              automatically.  Nonempty directories are not cleared.

            UNREF DIR I=I OWNER=O MODE=M SIZE=S MTIME=T (CLEAR?)
              I-node I, which is a directory, was not connected  to  a
              directory  entry when the filesystem was traversed.  The
              owner O, mode M, size S, and modify time T of  i-node  I
              are  printed.   If  the  -n  option  is  omitted and the
              filesystem is not mounted, empty directories are cleared
              automatically.  Nonempty directories are not cleared.

            BAD/DUP FILE I=I OWNER=O MODE=M SIZE=S MTIME=T (CLEAR?)
              Phase 1 or Phase 1B found duplicate blocks or bad blocks
              associated  with  file  i-node  I.  The owner O, mode M,
              size S, and modify time T of i-node I are printed.

            BAD/DUP DIR I=I OWNER=O MODE=M SIZE=S MTIME=T (CLEAR?)
              Phase 1 or Phase 1B found duplicate blocks or bad blocks
              associated  with  directory i-node I.  The owner O, mode
              M, size S, and modify time T of i-node I are printed.

            FREE INODE COUNT WRONG IN SUPERBLK (FIX?)
              The actual count of the free i-nodes does not match  the
              count  in  the super-block of the filesystem.  If the -q
              option  is  specified,   the   count   will   be   fixed
              automatically in the super-block.


     Phase 5:  Check Free List
          This phase checks the free-block list.
        Meaning of Yes/No Responses-Phase 5
              ____________________________________________________
            |   Prompt |         n(no)      |        y(yes)     |
            | _________|____________________|___________________|_
            | CONTINUE?|   Terminates    the|  Ignores  rest  of|
            |          |   program.         |  the    free-block|
            |          |                    |  list and continue|
            |          |                    |  execution      of|
            |          |                    |  fsck.            |
            |          |                    |  This        error|
            |          |                    |  condition    will|
            |          |                    |  always invoke BAD|
            |          |                    |  BLKS IN FREE LIST|
            |          |                    |  error   condition|
            |          |                    |  later in Phase 5.|
            |__________|____________________|___________________|
                                                     (Continued)
              ___________________________________________________
           |    Promp|          n(no)     |         y(yes)    |
           |  _______|____________________|___________________|__
           |  FIX?   |    Ignores the erro|   Replaces count i|
           |         |    condition.      |   super-block    b|
           |         |    A NO response  i|   actual count.   |
           |         |    only  appropriat|                   |
           |         |    if    the    use|                   |
           |         |    intends  to  tak|                   |
           |         |    other measures t|                   |
           |         |    fix the problem.|                   |
           | ________|____________________|___________________|_
           | SALVAGE?|   Ignores the error|  Replaces   actual|
           |         |   condition.       |  free-block   list|
           |         |   A NO response  is|  with a new  free-|
           |         |   only  appropriate|  block list.      |
           |         |   if    the    user|  The   new   free-|
           |         |   intends  to  take|  block  list  will|
           |         |   other measures to|  be        ordered|
           |         |   fix the problem. |  according  to the|
           |         |                    |  gap and  cylinder|
           |         |                    |  specs  of  the -s|
           |         |                    |  or -S  option  to|
           |         |                    |  reduce time spent|
           |         |                    |  waiting  for  the|
           |         |                    |  disk   to  rotate|
           |         |                    |  into position.   |
           |_________|____________________|___________________|

        Phase 5 Error Messages
            EXCESSIVE BAD BLKS IN FREE LIST (CONTINUE?)
              The free-block  list  contains  more  than  a  tolerable
              number (usually 10) of blocks with a value less than the
              first data block in the filesystem or greater  than  the
              last block in the filesystem.

            EXCESSIVE DUP BLKS IN FREE LIST (CONTINUE?)
              The free-block  list  contains  more  than  a  tolerable
              number  (usually  10)  of  blocks  claimed by i-nodes or
              earlier parts of the free-block list.

            BAD FREEBLK COUNT
              The count of free blocks in a free-list block is greater
              than  50  or  less  than  0.   This error condition will
              always invoke the BAD FREE LIST condition later in Phase
              5.

            X BAD BLKS IN FREE LIST
              X blocks in the free-block  list  have  a  block  number
              lower  than  the  first  data block in the filesystem or
              greater than the last block  in  the  filesystem.   This
              error  condition  will  always  invoke the BAD FREE LIST
              condition later in Phase 5.

            X DUP BLKS IN FREE LIST
              X blocks claimed by i-nodes  or  earlier  parts  of  the
              free-list block were found in the free-block list.  This
              error condition will always invoke  the  BAD  FREE  LIST
              condition later in Phase 5.

            X BLK(S) MISSING
              X blocks unused by the filesystem were not found in  the
              free-block  list.   This  error  condition  will  always
              invoke the BAD FREE LIST condition later in Phase 5.

            FREE BLK COUNT WRONG IN SUPERBLOCK (FIX?)
              The actual count of free blocks does not match the count
              in the super-block of the filesystem.

            BAD FREE LIST (SALVAGE?)
              This message is always preceded by one or  more  of  the
              Phase  5  information  messages.   If  the  -q option is
              specified,  the  free-block  list   will   be   salvaged
              automatically.


     Phase 6:  Salvage Free List
          This phase reconstructs the  free-block  list.  It  has  one
          possible    error    condition   that   results   from   bad
          blocks-per-cylinder and gap values.

        Phase 6 Error Messages
            DEFAULT FREE-BLOCK LIST SPACING ASSUMED
              This   is   an   advisory   message    indicating    the
              blocks-to-skip  (gap)  is  greater  than the blocks-per-
              cylinder,  the  blocks-to-skip  is  less  than  1,   the
              blocks-per-cylinder  is  less than 1, or the blocks-per-
              cylinder is greater than 500.  The values of  7  blocks-
              to-skip and 400 blocks-per-cylinder are used.


     Cleanup Phase
          Once a filesystem has been checked, a few cleanup  functions
          are performed.  The cleanup phase displays advisory messages
          about the filesystem and status of the filesystem.

        Cleanup Phase Messages
            X files Y blocks Z free
              This  is  an  advisory  message  indicating   that   the
              filesystem  checked  contained  X  files  using Y blocks
              leaving Z blocks free in the filesystem.
            ***** BOOT UNIX (NO SYNC!) *****
              This is an advisory message indicating  that  a  mounted
              filesystem  or  the root filesystem has been modified by
              fsck.  If the UNIX system is  not  rebooted  immediately
              without sync, the work done by fsck may be undone by the
              in-core copies of tables the UNIX system keeps.  If  the
              -b  option  of  the  fsck  command was specified and the
              filesystem is root, a reboot is automatically done.
            ***** FILE SYSTEM WAS MODIFIED *****
              This is an advisory message indicating that the  current
              filesystem was modified by fsck.


     (printed 2/15/90)                                  FSCK(ADM)














































































































































































































































































































































































































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