Pourquoi '/' a-t-il l'inode 2?

8

Sur de nombreux systèmes * nix comme OS X et Ubuntu, nous pouvons voir que l'inode du répertoire racine est 2. Alors à quoi sert l'inode 1?

yzyzsun
la source
7
Cela variera selon le système de fichiers; êtes-vous intéressé par un particulier? Généralement, l'inode 1 est utilisé pour la liste des blocs défectueux, mais ce n'est pas obligatoire.
Michael Homer
2
Cette réponse SO peut être pertinente: stackoverflow.com/a/2109363/2808351
dhag
Le «pourquoi» est vraiment «parce que les développeurs d'ext4 ont décidé de le faire». L'inode AFAIK /diffère selon les systèmes de fichiers et n'est spécifié nulle part dans la norme POSIX. Cela peut avoir été le cas dans AT&T UNIX ou System V d'origine, bien sûr, donc peut être considéré comme une tradition, mais il ne serait certainement pas figé.
Sergiy Kolodyazhnyy

Réponses:

7

L'inode 0 est utilisé comme valeur NULL pour indiquer qu'il n'y a pas d'inode.

L'inode 1 est utilisé pour garder une trace de tous les blocs défectueux sur le disque; c'est essentiellement un fichier caché contenant les mauvais blocs. Ces mauvais blocs qui sont enregistrés en utilisant e2fsck -c.

L'inode 2 est utilisé par le répertoire racine et indique le démarrage des inodes du système de fichiers.

Maythux
la source
Notons qu'à l'exception de 0, les valeurs proviennent de la tradition et ne sont pas vraiment fixes. Par exemple, minixfs a / comme inode 1 et badblocks comme quel que soit inode /.badblocks.
Joshua