Насколько безопасна прямая совместимость в EXT4?

Насколько безопасна прямая совместимость в EXT4?

Я отформатировал жесткий диск в EXT4 с помощью e2fsprogs 1.45.6-2 на 64-битном ArchLinux (ядро 5.4.50) и заполнил его данными. После этого я установил его на другой компьютер с 32-битным Debian Jessie (ядро 3.16.84-1) с e2fsprogs 1.42.12-2+deb8u2 и скопировал на него один файл.

Является ли эта разница версий проблемной и могла ли она привести к повреждению файловой системы?

Во время завершения работы 32-битной системы Jessie я заметил сообщение об ошибке e2fsck, которое по сути означало, что система не может работать из-за metadata_csum.

Поэтому я погуглил и узнал, что контрольные суммы метаданных были введены в версии 1.43: https://ext4.wiki.kernel.org/index.php/Ext4_Metadata_Checksums

Что действительно заставляет меня чувствовать себя неуютно, так это следующая цитата... Старый код fs НЕ должен иметь возможности записывать в файловую систему с включенными контрольными суммами метаданных. Флаг metadata_csum реализован как флаг ROCOMPAT, который должен удерживать (не вредоносные) старые программы от порчи.

Я ожидал, что вообще не смогу смонтировать файловую систему, если возникнут какие-либо проблемы несовместимости, но я действительно опасаюсь, что испортил ФС.

Любая помощь по этому вопросу будет высоко оценена.

Редактировать: Я использовал GParted для создания FS и в то же время узнал, что в отличие от mke2fs он создает файловые системы в 32-битном режиме по умолчанию для дисков <16TiB, что и происходит с моим диском на 8 ТБ. Я проверил это, проверив функции файловых систем, предоставляемые tune2fs -l /dev/sda | grep features, которые в противном случае включали бы термин «64 бит».

решение1

Есть две отдельные проверки совместимости: одна выполняется ядром, а другая — утилитами e2fsprogs. Ядро 3.16 поддерживает контрольные суммы метаданных, поэтому проблем с монтированием не возникло. Однако версия e2fsprogs в Debian Jessie этого не делала. Поэтому попытки проверить файловую систему с помощью e2fsck не увенчались успехом, поскольку версия e2fsprogs была слишком старой. Я не уверен, какая программа пыталась запустить e2fsck, но, по-видимому, она проигнорировала статус выхода из e2fsck, и/или, возможно, вы смонтировали его вручную.

Теперь понятно, почему вам удалось смонтировать файловую систему, хотя e2fsck сообщил, что не может проверить файловую систему.

Другое предостережение заключается в том, что 3.16 — этооченьстарое ядро, и хотя некоторые исправления ошибок были перенесены обратно, не все, и 3.16 перестал получать обратные порты очень, очень, очень давно. И 3.16 был довольно скоро после того, как были развернуты контрольные суммы метаданных, и я не могувсегарантировать, что в 3.16.84 нет никаких ошибок, связанных с контрольными суммами метаданных. Но если вы скопировали только один файл в эту файловую систему, и содержимое файла проверяется, а современная версия e2fsck не обнаруживает никаких проблем, то, скорее всего, все в порядке.

Связанный контент