Линус Торвалдс потвърди премахването на Bcachefs от кодовата база на ядрото на Linux във версия 6.18. Това решение бележи значителна промяна в еволюцията на файловата система, която сега продължава развитието си извън основното ядро на операционната система.
В предишната версия, Linux 6.17, Bcachefs вече беше преминал във външен режим на поддръжка , което означаваше, че в основното дърво на ядрото нямаше да бъдат приемани повече корекции , въпреки че кодът остана включен, за да се улесни преходът.
С новата версия, разработчикът на Bcachefs започна да разпространява своята файлова система като самостоятелен модул по модела DKMS (Dynamic Kernel Module Support) - система, която позволява модулите на ядрото да се компилират и поддържат автоматично и динамично, дори след всяка системна актуализация.
Защо Bcachefs беше премахнат от основното ядро
Решението за пълно премахване на Bcachefs от кодовата база беше взето, за да се избегне объркване и конфликти между различните версии на кода . Въпреки че беше преместен за външна поддръжка, разработчиците на ядрото продължиха да получават корекции и доклади за грешки относно Bcachefs, а автоматизираните системи за проверка продължиха да откриват проблеми. Това създаде ненужен работен процес и шум в основния процес на разработване на ядрото.
Сега потребителите, които желаят да използват тази файлова система , трябва да инсталират най-новия DKMS модул , докато разработчиците трябва да изпращат своите корекции до отделен пощенски списък, посветен изключително на нейната поддръжка и развитие.
Bcachefs под DKMS: пълна независимост и съвместимост
Преминаването към DKMS позволява на Bcachefs да стане независим от цикъла на разработка на ядрото на Linux . С тази система модулите се разпространяват като изходен код и се компилират автоматично в системата на потребителя при инсталиране на пакета или след актуализация на ядрото. Благодарение на тази гъвкавост, Bcachefs може да остане актуален, без да разчита на официални версии на ядрото.
Освен това, модули, генерирани с помощта на DKMS, могат да бъдат включени във файла initramfs , което позволява Bcachefs да се използва дори като коренна файлова система. Това гарантира, че потребителите няма да загубят функционалност или стабилност при мигриране към новата самостоятелна версия.
Новата посока на проекта Bcachefs
Кент Овърстрийт, водещият разработчик на Bcachefs, сподели подробности за текущото състояние на модула DKMS и неговата съвместимост с различни дистрибуции. Сглобката работи правилно с ядра 6.16 и 6.17, а също така е съвместима с предварителните версии на Linux 6.18.
Проектът поддържа два активни клона: „nightly“ за тестване на най-новите промени и „release“ – предназначен за производствени среди. В бъдеще се планира добавянето на трети клон, наречен „stable “, който ще бъде актуализиран с леко закъснение в сравнение с версията „release“, за да се подобри стабилността и да се включат корекции на грешки. Освен това се очаква проектът скоро да се откаже от етикета си за експериментална файлова система, като по този начин затвърди техническата си зрялост.
Състояние на поддръжката за основните Linux дистрибуции
Няколко дистрибуции започнаха да интегрират Bcachefs чрез DKMS, предлагайки различни нива на поддръжка:
- NixOS и Arch Linux вече включват Bcachefs в официалните си хранилища, напълно мигриран към DKMS, без да е необходима намеса от страна на потребителя.
- В Debian и Ubuntu са пуснати външни пакети като bcachefs-kernel-dkms и bcachefs-tools и се полагат активни усилия за официалното им включване в основната дистрибуция.
- Във Fedora пакетът беше премахнат от основните хранилища поради политики, ограничаващи външните модули, въпреки че остава достъпен чрез Copr и се работи върху него в специално хранилище, rpm.bcachefs.org.
- openSUSE поддържа пакета bcachefs-tools, въпреки че в момента няма налични актуализации или поддръжка за DKMS. Сътрудничеството с разработчиците на пакета остава замразено.
- В Slackware, член на общността поддържа неофициален пакет с поддръжка за Bcachefs.
Сравнителни резултати от производителността
Анализ, проведен от Phoronix, сравнява производителността на Bcachefs с други файлови системи като OpenZFS, Btrfs, Ext4, F2FS и XFS, използвайки ядрото на Linux 6.17 . Резултатите показват, че макар Bcachefs да не се отличи в повечето тестове, той остава конкурентоспособен и има достатъчно място за подобрение.
Системи като F2FS, XFS и Ext4 оглавиха повечето бенчмаркове, докато OpenZFS се очерта като лидер в тестовете SQLite и Dbench, макар и с по-ниска производителност в тестовете Flexible IO Tester.
Премахването на Bcachefs от ядрото на Linux не бележи неговия край, а по-скоро началото на нова ера . Неговата независимост чрез DKMS му дава свободата да се развива със собствено темпо, без да зависи от строгия цикъл на разработка на основното ядро. Със солидна техническа основа и проактивен фокус върху стабилността, Bcachefs се очертава като реална и модерна алтернатива за тези, които търсят баланс между производителност, сигурност и гъвкавост в Linux системите.