Homework: Reliable Files and Directories

Read: The Soft Updates paper.

Hand-In Procedure

You are to turn in this homework at the beginning of lecture. Please write up your answers to the exercises below and hand them to a 6.828 staff member. Read over this homework and keep the questions in mind as you read the soft updates paper. Then come back and answer these questions.

Reliable files and directories

Consider what would need to be changed in xv6 to implement a write-back cache with proper ordering of writes.

Identify all the calls to bwrite in xv6. (Hint: there are 7; use the cross-references.)

For each call to bwrite, identify the other disk writes that must complete before that one can. Some blocks might not have any dependencies, or might only have dependencies in certain cases.

Turn in a list of bwrite calls and their dependencies, if any. Here are two calls, done for you:

line 3718  (in balloc)  no prerequisites
line 3745  (in bfree)   depends on bwrite at line 3696

Xv6 has no atomic rename; can there still be cycles in the block dependencies?

This completes the homework.