(Illustration by Gaich Muramatsu)
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