Coda File System

VM support for transaction processing

From: Peter J. Braam <braam_at_cs.cmu.edu>
Date: Fri, 24 Apr 1998 17:55:08 -0400 (EDT)
Linus,

Can you educate me if there is support for transaction processing in Linux
VM system.  Coda (which takes a pretty general approach I think) uses the
following: 

Startup: 
we memory map a DATA file (privately)

Transactions:
- we start a transaction and as we go along we declare regions in the VM
image of DATA that we are going to modify. (these are copied out then to
be able to restore them later if we abort). 
- we make in core modifications to VM copy DATA
- we end the transaction and  collect a set of modification
records and flushing that to a LOG file on the disk.

Truncation:
we truncate the LOG from time to time and modify the disk copy of DATA,
at which time it is like the "committed part" of VM again.

All of our DATA file (as much as 300MB and hopefully much more in the
future) ends up in VM.  However, much of it is backed by the disk copy of
the DATA file, namely before the transactions start and after the LOG is
truncated. 

Is there a method to say to the kernel: 

A)  this page is now starting to diverge from its disk copy, start
treating it as VM.
B)  we have now synced this page, forget about VM, it's backed by the
file again if you need to swap it out.

If not can we do something about that easily?

Thanks for your help.

- Peter -
Received on 1998-04-24 18:58:44