2011-02-11 18 views
8

Creo que hay dos tipos de inodos: inodos en disco y en núcleo ('struct inode' en fs.h). Un inode en disco se basa en la implementación del sistema de archivos. Estoy tratando de entender el concepto subyacente y tienen algunas preguntas -Lectura de un inode en disco en la memoria

  • Puede alguien que me señale el código (o caminar a través de los pasos), donde se lee/copia en el nodo-i en el núcleo del i-nodo en el disco ? es decir, cuando se crea el inodo en el núcleo, tiene que ser desde un inodo en disco. Entonces, ¿cómo sucede esto?
  • ¿Por qué el inodo interno no almacena un puntero al inodo en disco?
  • Si hay una modificación en el inodo interno, ¿cómo se propaga al inodo en disco? Cualquier sugerencia al código o flujo de código sería útil.

Gracias!

Respuesta

2

En núcleo, el inodo se copia del inódo de disco en el algoritmo ialloc después de asignar un inodo libre para el nuevo inodo de disco asignado utilizando el algoritmo iget.

El kernel establece indicadores para indicar discrepancias entre el inodo del disco y la copia en el núcleo. Cuando Kernel necesita registrar cambios en el archivo o en el inodo, escribe la copia en el núcleo del inodo en el disco después de examinarlos banderas.

Cuestiones relacionadas