На прошлой неделе в начале окна слияния Linux 6.16 были внесены многочисленные оптимизации производительности Bcachefs, работы по восстановлению и улучшенные сообщения об ошибках. Теперь, в преддверии релиза Linux 6.16-rc1, который выйдет в воскресенье и завершит окно слияния, был слит второй раунд улучшений и исправлений Bcachefs.
В среду вечером ведущий разработчик Bcachefs Кент Оверстрит (Kent Overstreet) разослал второй раунд изменений Bcachefs. С тех пор код был объединен с этой смесью исправлений и других изменений.
Вторая партия изменений Bcachefs для Linux 6.16 включает в себя больше улучшений использования стека, новые возможности интроспекции, различные улучшения ремонта и устранение серьезной ошибки, которая появилась в Linux 6.15 и могла привести к потере данных.
Что касается этой ошибки в Linux 6.15, то она привела к потере данных. Оверстрит прокомментировал это в запросе на исправление:
«Отладка заняла больше времени, чем следовало, и мы потеряли несколько файловых систем без необходимости, потому что пользователи игнорировали примечания к выпуску и слепо запускали
fsck -y
. Отладка требовала восстановления произошедшего путем анализа журнала, когда в идеале кто-то должен был заметить: «Эй, fsck спрашивает меня, хочу ли я исправить это: обычно он этого не делает, может, мне стоит запустить это в режиме сухого прогона и проверить, что происходит?». Напоминаем, что ошибки fsck помечаются как автоисправляемые, как только мы убедимся в их корректной работе в реальных условиях; слепой запускfsck -y
на экспериментальной файловой системе – это игра с огнем.
До этого инцидента у нас была отличная репутация по предотвращению потери данных, так что давайте постараемся извлечь уроки из этого случая. Это работа сообщества, я не смог бы сделать это без помощи всех людей, которые проверяют и предоставляют отличные отчеты об ошибках и отзывы, основанные на реальном использовании. Но, пожалуйста, не игнорируйте советы. Если ошибка не отмечена как автоисправление, но она происходит в природе, это тоже то, о чем я должен знать, чтобы мы могли проверить ее и добавить в список автоисправлений, если исправление выглядит хорошо. Я не получал таких сообщений, а должен был бы; поскольку у нас пока нет никакой телеметрии, я полностью завишу от сообщений пользователей. Теперь я проведу выходные, работая над новым кодом восстановления, чтобы посмотреть, смогу ли я вернуть файловую систему пользователю, у которого не было резервных копий.»
Смотрите этот pull request для последнего объединенного кода Bcachefs.
Комментарии (0)