Checkpoints Wait until no RSS actions in progress (why?) Write checkpoint record to log List of all transactions in progress Pointer to most recent log entry of each transaction Update shadow state of all files with current state Update shadow state to point to checkpoint record Crash betw. writing to file & checkpoint to log? Shadow directory contains pointer to checkpoint record