|
|
Subscribe / Log in / New account

Btrfs to the mainline?

By Jake Edge
October 8, 2008

One of the kernel projects that seems to be attracting a fair amount of attention these days is the new, copy-on-write filesystem, Btrfs. While still rather immature—the disk format is slated to be finalized by the end of the year—Btrfs has reached a point where lead developer Chris Mason wants to start talking about when to merge it into the mainline. Some are advocating moving quickly, while others are a bit more skeptical that merging it will lead to faster development.

Merging Btrfs would have a number of advantages, but more eyes is what Mason is seeking:

But, the code is very actively developed, and I believe the best way to develop Btrfs from here is to get it into the mainline kernel (with a large warning label about the disk format) and attract more extensive review of both the disk format and underlying code.

The Btrfs developers are committed to making the FS work and to working well within the kernel community. I think everyone will be happier with the final result if I am able to attract eyeballs as early as possible.

Typically, kernel code is not merged until it is ready, but an argument can be made that filesystems, like device drivers, are sufficiently isolated from the rest of the kernel that an early inclusion will do little harm. Also, a kind of precedent was set by the early "merge" of ext4, though that was an evolution of the existing ext3 filesystem, while Btrfs is entirely new. Andrew Morton has been encouraging Mason to get Btrfs "into linux-next asap and merge it into 2.6.29". He describes his reasoning:

My thinking here is that btrfs probably has a future, and that an early merge will accelerate its development and will broaden its developer base. If it ends up failing for some reason, well, we can just delete it again.

For various reasons this approach often isn't appropriate as a general policy thing, but I do think that Linux has needed a new local filesystem for some time, and btrfs might be The One, and hence is worth a bit of special-case treatment.

Adrian Bunk is not convinced that an early merge will bring the benefits that Morton is touting. He points to an early ext4 development plan, noting that the timelines outlined in that message were, perhaps, overly optimistic. "When comparing with what happened in reality it kinda disproves your 'acceleration' point".

There is a difference, though, between ext4 and Btrfs, that Serge Hallyn points out:

OTOH, maybe it's just me, but I think there is more excitement around btrfs. Myself I'm dying for snapshot support, and can't wait to try btrfs on a separate data/scratch partition (where i don't mind losing data). btrfs and nilfs - yay. Ext4? <yawn> That can make all the difference.

The original timeline showed mid-2007 as a target for a stable ext4 filesystem, but the project overshot that by a year or so. A recent patch proposes renaming ext4dev to ext4 because it "is getting stable enough that it's time to drop the 'dev' prefix". Unexpected difficulties led to ext4 development taking longer, as Mason describes:

Ext4 has always had to deal with the ghost of ext3. Both from a compatibility point of view and everyone's expectations of stability. I believe that most of us underestimated how difficult it would be to move ext4 forward.

Many seem to think that Btrfs is different, but it still has a ways to go. Currently, it does not handle I/O errors very well, while running out of space on the disk can be fatal. But it is getting close to usable—at least for testing and benchmarking. Getting the code into the mainline would cause more folks to look at it, as well as test various filesystem changes against it. Mason gives an example of how that can work:

For example, see the streaming write patches I sent to fsdevel last week. I wouldn't test against ext4 as often if I had to hunt down external repos just to get something consistent with the current development kernels. ext4 in mainline makes it much easier for me to kick the tires.

Btrfs has an aggressive schedule that targets a 1.0 release this year. The focus of that release is to nail down the on-disk format so that changes after that point will be backward compatible. Given that 2.6.29 will likely be released in early to mid-2009, it seems quite possible that Btrfs will be "merge-worthy" by then, which means that it really is not premature to start considering it now.


Index entries for this article
KernelDevelopment model
KernelFilesystems/Btrfs


to post comments

Tux3

Posted Oct 9, 2008 4:25 UTC (Thu) by ncm (guest, #165) [Link] (3 responses)

How far along is Tux3, by comparison?

Tux3

Posted Oct 9, 2008 5:24 UTC (Thu) by axboe (subscriber, #904) [Link]

Is tux3 along at all? There's no comparison, btrfs is actually usable by now and has a sane lead developer. The latter is especially important for the longevity and success of the project.

Tux3

Posted Oct 9, 2008 5:55 UTC (Thu) by bronson (subscriber, #4806) [Link] (1 responses)

Code-wise or marketing-wise?

Tux3

Posted Oct 9, 2008 13:08 UTC (Thu) by daniel (guest, #3181) [Link]

Why don't you see for yourself?

Btrfs to the mainline?

Posted Oct 16, 2008 8:34 UTC (Thu) by Janne (guest, #40891) [Link]

I'm not really convinced by Adrian Bunk's argument. It's basically that
"ext4 was merged early, and it has fallen behind it's schedule". Well, it
could very easily be that the schedule was just too optimistic, and that if
they didn't merge early, they could be even further behind their schedule.

Btrfs to the mainline?

Posted Jan 8, 2009 13:23 UTC (Thu) by angelortega (guest, #1306) [Link]

For what is worth, I've translated this article to spanish here:
http://triptico.com/docs/lwn_302251.html


Copyright © 2008, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds