every iput() and namei() must be inside a transaction

This commit is contained in:
Robert Morris 2014-08-04 13:06:48 -04:00
parent 020c8e2384
commit 2c56547272
6 changed files with 145 additions and 17 deletions

6
log.c
View file

@ -5,7 +5,7 @@
#include "fs.h"
#include "buf.h"
// Simple logging. Each system call that might write the file system
// Simple logging. Each file system system call
// should be surrounded with begin_trans() and commit_trans() calls.
//
// The log holds at most one transaction at a time. Commit forces
@ -18,10 +18,6 @@
// one transaction reading a block that another one has modified,
// for example an i-node block.
//
// Read-only system calls don't need to use transactions, though
// this means that they may observe uncommitted data. I-node and
// buffer locks prevent read-only calls from seeing inconsistent data.
//
// The log is a physical re-do log containing disk blocks.
// The on-disk log format:
// header block, containing sector #s for block A, B, C, ...