Появившаяся в ядре 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 мог произвести восстановление журнала. Но если ситуация повторялась несколько раз подряд, то данные новой сессии монтирования успевали записаться до того как были записаны данные прошлой сессии, что приводило к некорректному состоянию данных в ФС.

Источники[править]

Creative Commons
Creative Commons
Эта статья содержит материалы из статьи «Появившаяся в ядре Linux 3.6.2 ошибка способна привести к повреждению данных в ФС Ext4», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии[править]

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.