Bcachefs drivers have been submitted to Linux6.5, but due to various technical issues and disputes between developers, the startup was not merged during this development cycle, and Bcachefs still faces challenges in kernel integration. Bcachefs was rejected for integration into the Linux kernel as a promising new file system, and the controversy centered on the Bcachefs submission not only to fix bugs, but also to develop new features. The new features affect even non-BCacheFs files, beyond the small fixes typically allowed after kernel release.
Another point of contention is that Linux Pay has concerns about some of the Bcachefs code, particularly with regard to partial locking code. Some of the Bcachefs prerequisite code should be accessed through their respective subsystem/maintainer branches, not scaled up into PR. I'm more concerned about what's inside Bcachefs, and I want someone to look at these six locks and at the same time these can only be inside Bcachefs, they can't affect anything else. But this has not been proven.
Bcachefs file system drivers were not incorporated during the Linux 6.5 development cycle, and even though Bcachefs has great capabilities, more development and testing is needed before it is widely accepted by the Linux community. Whether Bcachefs will be integrated into the Linux kernel in the future is also a question.
Bcachefs as a powerful new file system, the future development and improvement direction should focus on the following aspects to meet the requirements of the Linux kernel!
In terms of performance, you need to provide XFS/ EXT4-like performance with Btrfs and ZFS features. Therefore, performance optimization is an important direction, including code refactoring and algorithm improvement to adapt to larger storage devices and improve scalability.
In terms of functionality improvements, Bcachefs adds support for Reflinks. And achieved up to a million snapshots in tests without encountering scalability issues. There should also be new features added in the future, such as improved snapshot support and more efficient data deduplication.
In terms of reliability and robustness, the goal of Bcachefs developers is to make Bcachefs a replacement for XFS, which means there is still a lot of work to be done on error handling, data consistency, and system recovery.
In terms of integration and compatibility, Bcachefs is a GPL license and does not have the same license conflict issues as ZFS. So Bcachefs can be more tightly integrated into the Linux kernel. Bcachefs should also continue to focus on improving compatibility and integration with other kernel components in the future.
Bcachefs in support of new technologies, Bcachefs is adding support for persistent data structures, these support early file system regularly scan file architecture for maintenance, Bcachefs is also considering support for area storage devices, which is also a big trend in the future.
Refactoring and optimization of Bcachefs code, and its allocators are being rewritten to address algorithmic scalability issues, especially when dealing with large SSD arrays. Code refactoring and optimization is a long-term task that ensures Bcachefs runs efficiently in multiple hardware configurations.
In community feedback and testing, Bcachefs has been incorporated into the Linux-Next code tree, which allows more developers to focus on the code and automated build/test foundation. Community feedback and testing can also optimize the quality of Bcachefs.
Bcachefs is gradually entering the main line, and having more detailed documentation and communities will be an important part of helping users understand and use Bcachefs effectively.
Of course, Bcachefs currently faces technical challenges, such as kernel integration, locking code, immature tools and ecosystem, not applicable to older hardware, different version compatibility, not supporting advanced features, multi-device fstab issues, mount encrypted data device errors, and so on.