Конфликт в ядре Linux: Почти 70 строк кода, которые могут спасти ваши данные — или расколоть сообщество

Конфликт в ядре Linux: Почти 70 строк кода, которые могут спасти ваши данные — или расколоть сообщество

Linux 6.16 может лишиться ключевой функции восстановления из-за бюрократии.

image

В сообществе разработчиков ядра Linux возник спор из-за новых изменений в файловой системе Bcachefs, которые были предложены уже после завершения официального окна для добавления новых функций в релиз 6.16. Согласно принятой практике, в такие периоды допускаются только исправления ошибок, но разработчики Bcachefs продолжают настаивать на внедрении дополнительного кода, аргументируя это необходимостью повысить надёжность системы.

Накануне был представлен очередной пакет обновлений Bcachefs, включающий как мелкие исправления и устранение регрессий, так и новую функцию под названием journal_rewind. Эта возможность позволяет откатить состояние файловой системы на более ранний момент и предназначена для аварийного восстановления. Хотя реализация ещё не завершена и содержит известные ограничения, авторы считают её важным шагом вперёд в повышении устойчивости Bcachefs.

Линус Торвальдс отреагировал на это достаточно резко. Он напомнил, что окно слияния предназначено исключительно для новых функций и давно закрыто. По его мнению, добавлять функциональность под предлогом исправлений недопустимо, особенно если речь идёт о системе, которая всё ещё считается экспериментальной. Он подчеркнул, что в релизных кандидатах должны появляться только настоящие исправления.

Ведущий разработчик Bcachefs Кент Оверстрит в ответ выразил несогласие с таким подходом. Он указал, что большинство пользователей просто хотят получить стабильную и работающую систему, особенно после негативного опыта с другими файловыми системами, такими как Btrfs и даже XFS. По его мнению, главное — это доверие пользователей, и ради этого он готов оперативно внедрять улучшения, даже если формально они считаются новыми функциями.

Кент также отметил, что файловые системы не могут позволить себе роскошь перезагрузкой устранять ошибки, как это возможно в других частях ядра. В некоторых случаях ему приходилось срочно добавлять новые механизмы хранения данных, чтобы предотвратить потенциальную потерю информации. Он подчеркнул, что речь сейчас идёт всего лишь о патче на 70 строк, который, по его мнению, может спасти данные пользователей, и нет смысла откладывать его на три месяца.

Отдельно Кент упомянул, что ведёт активную работу с сообществом, оперативно реагирует на отчёты об ошибках и постоянно улучшает инструменты отладки. Это позволяет быстрее находить и устранять проблемы, что особенно важно, когда код используется в реальных условиях на пользовательских системах. Он убеждён, что поддержка и обратная связь с пользователями — не менее важны, чем сам код.

На момент публикации Линус Торвальдс не принял решение о включении последних изменений Bcachefs, включая функцию journal_rewind, в следующий релизный кандидат.