Bcachefs: виключено з ядра Linux 6.17 через конфлікт розробників
Bcachefs – це перспективна copy-on-write файлова система Linux, що підтримує шифрування, знімки, стиснення та багато іншого. Її розглядають як сучасного конкурента Btrfs і ZFS. Вона була початково включена до ядра 6.7, але завжди мала позначку “експериментальна”.
Проблеми зі стабільністю Bcachefs
Однак, інтеграція до ядра відбувалася не гладко. З часом стали очевидними проблеми зі стабільністю, постійні виправлення помилок та конфліктуючі коміти. Дійшло до того, що Лінус відкрито визнав у середині минулого року, що шкодує про додавання підтримки цієї файлової системи до ядра.
До того ж, тривалі розбіжності між провідним розробником Bcachefs Кентом Оверстрітом і Лінусом Торвальдсом нещодавно загострились.
Конфлікт навколо розкладу розробки
Суперечка виникла через давню дискусію про цикл розробки ядра. Лінус суворо дотримується дисципліни циклів випуску, дозволяючи лише мінімальні виправлення під час кандидатів на випуск.
Водночас Кент подав суттєві зміни (патч, що реалізує нову функцію “journal_rewind”, яка дозволяє скинути всю файлову систему до більш раннього моменту) виправдовуючи це терміновими потребами відновлення даних. Ці зміни надійшли пізно в циклі розробки.
Рішення Торвальдса про видалення Bcachefs
В результаті Лінус Торвальдс вилучив патч Bcachefs, запланований для 6.16-rc3, повідомивши, що він не буде включений у вікно злиття 6.17. Він пояснив, що Оверстріт дав “дуже чітко” зрозуміти, що Лінус не може навіть ставити під сумнів виправлення помилок, що змусило Лінуса відступити: “ми закінчили”.
Я прийняв цей патч, але також, згідно з тією дискусією, я думаю, ми розійдемося у вікні злиття 6.17. Ти дав дуже чітко зрозуміти, що я не можу навіть ставити під сумнів будь-які виправлення помилок, і я повинен просто приймати все. Чесно кажучи, в цьому випадку я не відчуваю себе комфортно взагалі брати участь, і єдине, з чим ми обидва, здавалося, фундаментально погодилися в тій дискусії, було “ми закінчили”.
Відповідь розробника Bcachefs
У відповідь Кент Оверстріт підкреслив своє зосередження на забезпеченні цілісності користувацьких даних. Він стверджував, що не міг відкласти певні виправлення і потребував, щоб Лінус “пом’якшив тон”, не використовуючи PR як зброю, почавши свою відповідь з:
Лінус, я не намагаюся сказати, що ти не можеш мати слова щодо bcachefs. Зовсім ні. Мені справді подобається працювати з тобою – коли ти не поводишся як придурок, але ти іноді можеш бути справді неможливим. Багато разів…
Наслідки для користувачів
Після видалення Bcachefs із версії 6.17, ця файлова система більше не отримуватиме автоматичної інтеграції в основну гілку, що вплине на її доступність та стабільність у поширених дистрибутивах. Користувачі, залежні від Bcachefs, ймовірно, потребуватимуть використання збірок поза деревом ядра або переходу на альтернативні файлові системи, якщо Кент і Лінус не примиряться до вікна злиття версії 6.18.
В цілому, ситуація з Bcachefs демонструє тонкощі процесу розробки ядра Linux, де підтримка дисципліни та чіткої комунікації має вирішальне значення. Фактично, користувачам доведеться шукати альтернативи або чекати вирішення конфлікту між розробниками.
Детальніше про Bcachefs можна дізнатися на офіційному сайті проєкту.