bcachefs is already mature enough to be included in the main Linux branch, according to its author's words 

bcachefs

Bcachefs is a copy-on-write file system for Linux-based operating systems.

recently aids Kent Overstreet, the author of bcachefs, in his speech at the LSFMM 2023 conference summarized the results of the work in the Bcachefs file system promotion on the main branch of the Linux kernel and discussed plans for further development of the kernel.

Bcachefs is developed using already proven technologies in the development of the Bcache block device, designed to cache access to slow hard drives on fast SSD drives (included in the kernel since version 3.10). Bcachefs uses the Copy-on-Write mechanism (COW), in which the changes do not lead to data overwriting: the new state is written to a new location, after which the current state indicator changes.

A feature of Bcachefs is the support for connecting multi-layer drives, in which storage is made up of multiple layers: faster drives (SSDs) are attached to the bottom layer, which are used to cache frequently used data, and the top layer forms larger-capacity drives and cheaper ones that store less demanded data. Write-back caching can be used between layers. Drives can be dynamically added to and detached from a partition without interrupting use of the file system (data migrates automatically).

Regarding the project, it is mentioned that the development goal of Bcachefs is to reach the level of XFS in terms of performance, reliability and scalability.

While providing additional features inherent to Btrfs and ZFS, such as multiple devices in one partition, multi-tier storage layouts, replication (RAID 1/10), caching, LZ4, gzip and ZSTD modes, state segments , checksum integrity verification, the ability to store Reed-Solomon error correction codes, storage of encrypted information.

In terms of performance, Bcachefs is ahead of Btrfs and other file systems based on the Copy-on-Write mechanism, demonstrating performance close to Ext4 and XFS.

Of the latest achievements in the development of Bcachefs, the stabilization of the implementation of snapshots available for writing stands out. Compared to Btrfs, snapshots in Bcachefs now scale significantly better and are free of the problems inherent in Btrfs.

In practice, the work of snapshots was tested when organizing MySQL backups. Bcachefs has also done a lot of work to improve scalability: the file system has performed well in tests on 100TB storage, and Bcachefs is expected to be deployed on 1PB storage in the near future.

In addition to this, it is also highlighted that added a new nocow mode to disable the "copy on write" mechanism. During the summer, they plan to bring the implementation of RAIDZ and error-correcting codes to a stable state, as well as solve problems with high memory consumption when restoring and verifying file systems with the fsck utility.

of plans for the future the d is mentionedI want to use the Rust language in the development of Bcachefs. According to the author of Bcachefs:

He likes to code, not debug code, and now it's crazy to write code in C when there's a better option. Rust is already involved in Bcachefs in the implementation of some of the userspace utilities. Also, the idea of ​​completely rewriting Bcachefs in Rust gradually is being hatched, as using this language significantly saves debugging time.

Regarding moving Bcachefs to the main kernel branch from Linux, the adoption process may be delayed due to the large size of the changes (2500 patches and about 90 thousand lines of code), which is difficult to review. To speed up the review, some developers have suggested splitting the patch series into smaller, more logically separated parts.

During the discussion, some participants also drew attention to the development of the project by a developer and the danger that the code could become unmaintained if something happened to its developer (two Red Hat employees are interested in the project, but your work is still pending). limited bug fixes).

In May, it was proposed to be revised and included in the main part of the Linux kernel. The readiness to review the implementation of Bcachefs before its inclusion in the Kernel was announced at the end of 2020, and the current version of the patches takes into account the feedback and deficiencies identified during the previous review.

Source: https://lwn.net/


Leave a Comment

Your email address will not be published. Required fields are marked with *

*

*

  1. Responsible for the data: Miguel Ángel Gatón
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.