Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 28 Aug 2006 15:19:17 -0700
From:      Can Sar <csar@stanford.edu>
To:        FreeBSD-questions@FreeBsd.org
Subject:   UFS2 fsck Question (semantics of -p)
Message-ID:  <34A15B01-CECC-478F-8EE8-3AEA839803C7@stanford.edu>

next in thread | raw e-mail | index | archive | help
Hi,

I work on a project to automatically (by dynamically running the  
system) find crash recovery errors in storage systems and we are  
beginning to do some preliminary checking of FreeBSD. We found an  
"error" where on power failure the disk can get corrupted even after  
an operation has returned successfully on a synchronous mount. Fsck  
running with the -p option cannot fix this error, while running it  
without, does happen to fix it (in this particular test case).  
However, the fsck manfile says the following:

"The kernel takes care that only a restricted class of innocuous file  
sys-
      tem 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 abnor-
      mal return status and an automatic reboot will then fail.  For  
each cor-
      rected 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."

Would you consider it an error if the -p option does not fix  
inconsistencies caused by a simple power failure, without any  
hardware or software corruption?

I have two example ufs2 images of such errors that you can download.

http://keeda.stanford.edu/ufs-umount-image
http://keeda.stanford.edu/ufs-mount-sync-image

Thank you very much for your help,
Can Sar



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?34A15B01-CECC-478F-8EE8-3AEA839803C7>