Re: journaling filesystem

Richard B. Johnson (
Fri, 15 May 1998 17:54:12 -0400 (EDT)

On Fri, 15 May 1998, Mark H. Wood wrote:

> On Wed, 13 May 1998, David Woodhouse wrote:
> [deletia]
> > That was my point. We need some form of synchronisation primitive
> > which goes right down the the level of the horrid brown stuff on the platters.
> There must be *some* way to do this, or Tandem couldn't make good on all
> those promises, could they?

No No No! That's not how it's done. The technique is called Transaction
Processing. You can't ever guarantee that anything has been written unless
you physically remove the power, wait a few years, restore the power, and
then are able to read it back. Further, you might never be able to
read it again.

Transaction Processing would take a whole College semester to teach.
Basically, one logs operations and transaction times so that at any
time the transaction (and all it affects) can be rolled back or
rolled forward to the present. The logging is typically on tape for
permanent storage or in RAM for temporary storage until the tape is
written. What gets written to permanent storage is everything necessary
to re-do the transaction.

The writes to the transaction record are complete entities. If the power
fails or main disk storage fails, the last good data are recovered
from permanent storage (tape or another server that didn't crash).

All transactions are unwound until the point at which the data are
consistent, then they are all redone up to the last complete
transaction record. Now all you have to do is redo what was being
done at the instant of failure.

Dick Johnson
Penguin : Linux version 2.1.101 on an i586 machine (66.15 BogoMips).
Warning : It's hard to remain at the trailing edge of technology.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to