Limite de diretório ext4
O Ext4 suporta dois tipos de diretórios :
- diretórios quase lineares tradicionais
- diretórios baseados em hash
Os diretórios lineares têm um limite de 65.000 links, ou seja, em torno de muitos subdiretórios são possíveis. Diretórios baseados em hash não têm limite.
Ao criar um novo sistema de arquivos, o padrão é diretórios hash. Se seus diretórios ainda são lineares, provavelmente é porque você atualizou uma partição ext3 antiga. (Ext3 tem o recurso de diretórios baseados em hash mais tarde.)
Teste se um diretório é quase linear ou baseado em hash
$ sudo debugfs /dev/partition
$ htree /
htree: Not a hash-indexed directory
Conversão
- Desmontar a partição
-
Ative os recursos
dir_index
(dirs baseados em hash) edir_nlink
(links ilimitados).sudo tune2fs -O dir_index,dir_nlink /dev/partition
Todos os diretórios recém-criados agora podem conter subdiretórios ilimitados.
Se você deseja converter diretórios existentes, faça o seguinte:
- Desmonte a partição (importante para proteger contra perda de dados)
-
Diga ao fsck para reconstruir os índices do diretório:
sudo e2fsck -f -D /dev/partition
-f
força o fsck a verificar o disco, mesmo que esteja no estado limpo
-D
diz ao e2fsck para reconstruir os índices:
This option causes e2fsck to try to optimize all directories, either by reindexing them if the filesystem supports directory indexing, or by sorting and compressing directories for smaller directories, or for filesystems using traditional linear directories.