Линус Товальдс сообщил автору проекта файловой системы Bcachefs Кенту Оверстриту (Kent Overstreet), что намерен исключить код Bcachefs из ядра Linux 6.17. Ранее Торвальдс принял в состав ядра 6.16 изменения в Bcachefs, ставшие предметом очередного недовольства действиями Оверстрита.«Я считаю, что наши пути разойдутся в окне слияния 6.17.
Вы очень ясно дали понять, что я не могу подвергать сомнению какие‑либо исправления ошибок и должен просто принимать всё подряд.
Честно говоря, я не чувствую себя особо комфортно, будучи вовлечённым во всё это, и единственное, с чем мы оба, похоже, действительно согласились в обсуждении, это то, что «мы закончили»», —
сообщил Торвальдс.
По информации OpenNET, предшествовавшая данному заявлению переписка с Оверстритом велась в личном порядке и её детали пока не ясны. Тем не менее, в обсуждении этой сложной темы Оверстрит написал, что возможно его слова в частной переписке были неправильно истолкованы и он не считает, что BcacheFS следует исключить из ядра. При этом Оверстрит готов к прекращению поставки Bcachefs в основном составе ядра Linux и это не убьёт проект, хотя и будет огромной проблемой.
В случае удаления Bcachefs из кода ядра Linux разработка проекта будет продолжена и данная ФС станет распространяться в форме модуля DKMS. Оверстрит также отметил, что исключение BcacheFS из ядра будет лучшим вариантом для его с Торвальдсом спокойствия, но явно не станет лучшим решением для пользователей и сообщества разработчиков.
Споры между Оверстритом и Торвальдсом был вызваны постоянными нарушениями правил отправки изменений и исправлений в ядро. Оверстрит считает, что исправления проблем в ФС должны продвигаться безотлагательно и любыми возможными способами.
Торвальдс настаивает на том, что функциональные изменения и крупные исправления допускаются на начальной стадии разработки новой ветки ядра, а поздние кандидаты в релизы сосредоточены только на исправлении ошибок.
Оказалось, что Оверстрит регулярно нарушает подобное правило и присылает крупные изменения в неподходящий момент, что приводит к недовольству Торвальдса и к новой волне споров между ними. Ранее Торвальдс уже несколько раз предупреждал Оверстрита о желании удалить Bcachefs из основного ядра, так как Оверстрит продолжает играть один в своей песочнице, не подключается к совместной работе и не желает принимать правила игры сообщества разработчиков ядра Linux.
В случае с ядром Linux 6.16 Оверстрит отправил для включения в обновление Linux 6.16 RC3 набор патчей, среди которых был патч с реализацией новой опции journal_rewind. Торвальдс написал, что Оверстрит забыл о том, что после закрытия окна приёма функциональных изменений добавление новой функциональности в ядро Linux не допускается, даже если она связана с исправлением других ошибок, так как добавление новых возможностей на поздних стадиях формирования релиза может привести к регрессиям. Кроме того, Bcachefs продолжает позиционироваться как экспериментальная ФС и оперативность устранения ошибок в ней не является столь критичной.
Оверстрит ответил Торвальдсу, что главная цель разработки ФС — предоставить пользователям работающий код, поэтому он не намерен уступать в вопросах, касающихся исправления ошибок, влияющих на сохранение целостности данных. В отличие от других подсистем, ошибки в ФС не решаются перезагрузкой и могут приводить к повреждению данных, поэтому, по мнению Оверстрита, откладывание их исправления до следующего окна приёма изменений недопустимо, даже если подобные исправления требуют внесения крупных изменений.
В рамках патча Оверстрита добавленная опция journal_rewind откатывала изменения в журнале для сброса ФС в более раннее состояние. Оверстрит считает, что новая опция должна быть включена безотлагательно, так как она решает проблему с восстановлением ФС у пользователей, столкнувшихся с ошибкой при удалении подразделов и не имеющих резервной копии. Вначале Торвальдс отказался принимать набор патчей с этим изменением в ядро 6.16-RC3, но после личной переписки с Оверстритом автор изменил свою позицию и принял изменения в кодовую базу, на основе которой формируется обновление 6.16-RC4.
Ранее Линус Торвальдс отверг идею включения инструментария для мониторинга DAMON (Data Access MONitor) по умолчанию в ядре Linux. Проект DAMON — это решение для мониторинга доступа к данным для ядра Linux, разработанное Amazon и другими сторонними разработчиками для мониторинга системы, оптимизации производительности/эффективности и многого другого. Но оно не настолько новаторское, чтобы его стоило включать по умолчанию во всех сборках ядра Linux, решил Линус Торвальдс.
Источник новости: habr.com