Crash Consistency

Due:
11:00pm, Friday May 6, 2022

Description

For this assignment we will simulators from the textbook supplementary material (source) and answer related questions. A zip file with the simulator programs linked on the assignments page. The README files for each program are in the assignment directory.

Questions

  1. Run the fsck.py simulator without any corruption (with the -D flag). Try this for for a few randomly generated file systems by setting the seed (-s) to different values, for example, 1, 2, and 3. See if you can determine which files and directories are there. Use the -p flag to see if you were right. Next run the simulator with -S 1 with corruption (no -D flag). Can you detect what inconsistency was introduced? Furthermore, how would you fix the inconsistency?

  2. Run the simulator with -S 3 and again with -S 19. What is the inconsistency and what is the difference between these two cases?

  3. Run the simulator with -S 5; what is the inconsistency? How difficult would it be to fix this problem in an automatic way? Then, use -S 642; is this inconsistency detectable? If so, how would you fix the file system?

  4. Run the simulator with -S 6 and again with -S 13; what is the inconsistency? What is the difference across these two cases? What should the repair tool do when encountering such a situation?

  5. Run the simulator with -S 9; what is the inconsistency? Which piece of information should a check-and-repair tool trust in this case?

  6. Run the simulator with -S 15; what is the inconsistency? What can a repair tool do in this case? If no repair is possible, how much data is lost?

  7. Run the simulator with -S 10; what is the inconsistency? Is there redundancy in the file system structure here that can help a repair?

  8. Run the simulator with -S 16 and again with -S 20; what is the inconsistency? How should the repair tool fix the problem?

Turning in the Assignment

Create a text file named assignment11.txt containing your answers to the questions. Submit your solution to the appropriate folder on D2L.

Note that your answers must be correctly numbered and only the answers must be in your submission; any answer solution that does not satisfy these requirements will be marked as a zero.