Ошибка в файловой системе EXT4 может привести к потере данных

файловая система EXT4Файловая система EXT4 может привести к потере данных в ядре Linux 4.0 и более поздних версиях. Об этом сообщается в отчете на сайте проекта Debbugs.

Устраняющие ошибку исправления уже выпущены. Специалист Лукаш Чернер (Lukaš Czerner) считает, что проблема также присутствует в ядре Linux более ранних версий – начиная с версии 3.12. Другие эксперты полагают, что ошибка проявляется только в ядре Linux 4.0 и выше.

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

Если после этого осуществляется запись кода в незаписанный экстент, этот экстент в любом случае остается задержанным, а при попытке дописать код в вышеуказанный блок функция ext4_da_map_blocks() создает новый отложенный буфер и присоединяет его к некорректному блоку, что приводит к обнулению всего содержимого буфера и потере ранее сохраненных данных.

НОВОСТИ ПО ТЕМЕ

Добавить комментарий

Имя
E-mail

 

Комментарии к записи Ошибка в файловой системе EXT4 может привести к потере данных