<body><script type="text/javascript"> function setAttributeOnload(object, attribute, val) { if(window.addEventListener) { window.addEventListener('load', function(){ object[attribute] = val; }, false); } else { window.attachEvent('onload', function(){ object[attribute] = val; }); } } </script> <div id="navbar-iframe-container"></div> <script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script> <script type="text/javascript"> gapi.load("gapi.iframes:gapi.iframes.style.bubble", function() { if (gapi.iframes && gapi.iframes.getContext) { gapi.iframes.getContext().openChild({ url: 'https://www.blogger.com/navbar.g?targetBlogID\x3d23884446\x26blogName\x3dJust+Another+Tech+Blog\x26publishMode\x3dPUBLISH_MODE_BLOGSPOT\x26navbarType\x3dSILVER\x26layoutType\x3dCLASSIC\x26searchRoot\x3dhttps://justanothertechblog.blogspot.com/search\x26blogLocale\x3den_US\x26v\x3d2\x26homepageUrl\x3dhttp://justanothertechblog.blogspot.com/\x26vt\x3d-484221019928432923', where: document.getElementById("navbar-iframe-container"), id: "navbar-iframe" }); } }); </script>

Just Another Tech Blog

Anything and everything having to do with technology, computers, science, and most of all... Linux! The documentation of my Linux endeavor.

The ext3cow File System

Thursday, May 03, 2007

ext3cowThe ext3 file system is a very popular, and powerful file system used in many of today's distros. But, there is always room to innovate, as the developers of the ext3cow file system are showing.
Ext3cow is an open-source, versioning file system based on ext3. It provides a time-shifting interface that allows a real-time and continuous view of the past. This allows users to access their file system as it appeared at any point in time.
The ext3cow file system is basically an ext3 file system with (and this is where it gets interesting) a copy-on-write mechanism (hence, COW). The developers explain it better:
COW stands for copy-on-write, the mechanism used to implement block versioning. It works like this: When you make a change to a file, instead of writing the new data over the old data, we preserve the old data, and allocate new data blocks for the new data. Only the changed data is given a new allocation, allowing similar data blocks to be shared between versions — this minimizes the amount of data required to support versioning.
This feature can be useful in a wide variety of both desktop/ client and server applications, as one can well imagine. The best news is that there is a relatively low overhead (one has to allocate space for those "backups" somewhere), ranging from about 5% - 15%. It also has in extremely simple interface (see here), which adds to its appeal. Add to that the fact that it is completely modular (no changes to the kernel or VFS interfaces), and you have a very compelling argument for the ext3cow file system.
Read more about the ext3cow file system @ ext3cow.com.

Note from the Nerd: I'll have to try this when school is out... right now, its just tests, exams, projects, studying, etc. I have some nice stuff in store for the summer though.... :-)
posted by linnerd40, Thursday, May 03, 2007


Add a comment