Messages in this thread | | | Date | Fri, 15 May 1998 17:54:12 -0400 (EDT) | From | "Richard B. Johnson" <> | Subject | Re: journaling filesystem |
| |
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.
Cheers, Dick Johnson ***** FILE SYSTEM MODIFIED ***** 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 majordomo@vger.rutgers.edu
| |