[Btrfs-devel] Btrfs v0.4 available (warning: disk format change)

Chris Mason chris.mason at oracle.com
Fri Jun 22 12:03:39 PDT 2007


Hello everyone,

I wasn't planning on sending out v0.4 until ENOSPC was fixed, but Frank
Groeneveld narrowed down a bug with the file data checksumming code on
highmem 32bit machines.

Basically the way I was using cryptomgr made it incorrectly calculate
checksums on highmem pages.

So to simplify things, I've switched over to plain libcrc32c.  Anyone
running on a 32 bit with highmem is going to hit this bug.  Now you only
need to compile:

CONFIG_LIBCRC32C=m

Into the main kernel (static is also fine).

v0.4 has my first round of enospc fixes, which tries much harder to find
free blocks when initial allocation fails.  Things will still go very
badly when the FS is full, but now full is defined as pretty close to
100%.

v0.4 does have a disk format change.  I added some fields to the tree
root items so that I could detect and remove dead roots after a crash.
This recovers space taken up in tree roots that were either being
pruned or scheduled for pruning at the time of the crash.  Any
filesystems made with either earlier versions will not be readable by
v0.4.

If you update, please make sure to get both the userland progs and the
kernel modules.  If they don't match you will crash in strange and
unhappy ways.

-chris




More information about the Btrfs-devel mailing list