Formatei um HDD com EXT4 com e2fsprogs 1.45.6-2 em um ArchLinux de 64 bits (Kernel 5.4.50) e o preenchi com dados. Depois, instalei-o em um computador diferente executando Debian Jessie de 32 bits (Kernel 3.16.84-1) com e2fsprogs 1.42.12-2+deb8u2 e copiei um único arquivo para ele.
Essa diferença de versão é problemática e pode ter causado danos ao sistema de arquivos?
Durante o desligamento do sistema Jessie de 32 bits, notei uma mensagem de erro e2fsck, que basicamente dizia que não pode ser executado devido a metadata_csum.
Então, pesquisei no Google e descobri que as somas de verificação de metadados foram introduzidas no 1.43: https://ext4.wiki.kernel.org/index.php/Ext4_Metadata_Checksums
O que me deixa realmente desconfortável é a seguinte citação lá ... NÃO deve ser possível para o código fs antigo gravar em um sistema de arquivos com somas de verificação de metadados ativadas. O sinalizador metadata_csum é implementado como um sinalizador ROCOMPAT, que deve impedir que programas antigos (não maliciosos) estraguem as coisas.
Eu esperava não conseguir montar o sistema de arquivos se houvesse algum problema de incompatibilidade, mas realmente temo que possa ter estragado o FS.
Qualquer ajuda sobre isso seria muito apreciada.
Editar: usei o GParted para criar o FS e aprendi nesse meio tempo que, ao contrário do mke2fs, ele cria sistemas de arquivos no modo de 32 bits por padrão para unidades <16TiB, que é o caso da minha unidade de 8 TB. Eu verifiquei isso verificando os recursos dos sistemas de arquivos fornecidos por tune2fs -l /dev/sda | grep features
, que de outra forma incluiriam o termo '64 bits'.
Existem duas verificações de compatibilidade separadas; um é pelo kernel e o outro é pelos utilitários e2fsprogs. O kernel 3.16 suporta Metadata Checksums, então não houve problema em montá-lo. No entanto, a versão de e2fsprogs no Debian Jessie não. Portanto, as tentativas de verificar o sistema de arquivos usando o e2fsck falharam porque a versão do e2fsprogs era muito antiga. Não tenho certeza de qual programa estava tentando executar o e2fsck, mas aparentemente ele ignorou o status de saída do e2fsck e/ou talvez você o tenha montado manualmente.
Isso explica por que você conseguiu montar o sistema de arquivos, embora o e2fsck tenha dito que não foi possível verificar o sistema de arquivos.
O outro cuidado, porém, é que o 3.16 é um kernel muito antigo e, embora algumas correções de bugs tenham backport, nem todas são, e o 3.16 parou de obter backports há muito, muito, muito tempo. E a versão 3.16 foi logo após o lançamento das somas de verificação de metadados, e não posso garantir que não haja nenhum bug relacionado às somas de verificação de metadados na versão 3.16.84. Mas se você copiou apenas um único arquivo para esse sistema de arquivos e o conteúdo do arquivo foi verificado e uma versão moderna do e2fsck não detectou nenhum problema, provavelmente você está bem.