Ext3cow Versioning File System Released For 2.6 241
Zachary Peterson writes "Ext3cow, an open-source versioning file system based on ext3, has been released for the 2.6 Linux kernel. Ext3cow allows users to view their file system as it appeared at any point in time through a natural, time-shifting interface. This is can be very useful for revision control, intrusion detection, preventing data loss, and meeting the requirements of data retention legislation. See the link for kernel patches and details."
Re:So which is it? (Score:5, Informative)
Hooray for repeating history! (Score:1, Informative)
eg foo.txt;1 foo.txt;2
The C in CVS. (Score:5, Informative)
Sure you can "go back in time", but two users working on the same file at the same time would be a pain. Networking would require additional layers - even plain SAMBA/NFS, but still. Plus a bunch of userspace utilities as UI to access it easily.
It's not bad as a backend for such a system, just like MySQL is good as a backend for a website, but by itself it's pretty much worthless.
Interesting sponsor for ext3cow (Score:1, Informative)
(2006) FBI Head Wants Strong Data Retention Rules [slashdot.org]
(2005) EU Approves Data Retention [slashdot.org]
Re:Overhead? (Score:4, Informative)
It's a bit dry, but there is an explanation of how it stores the versions, plus some performance benchmarks.
Re:So (Score:3, Informative)
Re:Overhead? (Score:3, Informative)
Couldn't read TFA (slashdotted), but I would *imagine* that 'cow' is copy on write and that it just uses new blocks for the changes - so only the differences, but not minimal differences.
some background (Score:5, Informative)
I'm answering questions that people posted so far altogether.
It is a file system. You access old snapshot by appending '@timestamp' to your file name. You have to first instruct ext3cow to take a snapshot first before you can retrieve old copies, otherwise it simply behaves like ext3. It appears that snapshot is always performed on a directory and applies to all inodes (files and subdirectories) under it.
My complaint is its use of '@' to access snapshot. Why not use '?' and make it look like a url query? Better yet, use a special prefix '.snapshot/' like NetApp file servers.
ext3cow takes it's name from "copy on write," and it does this on the block level. When you modify a file, it appears to the file system that you're modifying a block of e.g. 4096 bytes. COW preserves the old block while constructing a new file using the blocks you modified plus the blocks you didn't modify.
You can think about it as block-level version control. However, when you save a file, most programs simply write a whole new file (I'm only aware of mailbox programs that try to append or modify in-place). Block-level copy on write is unlikely to buy you anything in practical use.
Only when you remember to make a snapshot of your whole directory. An hourly cron-job would do, maybe. There is always the possibility you delete a file before a snapshot is made.
Re:Overhead? (Score:3, Informative)
Re:True undelete (Score:4, Informative)
The second argument is that it's better handled in user space, so the OS doesn't have to make that sort of policy. There's no reason you can't just alias rm to some
The final argument I can come up with is security problems. We can't have one global
Reading historic archives of the LKML [iu.edu] suggests it's at least come up once. I guess Torvald's opinion is that anything that CAN go in the userspace SHOULD. Can't explain the webserver in kernel though. Perhaps that opinion has changed some time in the last 10 years?
Re:Can No One Else INNOVATE? (Score:2, Informative)
Can't tell, its slashdotted (Score:3, Informative)
I can't tell, the site is experiencing the
Mirror of the patch (I grabbed it when I saw this in the firehose) can be grabbed here [echoreply.us] until my server gets sluggish too.
in
The site said its not been tested with other kernel versions, but if you feel brave just s/linux-2\.6\.20\.3/your-version/g. Haven't tried it, but should work.
It wen't dark just around the time I was getting the docs and utilities.
Did anyone happen to grab the utilities? Got a link?
Re:So (Score:3, Informative)
Re:Excellent work but... (Score:3, Informative)
Re:Can No One Else INNOVATE? (Score:2, Informative)
*scratches head* Unix? Versioning? Never seen it myself. Not to say it isn't there, but over the years I've used several *ix flavors and fs versioning isn't something I've come across. I suppose next you'll tell us Unix has file locking (afaik it doesn't, unless you count advisory locks. I don't).
I hate to be one to point this out, but, er... Time Machine is a BACKUP tool. Don't believe me? Go to http://www.apple.com/macosx/leopard/timemachine.ht ml [apple.com] and read the copy yourself, being sure to pay special attention to use of phrases like "the drive you're backing up to". How on earth you could possibly confuse a backup tool with a versioned file system is beyond me.