Chris Mason
2007-Jun-22 12:06 UTC
[Btrfs-devel] Btrfs v0.4 available (warning: disk format change)
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
Chris Mason
2007-Jun-26 05:51 UTC
[Btrfs-devel] Btrfs v0.4 available (warning: disk format change)
On Mon, Jun 25, 2007 at 10:42:36PM +0200, Christian Hesse wrote:> On Friday 22 June 2007, Chris Mason wrote: > > 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. > > Hi everyone! > > I wonder why nobody answered to this message, so I will do now. > > I'm not a coder but one of the guys who love to play with new code. > Additionally I I tested most filesystems available for linux today and > returned to ext3 some time ago, but it is sill not the right thing [tm]. > > The feature list is really great. Said this I had a lot of fun testing btrfs. > Everything worked smoothly: I untared a kernel tree, snapshotted, patched the > tree, snapshotted again, patched some other things, diffed the snapshots, ... > No problems so far, anything works reliable and without crashes. > > Oh, one more thing: I test a lot of kernel stuff and hate to recompile every > single module for a new kernel so I put it into my kernel tree. If anybody is > interested: Untar the archive to linux/fs/, more btrfs-${VERSION}/ to btrfs/, > apply the attached patch and run make oldconfig. > Btw, compiling btrfs into the kernel statically results in a kernel panic when > trying to mount the root fs, so the module is always built as module.Whoops, could you please paste that panic here?> > So please keep up the good work! I will keep an eye on btrfs and test the code > from time to time.Great, thanks for the testing! -chris