Появившаяся в ядре Linux 3.6.2 ошибка способна привести к повреждению данных в ФС Ext4
24 октября 2012 года
Теодор Тцо (Theodore Ts'o) опубликовал в списке рассылки разработчиков ядра Linux патч с устранением серьёзной ошибки в реализации файловой системы Ext4, которая при определённых условиях может привести к повреждению данных. Проблема вызвана внесением изменения в процессе подготовки версии 3.6.2, затрагивающего инфраструктуру журналирования jbd2 (Journaling block device). Ошибка проявляется в версиях ядра Linux 3.6.2, 3.6.3, 3.4.14, 3.4.15 и 3.5.7. Исправление пока доступно только в виде патча.
Причину ошибки удалось выявить только после длительного анализа внесённых изменений, так как источник проблемы было трудно отследить из-за непредсказуемого характера проявления ошибки - проблема проявлялась только на системах в которых ФС начинается с нулевого блока, после двух перезагрузок с достаточно коротким интервалом.
В итоге было выяснено, что проблема приводит к некорректному состоянию журнала при размонтировании ФС вслед за монтированием, из-за того, что лог изменений не успевает до конца записаться на диск. Если имело место единичное проявление проблемы, то драйвер Ext4 мог произвести восстановление журнала. Но если ситуация повторялась несколько раз подряд, то данные новой сессии монтирования успевали записаться до того как были записаны данные прошлой сессии, что приводило к некорректному состоянию данных в ФС.
Источники[править]
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии[править]
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.