Lecture d’un inode sur disque en mémoire

Je crois qu’il existe deux types d’inodes – inode sur disque et inode in-core (‘struct inode’ dans fs.h). Un inode sur disque est basé sur l’implémentation du système de fichiers. J’essaie de comprendre le concept sous-jacent et de poser quelques questions –

  • Est-ce que quelqu’un peut me diriger vers le code (ou parcourir les étapes) où l’inode sur disque est lu / copié sur l’inode in-core? C’est-à-dire que lorsque l’inode in-core est créé, il doit provenir d’un inode sur disque. Alors, comment ça se passe?
  • Pourquoi l’inode in-core ne stocke-t-il pas un pointeur sur l’inode sur disque?
  • S’il y a une modification de l’inode in-core, comment se propage-t-il à l’inode sur disque? Tout pointeur vers le code ou le stream de code serait utile.

Merci!

In Core Inode est copié à partir de l’inode de disque dans l’algorithme ialloc après avoir alloué un inode gratuit pour l’inode de disque nouvellement atsortingbué à l’aide de l’algorithme iget.

Le kernel définit des indicateurs pour indiquer les différences entre l’inode du disque et la copie interne. Lorsque le kernel doit enregistrer les modifications apscopes au fichier ou à l’inode, il écrit la copie du cœur de l’inode sur le disque après avoir examiné ces indicateurs.