Eu tive o mesmo problema. Eu encontrei isso que tinha a resposta:
Migrando arquivos para extensões
Atenção: NÃO use o seguinte método com o repositório do Mercurial que foi clonado localmente, pois isso corromperá o repositório. Pode também corromper outro link físico no sistema de arquivos.
Embora o sistema de arquivos seja agora convertido para ext4, todos os arquivos que foram gravados antes da conversão ainda não tiram proveito das novas extensões do ext4, o que melhorará o desempenho de arquivos e reduzirá a fragmentação e o tempo de verificação do sistema de arquivos. Para aproveitar totalmente o ext4, todos os arquivos teriam que ser reescritos no disco. Um utilitário chamado e4defrag
está sendo desenvolvido e cuidará dessa tarefa; no entanto, ainda não está pronto para produção.
Felizmente, é possível usar o programa chattr
, que fará com que o kernel reescreva o arquivo usando extensões. É possível executar este comando em todos os arquivos e diretórios de uma partição (por exemplo, se /home
estiver em uma partição dedicada): (Deve ser executado como root)
find /home -xdev -type f -print0 | xargs -0 chattr +e
find /home -xdev -type d -print0 | xargs -0 chattr +e
Recomenda-se testar primeiro este comando em um pequeno número de arquivos e verificar se tudo está indo bem. Também pode ser útil verificar o sistema de arquivos após a conversão.
Usando o comando lsattr
, é possível verificar se os arquivos estão usando extensões. A letra 'e' deve aparecer na lista de atributos dos arquivos listados.
-
Nota: Eu supus que o e4defrag poderia converter os arquivos para usar extensões. O ioctl fracassado é aquele que faz isso afaik, então estou um pouco confuso sobre o porquê dele não funcionar, mas chattr +e
funcionou para mim. Depois que você tiver chattr +e
dos arquivos, poderá usar e4defrag
neles. Obviamente, verifique se você tem um backup etc apenas no caso (eu teria pensado que isso é seguro, mas você nunca sabe - há um aviso aqui sobre hardlinks, mas não encontro nenhuma outra referência a problemas conhecidos com hardlinks).