Dado o vasto conjunto de sistemas de arquivos existentes, tenho certeza de que existem exceções, mas tradicionalmente o inode tinha uma matriz de números de blocos de disco.
Por exemplo, em /usr/include/linux/ext3_fs.h
, vejo uma definição de struct ext3_inode
.
Dentro de struct ext3_inode
, vejo um membro i_block[EXT3_N_BLOCKS];/* Pointers to blocks */
Diferentes sistemas de arquivos tiveram maneiras diferentes de rastrear quais blocos de disco pertencem a um inode (a estrutura de dados em disco que representa os dados do arquivo). Alguns têm uma matriz de números de blocos, alguns têm uma matriz de execuções ou extensões, uma contagem mais o número inicial de blocos de uma série de blocos contíguos. O Berkeley FFS inode possuía uma matriz de números de blocos e uma matriz de números de blocos, cada um desses blocos continha números de blocos de dados e um número de bloco que continha números de blocos que continham números de blocos de dados.
A coisa toda fica um pouco mais estranha para "sistemas de arquivos estruturados em log", mas essas são a exceção e não a regra.