Ext3cow Tools

There are two categories of tools on this page: those I wrote, and those I didn't. The former consists of simple tools to interface with the file system (through ioctls) and to calculate epoch numbers. The latter is a patched version of e2fsprogs. Specifically, it's a patched version of mkfs. The rest of the e2fsprogs are lying in various states of priority on my ToDo List. Trying to keep up with all the bug fixes and updates myself is overwhelming, so I'm posting a patch and the unpatched source tree in which I developed the patch. If you're adventurous, you can get the latest and greatest e2fsprogs release, and patch it yourself. how it turns out.

For all the details, check out the tools README. In the meantime, here are some quick steps to building a patched mkfs:

  1. Download all three of the files below. Decompress and extract them (tar zxvf *.tgz and gzip -d *.gz).
  2. Copy e2fsprogs-ext3cow.patch to the e2fsprogs directory. In the directory type patch -p1 < e2fsprogs-bk-20020620-ext3cow.patch.
  3. Run ./configure and then make. Don't run make install.
  4. In the misc directory, copy mke2fs to mkfs.ext3cow somewhere in your execution path. (The other mkfs's are usally in /sbin and you'll probably need to be root to do this.)
NOTE! The mke2fs program must be renamed mkfs.ext3cow to properly format an ext3cow partition.

NOTE! In order to make the ext3cow-tools, you'll need to copy the ext3cow header file (/usr/src/linux-2.4/include/linux/ext3cow_fs.h) to someplace where gcc knows how to get to it. /usr/include/linux/ is the best place, and where the ext3cow-tools will be looking for it.

  • ext3cow-tools.tgz (My tools)
    • e2d - epoch-to-date: takes an epoch number and returns the calendar date.
    • ss - snapshot: Takes a snapshot of the file system.
    • tt - get the current epoch number.
  • e2fsprogs-bk-20020620-ext3cow.patch.gz
  • e2fsprogs-bk-20020620.tgz