home | help
FSCK_FFS(8)		     System Manager's Manual		     FSCK_FFS(8)

NAME
     fsck_ffs, fsck_ufs -- file system consistency check and interactive repair

SYNOPSIS
     fsck_ffs [-BEFfnpryZ] [-b block] [-c level] [-m mode] filesystem ...

DESCRIPTION
     The  specified disk partitions and/or file systems are checked.  In "preen"
     or "check clean" mode the clean flag of each file	system's  superblock  is
     examined and only those file systems that are not marked clean are checked.
     File  systems are marked clean when they are unmounted, when they have been
     mounted read-only, or when fsck_ffs runs on them successfully.  If  the  -f
     option  is  specified,  the  file systems will be checked regardless of the
     state of their clean flag.

     The kernel takes care that only a restricted class of innocuous file system
     inconsistencies can happen unless hardware or software failures  intervene.
     These are limited to the following:

	   Unreferenced inodes
	   Link counts in inodes too large
	   Missing blocks in the free map
	   Blocks in the free map also in files
	   Counts in the super-block wrong

     These  are  the  only inconsistencies that fsck_ffs with the -p option will
     correct; if it encounters other inconsistencies, it exits with an	abnormal
     return  status  and an automatic reboot will then fail.  For each corrected
     inconsistency one or more lines will be printed identifying the file system
     on which the correction will take place, and the nature of the  correction.
     After successfully correcting a file system, fsck_ffs will print the number
     of  files	on that file system, the number of used and free blocks, and the
     percentage of fragmentation.

     If sent a QUIT signal, fsck_ffs will finish the file  system  checks,  then
     exit  with  an  abnormal  return  status that causes an automatic reboot to
     fail.  This is useful when you want to finish the file system checks during
     an automatic reboot, but do not want the machine to come up multiuser after
     the checks complete.

     If fsck_ffs receives a SIGINFO (see the "status" argument for stty(1)) sig-
     nal, a line will be written to the standard output indicating the	name  of
     the device currently being checked, the current phase number and phase-spe-
     cific progress information.

     Without  the -p option, fsck_ffs audits and interactively repairs inconsis-
     tent conditions for file systems.	If the file system is  inconsistent  the
     operator  is  prompted for concurrence before each correction is attempted.
     It should be noted that some of the corrective actions which are  not  cor-
     rectable  under the -p option will result in some loss of data.  The amount
     and severity of data lost may be determined  from	the  diagnostic  output.
     The default action for each consistency correction is to wait for the oper-
     ator  to respond yes or no.  If the operator does not have write permission
     on the file system fsck_ffs will default to a -n action.

     The following flags are interpreted by fsck_ffs:

     -B      A check is done on the specified and possibly active  file  system.
	     The  set  of  corrections that can be done is limited to those done
	     when running in preen mode (see the -p flag).  If unexpected errors
	     are found, the file system is marked as needing a foreground  check
	     and fsck_ffs exits without attempting any further cleaning.

     -E      Clear unallocated blocks, notifying the underlying device that they
	     are  not  used  and  that their contents may be discarded.  This is
	     useful for filesystems which have been mounted on	systems  without
	     TRIM support, or with TRIM support disabled, as well as filesystems
	     which have been copied from one device to another.

	     See the -E and -t flags of newfs(8), and the -t flag of tunefs(8).

     -F      Determine	whether  the file system needs to be cleaned immediately
	     in foreground, or if its cleaning can be  deferred  to  background.
	     To  be  eligible  for background cleaning it must have been running
	     with soft updates, not have been marked  as  needing  a  foreground
	     check,  and be mounted and writable when the background check is to
	     be done.  If these conditions are met, then fsck_ffs exits  with  a
	     zero  exit status.  Otherwise it exits with a non-zero exit status.
	     If the file system is clean, it will exit with a non-zero exit sta-
	     tus so that the clean status of the file system can be verified and
	     reported during the foreground checks.  Note that when invoked with
	     the -F flag, no cleanups are done.  The only  thing  that	fsck_ffs
	     does  is  to  determine whether a foreground or background check is
	     needed and exit with an appropriate status code.

     -b      Use the block specified immediately after the  flag  as  the  super
	     block for the file system.  An alternate super block is usually lo-
	     cated at block 32 for UFS1, and block 160 for UFS2.

	     See the -N flag of newfs(8).

     -C      Check if file system was dismounted cleanly.  If so, skip file sys-
	     tem  checks  (like  "preen").   However, if the file system was not
	     cleanly dismounted, do full checks,  as  if  fsck_ffs  was  invoked
	     without -C.

     -c      Convert  the  file  system  to  the specified level.  Note that the
	     level of a file system can only be  raised.   There  are  currently
	     four levels defined:

	     0	     The file system is in the old (static table) format.

	     1	     The file system is in the new (dynamic table) format.

	     2	     The file system supports 32-bit uid's and gid's, short sym-
		     bolic  links  are stored in the inode, and directories have
		     an added field showing the file type.

	     3	     If maxcontig is greater than one, build  the  free  segment
		     maps  to aid in finding contiguous sets of blocks.  If max-
		     contig is equal to one, delete any existing segment maps.

	     In interactive mode, fsck_ffs will list the conversion to	be  made
	     and  ask  whether the conversion should be done.  If a negative an-
	     swer is given, no further operations are done on the  file  system.
	     In  preen mode, the conversion is listed and done if possible with-
	     out user interaction.  Conversion in preen mode is best  used  when
	     all  the file systems are being converted at once.  The format of a
	     file system can be determined from the first line	of  output  from
	     dumpfs(8).

	     This option implies the -f flag.

     -f      Force fsck_ffs to check `clean' file systems when preening.

     -m      Use  the  mode specified in octal immediately after the flag as the
	     permission bits to  use  when  creating  the  lost+found  directory
	     rather  than  the default 1777.  In particular, systems that do not
	     wish to have lost files accessible  by  all  users  on  the  system
	     should use a more restrictive set of permissions such as 700.

     -n      Assume  a no response to all questions asked by fsck_ffs except for
	     `CONTINUE?', which is assumed to be affirmative; do  not  open  the
	     file system for writing.

     -p      Preen file systems (see above).

     -r      Free  up  excess  unused inodes.  Decreasing the number of preallo-
	     cated inodes reduces the running time of future  runs  of	fsck_ffs
	     and  frees  up space that can allocated to files.	The -r option is
	     ignored when running in preen mode.

     -S      Surrender on error.  With this flag enabled, a hard error	returned
	     on  disk  i/o will cause fsck_ffs to abort instead of continuing on
	     and possibly tripping over more i/o errors.

     -y      Assume a yes response to all  questions  asked  by  fsck_ffs;  this
	     should be used with great caution as this is a free license to con-
	     tinue after essentially unlimited trouble has been encountered.

     -Z      Similar  to  -E, but overwrites unused blocks with zeroes.  If both
	     -E and -Z are specified, blocks are first zeroed and then erased.

     Inconsistencies checked are as follows:

     1.   Blocks claimed by more than one inode or the free map.
     2.   Blocks claimed by an inode outside the range of the file system.
     3.   Incorrect link counts.
     4.   Size checks:
		Directory size not a multiple of DIRBLKSIZ.
		Partially truncated file.
     5.   Bad inode format.
     6.   Blocks not accounted for anywhere.
     7.   Directory checks:
		File pointing to unallocated inode.
		Inode number out of range.
		Directories with unallocated blocks (holes).
		Dot or dot-dot not the first two entries of a directory or  hav-
		ing the wrong inode number.
     8.   Super Block checks:
		More blocks for inodes than there are in the file system.
		Bad free block map format.
		Total free block and/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  di-
     rectory.	The name assigned is the inode number.	If the lost+found direc-
     tory does not exist, it is created.  If there  is	insufficient  space  its
     size is increased.

     The  full	foreground fsck_ffs checks for many more problems that may occur
     after an unrecoverable disk write error.  Thus, it is recommended that  you
     perform  foreground  fsck_ffs on your systems periodically and whenever you
     encounter unrecoverable disk write errors or file-system-related panics.

FILES
     /etc/fstab  contains default list of file systems to check.

EXIT STATUS
     The fsck_ffs utility exits 0 on success, and >0 if an error occurs.

     If the option -F is used, fsck_ffs exits 7 if the file system is clean.

DIAGNOSTICS
     The diagnostics produced by fsck_ffs are fully enumerated and explained  in
     Appendix A of Fsck - The UNIX File System Check Program.

SEE ALSO
     fs(5), fstab(5), fsck(8), fsdb(8), newfs(8), reboot(8)

FreeBSD 10.0			  July 30, 2013 		     FSCK_FFS(8)

home | help