Normalmente, el inodo 0 está reservado porque un valor de retorno de 0 generalmente indica un error. Múltiples métodos en el kernel de Linux, especialmente en la capa VFS compartida por todos los sistemas de archivos, devuelve un ino_t, p. find_inode_number.
Hay más números de inodo reservados. Por ejemplo, en ext2:
#define EXT2_BAD_INO 1 /* Bad blocks inode */
#define EXT2_ROOT_INO 2 /* Root inode */
#define EXT2_BOOT_LOADER_INO 5 /* Boot loader inode */
#define EXT2_UNDEL_DIR_INO 6 /* Undelete directory inode */
y ext3 tiene:
#define EXT3_BAD_INO 1 /* Bad blocks inode */
#define EXT3_ROOT_INO 2 /* Root inode */
#define EXT3_BOOT_LOADER_INO 5 /* Boot loader inode */
#define EXT3_UNDEL_DIR_INO 6 /* Undelete directory inode */
#define EXT3_RESIZE_INO 7 /* Reserved group descriptors inode */
#define EXT3_JOURNAL_INO 8 /* Journal inode */
y ext4 tiene:
#define EXT4_BAD_INO 1 /* Bad blocks inode */
#define EXT4_ROOT_INO 2 /* Root inode */
#define EXT4_USR_QUOTA_INO 3 /* User quota inode */
#define EXT4_GRP_QUOTA_INO 4 /* Group quota inode */
#define EXT4_BOOT_LOADER_INO 5 /* Boot loader inode */
#define EXT4_UNDEL_DIR_INO 6 /* Undelete directory inode */
#define EXT4_RESIZE_INO 7 /* Reserved group descriptors inode */
#define EXT4_JOURNAL_INO 8 /* Journal inode */
Otros fileystems utilizan el ino 1 como número de inodo raíz. En general, un sistema de archivos puede elegir libremente sus números de inodo y sus valores ino inobrados (con la excepción de 0).
¿Tiene una referencia para respaldar la afirmación de que un número de i-nodo no puede ser 0 en cualquier sistema de archivos?No pude encontrar ninguno. –
Entonces, su cita responde exactamente su pregunta, ¿no es así? –
Sí, pero no estoy en producción, y estoy buscando respuestas solo para fines académicos puros;) –