Por que '/' possui o inode 2?

8

Em muitos sistemas * nix como OS X e Ubuntu, podemos ver que o inode do diretório raiz é 2. Então, para que o inode 1 é usado?

yzyzsun
fonte
7
Isso será diferente por sistema de arquivos; você está interessado em um em particular? Geralmente o inode 1 é usado para a lista de blocos defeituosos, mas não é necessário.
Michael Homer
2
Esta resposta SO pode ser relevante: stackoverflow.com/a/2109363/2808351
dhag
O "porquê" é realmente "porque os desenvolvedores do ext4 decidiram fazê-lo". O inode AFAIK /difere entre os sistemas de arquivos e não é especificado em nenhum lugar do padrão POSIX. Pode ter sido assim no AT&T UNIX original ou no Sistema V, é claro, então pode ser considerado uma tradição, mas definitivamente não seria uma pedra.
Sergiy Kolodyazhnyy 3/06/19

Respostas:

7

O inode 0 é usado como um valor NULL para indicar que não há inode.

O inode 1 é usado para rastrear quaisquer blocos defeituosos no disco; é essencialmente um arquivo oculto que contém os blocos defeituosos. Esses blocos ruins que são gravados usando e2fsck -c.

O inode 2 é usado pelo diretório raiz e indica o início dos inodes do sistema de arquivos.

Maythux
fonte
Devemos observar que, com exceção de 0, os valores vêm da tradição e não são realmente fixos. Por exemplo, o minixfs possui / como inode 1 e badblocks como qualquer que seja o inode /.badblocks.
Joshua