¿Por qué '/' tiene el inodo 2?

8

En muchos sistemas * nix como OS X y Ubuntu, podemos ver que el inodo del directorio raíz es 2. Entonces, ¿para qué se usa el inodo 1?

yzyzsun
fuente
77
Esto diferirá según el sistema de archivos; ¿Estás interesado en uno en particular? Comúnmente, el inodo 1 se usa para la lista de bloques defectuosos, pero no es obligatorio.
Michael Homer
2
Esta respuesta SO puede ser relevante: stackoverflow.com/a/2109363/2808351
dhag
El "por qué" es realmente "porque los desarrolladores de ext4 decidieron hacerlo". El inodo AFAIK para /difiere entre los sistemas de archivos, y no se especifica en ninguna parte del estándar POSIX. Puede haber sido así en AT&T UNIX o System V originales, por supuesto, por lo que se puede considerar una tradición, pero definitivamente no sería inamovible.
Sergiy Kolodyazhnyy

Respuestas:

7

El inodo 0 se usa como un valor NULO para indicar que no hay inodo.

Inode 1 se utiliza para realizar un seguimiento de los bloques defectuosos en el disco; Es esencialmente un archivo oculto que contiene los bloques defectuosos. Esos bloques malos que se graban usando e2fsck -c.

El directorio raíz usa el Inode 2 e indica el inicio de los inodos del sistema de archivos.

Maythux
fuente
Debemos tener en cuenta que, excepto por 0, los valores provienen de la tradición y no son realmente fijos. Por ejemplo, minixfs tiene / como inodo 1 y badblocks como lo que sea inodo /.badblocks.
Joshua