Não. Os arquivos nem sempre são armazenados continuamente; armazenamento descontínuo na verdade tem um nome, "fragmentação" (porque cada parte armazenada separadamente do arquivo é um "fragmento"). Isso é obrigatório, porque senão você não conseguirá criar um arquivo maior que o maior espaço livre contíguo. E anexar a arquivos geralmente falharia (ou, alternativamente, exigiria reescrever o arquivo inteiro para movê-lo).
O inode tem campos para dizer "bytes 0 a 1048575 começam no bloco 10.000", "bytes 1048576 a 2097152 começam no bloco 300", etc. Um inode é um tamanho fixo, portanto há um limite para o número de fragmentos que pode ser armazenado no inode. Quando mais fragmentos são necessários, o inode armazena um ponteiro para um bloco diferente; os fragmentos são armazenados lá.
Se o fragmento é apontado diretamente pelo inode, isso é um ponteiro direto.
Se o fragmento for armazenado fora do inode, isso é um ponteiro indireto.
Um artigo forense digital na SANS tem uma boa imagem explicando. Então, o artigo da Wikipedia . Observe que as extensões do ext4 funcionam de maneira diferente; novamente um artigo na SANS .