cowdancer - copy-on-write data access completely in userland

What is cowdancer?

cowdancer is an userland implementation of copy-on-write filesystem.

screenshot

This is a screenshot of a cowdancer session.

Usage

cow-shell, a utility program is included. Invoking cow-shell will start a shell session that will protect the i-node below the current directory. Trying to write to a file within that session will result in creatin a new i-node before write, if that particular i-node is protected.

The following is a use-case:

$ tar xfz glibc*.tar.gz
$ cp -al glibc-2.3.2 glibc-2.3.2.orig
$ cd glibc-2.3.2
$ cow-shell
Invoking /bin/bash
$ vi
$ ls -li NEWS
801386 -rw-r--r--  2 dancer dancer 53267 2003-01-13 18:26 NEWS
$ vi NEWS
$ ls -li NEWS
2030426 -rw-r--r--  1 dancer dancer 53272 2005-08-13 21:26 NEWS
$ exit
$ cd ..
$ diff -ur glibc-2.3.2-orig/ glibc-2.3.2
diff -ur glibc-2.3.2-orig/NEWS glibc-2.3.2/NEWS
--- glibc-2.3.2-orig/NEWS       2003-01-13 18:26:13.000000000 +0900
+++ glibc-2.3.2/NEWS    2005-08-13 21:26:46.000000000 +0900
@@ -1,3 +1,5 @@
+:wq
+
 GNU C Library NEWS -- history of user-visible changes.  2003-1-12
 Copyright (C) 1992-2002, 2003 Free Software Foundation, Inc.
 See the end for copying conditions.

    

How to install

If you are using Debian sid just do apt-get install cowdancer. It will hopefully be incorporated in Debian etch or later.

related works


Junichi Uekawa

$Id: cowdancer.html.en,v 1.4 2006/06/14 13:45:43 dancer Exp $