April 25, 2019

Next Generation of Btrfs Linux Filesystem Nears Prime Time

Btrfs, Future Linux Default Filesystem

  • August 27, 2010
  • By Sean Michael Kerner
Sean Michael Kerner

Since at least 2008, the Btrfs Linux filesystem has been talked about as a next-generation technology one day potentially rivalling or supplanting the current dominant Linux filesystems.

According to Chris Mason, founder of the Btrfs effort and now director of software development at Oracle, Btrfs is today generally stable and usable even though it's yet to be finalized. And although he admits the filesystem still has some issues to overcome as development continues, Mason said he would like to see Btrfs ultimately replacing existing Linux filesystems like the popular Ext3 and Ext4 systems that are often the default on enterprise Linux distributions.

"The reason why we decided to go with a new filesystem instead of expanding an existing one is we wanted to provide something that was focused on features that the existing Linux filesystems just couldn't provide," Mason said during an Oracle-sponsored webcast on the state of Btrfs, which first landed in the Linux 2.6.29 kernel and has been improved with each subsequent kernel release.

Mason explained that the foundation of Btrfs is its use of copy on write (COW), an approach that means Btrfs never directly overwrites data during normal operations. Instead, Mason said Btrfs writes the new values for metadata and data elsewhere, and then points the filesystem to the new location.

"What this allows us to do is have very strong consistency checks and integrity checks to make sure, as we move along, that the drive returns exactly the data that we wrote," Mason said. "That's a very important part of keeping data manageable as you scale storage up to massive sizes."

In addition to COW, Btrfs provides the ability to take snapshots as well as the ability to resize the filesystem.

For migration, Mason noted that Btrfs provides the ability to do offline conversion of existing Ext3 or Ext4 filesystems to make it easier for developers to try out the new filesystem.

"We create the Btrfs filesystem in the free space of the Ext3 or Ext4 filesystem and we create Btrfs metadata that points to the data blocks from the Ext3/4 files," Mason said. "Then we basically make a snapshot of the Ext3/4 filesystem."

Most Popular LinuxPlanet Stories