Hi, This is an update on using userland COW method with pbuilder.
cowdancer is a tool that allows you to "cp -al" (hardlink) a tree, and break the hardlink when a write-open to a file is performed. The adventurous part of cowdancer COW implementation is that it's trying to do this from within userland only. cowbuilder doesn't really exist yet; it's a name for pbuilder ported to fully use cowdancer. cowdancer is under development, and Debian package exists in unstable. It seems like it's getting nearly there with the feature set. With version 0.8, performance is improved against a large tree (I profiled against building the kernel), and with version 0.9, I fixed a bug which you could not replace /lib/ld.so while cowdancer was running. There are a few known bugs and limitations with cowdancer: 1. dpkg does open(O_RDONLY), fchown()/fchmod(). cowdancer is built on a heuristics where a read-only access to an i-node will not modify the i-node. This case is currently not handled. 2. cowdancer is user-space application because it is a user-space application, it cannot do copy-on-write operation atomically. If there was a multi-thread application trying to newly open a file for write, there is a race condition for COW. However, most of the tests indicate that it's working good enough. tests/log/900_test_pbuilder.sh.log in cowdancer source tree is a log of a run, and tests/900_test_pbuilder.sh is the script to invoke pbuilder for testing. There is no pretty frontend to pbuilder-cow yet, but it seems to be theoretically there. The guts of cowbuilder from tests/900_test_pbuilder.sh are: sudo cp -al $ORIG $WORK-1 sudo cp var/log/dpkg.log /tmp/a sudo pbuilder update --buildplace $WORK-1 --no-targz --internal-chrootexec "chroot $WORK-1 cow-shell" sudo pbuilder build --buildplace $WORK-1 --no-targz --internal-chrootexec "chroot $WORK-1 cow-shell" dsh*.dsc regards, junichi -- [EMAIL PROTECTED],netfort.gr.jp} Debian Project -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]