Na fonte do kernel Linux , os números de bloco em uma estrutura de inode no disco são de 32 bits. Por quê? Certamente o Linux pode suportar mais de 2^32 blocos...
relate perguntas
-
ext4 montado em / e tmp consumindo espaço em disco
-
Como desfragmentar arquivos com tamanho inferior a 100 MB apenas no sistema de arquivos ext4
-
rmdir falhou ao remover o diretório vazio
-
Mover milhões de arquivos pequenos resulta em erro "falta de espaço"
-
"VFS: Não é possível encontrar o sistema de arquivos ext4" no disco ZFS
A interpretação da matriz
inode.i_block
é diferente no Ext4 em comparação com os formatos anteriores do sistema de arquivos em disco. No Ext4, quando o inode tem oEXT4_EXTENT_FL
seti_flags
nesse array armazena a raiz da árvore de extensão e até quatro descritores de extensão (struct ext4_extent
oustruct ext4_extent_idx
). Você notará que no descritor de extensão existem 48 bits para o endereço do bloco. Para formatos de disco mais antigos, por exemplo, Ext3, o número máximo de blocos cabe de fato em 32 bits.Veja estruturas de dados e algoritmos Ext4 , seção 4.2 O conteúdo de inode.i_block .