CS 537 Notes, Section #27: File System Crash Recovery


OSTEP: Chapter 42

Unix File System Crash Recovery

Computers can crash at any time, and we want the file system to behave sensibly in the face of crashes. The key idea is called consistency:

Insuring consistency requires two things:

There are three basic updates that happen when data is written to a file.

  1. A block (or blocks) is allocated from the free list (bit map).
  2. Data is written to the newly allocated block.
  3. The inode is updated to include the new data.
These operations must be done in the above order. If they are not, then it is possible to have a data block included in a file that might have garbage (uninitialized data) in the block.

After rebooting, the recovery utility program on Unix, called "fsck", is going to traverse the entire directory structure of the disk to insure that all free blocks are in the free list.

Recovery after a crash follows these steps:

  1. Allocate a temporary bit map, initialized to indicate that all disk blocks are free.
  2. Start at the inode for the root directory.
  3. Traverse the directory:
    1. For each disk data block in the directory file, marks its blocks as "allocated" in the bit map.
    2. For each data file in this directory, marks its data blocks as "allocated" in the bit map.
    3. For each directory in this directory, perform the "Traverse the directory" steps above.
At the completion of the algorithm, you can compare the actual bit map to the temporary one to to find blocks that were allocated, but never made it into a file.

Windows File Sysem Crash Recovery

NTFS assures that the file system will remain consistent by use of a write log. This technique is similar to that used in a database system.

As in other file systems, consistency means that a write (or group of writes) to a file either complete or do not happen at all. It is not possible for a data block to be in an undefined state (e.g., allocated, but not written).



Copyright © 2013, 2018 Barton P. Miller
Non-University of Wisconsin students and teachers are welcome to print these notes their personal use. Further reproduction requires permission of the author.