In discussing the latest batch of corrections proposed for inclusion in the 6.11-rc5 kernel by the author of Bcachefs, Linus Torvalds expressed his regret about having accepted the Bcachefs file system into the kernel. Torvalds' dissatisfaction stems from the fact that Kent Overstreet, the author of Bcachefs, sends overly large patches during the release candidate phase, which not only fix bugs but also continue to develop functionality. Functional changes are only permitted in the initial development stage of a new branch, while during the rc5 phase, only small, separate fixes should be accepted, ideally not exceeding 100 lines of code.
The patch submitted for Bcachefs added 1,309 lines and removed 671 lines across 39 files. Besides fixing bugs, it included two significant changes: support for a new data structure to manage the list of free elements in the cache and the ability to convert hash tables for the cache. The new structure was added to eliminate unnecessary cache locks and to prevent situations that could lead to lock contention under multi-threaded loads.
This is not the first instance where large fixes for Bcachefs are sent after the window for accepting changes, nor the first time that heavier functional additions are promoted instead of simple bug fixes via patch requests at the final stages of a new branch's development. Linus Torvalds responded to the submitted pull request:
Enough. The last pull request was also large. This pull request is too massive as well, touching on matters unrelated to Bcachefs, and it's certainly not any sort of regression. At some point, 'fixing something' simply turns into development, and that moment has arrived. No one in their right mind uses Bcachefs and expects stability from it, so every user is a test subject. The Bcachefs patches have become a sort of 'major development during the release cycle, rather than before it,' to the extent that I'm starting to regret accepting Bcachefs. If Bcachefs cannot function properly according to the main kernel's development timetable, perhaps it shouldn't be in the main kernel. This has already crossed the line from funny.
Kent Overstreet replied that Bcachefs is definitely more reliable than Btrfs and he is working to make it even more robust and dependable than XFS and EXT4, thanks to the implementation of end-to-end data integrity. Kent also emphasized that the proposed changes directly relate to improving reliability, and while failures in other kernel subsystems may result in crashes and reboots, the cost of errors in file systems is very high and can lead to undetected data corruption that may only be noticed weeks later.
Torvalds countered that there are still no major Linux distributions using Bcachefs, and pointed out that the rules of kernel release development should be followed, as there is a risk of new bugs arising from such large patches containing more than 1000 lines of code. Currently, the fixes being discussed for Bcachefs have not been accepted into the Linux kernel, and the Bcachefs developer has yet to prepare an updated pull request that avoids adding new functionality and focuses solely on bug fixes.
Source: opennet.ru
