Ex-Googler creates Bcachefs, first Linux file system written specifically for solid state disks.
An ex-Google engineer is developing a new file system for Linux to make it more speedier and more advanced in the way Linux stores data on servers.
Ex-Google engineer Kent Overstreet is developing a new file system for Linux called Bcache File System (Bcachefs). Right now he is looking for other like minded Linux developers to help him test it and suggest further modifications required.
With so many working file systems already available, Linux users may ask why create a new file system? On his blog, Overstreet explains the need for Bcache,
“Well, years ago (going back to when I was still at Google), I and the other people working on bcache realized that what we were working on was, almost by
accident, a good chunk of the functionality of a full blown filesystem – and there was a really clean and elegant design to be had there if we took it and
ran with it. And a fast one – the main goal of bcachefs to match ext4 and xfs on performance and reliability, but with the features of btrfs/zfs.
“It’s taken a long time to get to this point – longer than I would have guessed if you’d asked me back when we first started talking about it – but I’m pretty
damn proud of where it’s at now.”
Overstreet explained that the main goal of Bcachefs is to match the speed of the traditional Linux file systems with the advanced scalability and reliability of newer file systems such as Btrfs and XFS.
File systems are important because provide the interface to the operating system for storing files on a disk. As of now most widely used file system among Linux users is the decades-old Gnu/Linux Extended Filesystem series of filesystems of which Ext4 is the latest release. Over the years, need for speed and stability has caused many organizations and users to move towards other file systems, such as Btrfs or XFS which can handle very large amounts of data, or to use advanced techniques in ensuring data integrity.
Overstreet says Bcachefs will solve all these problems because it will comes with all the modern capabilities one would expect from a Copy on Write file system with features such as checksum, compression, support for multiple storage devices and caching. Another feature will be erasure coding, which is a method of writing data across the disk in multiple locations so it can be reassembled should bits of the data get corrupted and can’t be read. Overstreet says that Bcachefs is in development mode and and “all kinds of other nifty features,” will be added soon.
Overstreet showed the benchmark results of the new file system which show Bcachefs delivering compelling throughput compared to the widely-used ext4 file system and significantly faster speeds than btrfs in most instances.
There are a still a number of limitations of the new software, Overstreet pointed out. For one, the file system requires about 20% of the disk to perform operations. Also, the time it takes to mount the file system, or make it available to an operating system, may take longer than other file systems.
“My main priority is getting the code sufficiently stable and tested for production use, probably the #2 priority is snapshots,” concluded Overstreet. “Bcachefs won’t be done in a month (or a year), but I do want to see it out there and getting used.”
Overstreet has invited Linux developers to try it out to find bugs and also suggest any modifications. It’s in the bcache-dev branch, and you need the dev branch of bcache-tools: