1. Crash Consistency
-
Initial file system, one file, one block: B[v1], I[v1], Da
Data block Db appended, requires 3 writes: B[v2], I[v2], Db
Crash Scenarios:
- B[v2] written, but not I[v2] and Db
- I[v2] written, but not B[v2] and Db
- Db written, but not B[v2] and I[v2]
- B[v2] and I[v2] written, but not Db
- I[v2] and Db written, but not B[v2]
- B[v2] and Db written, but not I[v2]
Which leave file system inconsistent?
How to fix?