Oracle’s TechCast crew interviewed Chris Mason on Btrfs.
The Podcast (MP3) about the new file system is roughly 10 minutes long and speaks about the aims of Btrfs, the planned features and the adoption in the community.
Unfortunately there is no transcript of the record (am I really the only one who dislikes podcasts and would prefer written interviews?), but here are the most notable comments and quotes I was able to write down (in no particular order):
Btrfs is explicitly designed to replace ext3 – current file systems for Linux are identified as not sufficient for today’s needs. Because, while it is easy to make a file system that addresses a large disk it is difficult to make a file system that really manages such large amounts of data: disk or data errors have to be handled, consistency checks must be possible, and it should be possible to add and remove drives.
All these things take too long time or are simply impossible with ext3 or other typical Linux file systems. And Chris isn’t alone with this statement – other kernel developers like Andrew Morton agree here and see the need for a better file system.
As a result of this situation the design of Btrfs is unlike the old UFS type file systems which most file systems for Linux follow, but takes a new approach. In this regard it has similarities with ZFS which was designed in the same time frame. For the same reason both have a comparable set of features, btw.
However, Chris keeps the typical Linux file systems in mind while developing Btrfs: he aims to compete “with ext3 in terms of excellent usage for mid range server workloads” and with XFS for its capabilities “to scale and address large amounts of storage”.
The features of the new file system were also outlined: snapshots, online file system checker, online defragmentation and resizing, object level striping and mirroring (so you have duplicates on the disk of critical files), validating and compression of the entire file system.
This list isn’t new but it is good to hear that it hasn’t changed that much since the first announcement.
Anyway, the snapshot part was explained in more details:
It is not that taking snapshots is a feature which was added later on, but it is the basic principle of the file system: “everything is basically a snapshot, every transaction is a snapshot that is just quickly removed when the transaction is over”. Snapshots can also be snapshotted again later on. So you can take a snapshot and turn in into a real part of your file system later on.
Chris summed up these points in a single phrase which hits the mark:
snapshot is […] a first class citizen in the file system
I’m really looking forward to Btrfs since I could use some snapshot support in Linux. Especially in case of backups this can come in handy, and I also would like to have something similar to Window’s shadow copies.
However, one thought struck me this evening: everyone talks these days about ZFS like file systems – what happened to the ideas of creating database like file systems? Did this idea die out?