Com ext4 (e a família extfs), as tabelas de inode são pré-alocadas no momento da formatação. Esse é o comportamento tradicional do Unix em relação aos sistemas de arquivos. Ao formatar um volume com o sistema de arquivos extfs, você pode ajustar o número de inode esperado usando o -N
parâmetro do utilitário mkfs. ( Fonte ).
Esse design pode oferecer melhor desempenho (ao alocar muitos arquivos por vez), apesar da escalabilidade. É preciso estimar o número de inodes necessário no momento da formatação. Um volume contendo principalmente arquivos pequenos, como um servidor de correio, exigirá mais inodes por gigabyte do que um volume contendo ISOs.
Depois de usar todos os inodes, você simplesmente não pode criar um novo arquivo, mesmo que ainda haja espaço livre na unidade. Quanto maior o volume, maiores serão as tabelas de inodes. Isso leva a muitos gigabytes perdidos em unidades grandes.
Por outro lado, o XFS usa uma técnica chamada "alocação dinâmica de inode" ( Origem ). Isso leva a uma melhor escalabilidade conforme o número de inodes aumenta ou diminui, dependendo da quantidade de dados no volume. Esse é um design melhor quando você não pode prever para que o sistema de arquivos será usado ou quando espera economizar espaço extra para seus dados. Esse também é o comportamento do NTFS .
O que foi dito sobre o registro no diário está errado, o registro no diário custa apenas alguns megabytes. A principal perda de espaço é devido à alocação estática de inodos.