Os inodes não têm um relacionamento físico com as características do disco, exceto como é um efeito colateral do design do sistema de arquivos específico.
Os inodes são um conceito de metadados do sistema de arquivos e são usados para anexar metadados a estruturas ou meta-estruturas em disco ( como diretórios, que são um inode que lista inodes refletindo seu conteúdo). Como tal, qualquer limitação nos inodes é baseada em estruturas criadas quando o disco é formatado para um determinado tipo de sistema de arquivos.
Do link acima:
Space for inodes must be set aside when an operating system (or a new filesystem) is installed and that system does its initial structuring of the filesystem. Within any filesystem, the maximum number of inodes, and hence the maximum number of files, is set when the filesystem is created.
Então, sim, o limite é baseado em software no sistema operacional ou nos drivers do sistema de arquivos. Os sistemas de arquivos Linux geralmente permitem que o sistema operacional desempenhe um papel na determinação do número de inodes ao formatar um disco.
The default setting creates an inode for every 2K bytes contained in the filesystem, but the number can be adjusted by the user when creating the filesystem. For example, it can be wise to create fewer inodes when setting up a filesystem that will contain just a few large files. Similarly, for a filesystem intended for mostly small files, it is advisable to allocate more space to inodes and less to file contents.
Então, por padrão, a maioria dos linuxes irá alocar
ceil(formattedSizeInBytes/(2 * 1024)) => initialInodes
.
Isso indica (entre outras coisas) que a contagem de inodes sempre será uma potência exata de dois (como o divisor e o dividendo são intrinsecamente potências de 2).
Agora, tudo isso dito, muitos sistemas de arquivos antigos foram projetados para armazenar um único arquivo por setor ou bloco, portanto, nesses casos, o número de inodes é uma função do número de setores que o disco fornece (mais qualquer que seja o arquivo criadores de sistemas considerados apropriados para links e diretórios, etc.).
O GPFS é um sistema de arquivos antigo, mas foi projetado para acesso paralelo por mainframes e supercomputadores, usando técnicas como distribuição de disco, por isso já está indo muito longe para se divorciar de sua operação das características físicas de discos físicos individuais.