Ein Inode auf Festplatte im Arbeitsspeicher lesen

8

Ich glaube, es gibt zwei Arten von Inodes - auf der Festplatte und im Kern inode ('struct inode' in fs.h). Ein On-Disk-Inode basiert auf der Dateisystemimplementierung. Ich versuche das zugrunde liegende Konzept zu verstehen und habe ein paar Fragen -

  • Kann mir jemand auf den Code zeigen (oder die Schritte durchgehen), wo der On-Disk-Inode auf den In-Core-Inode gelesen / kopiert wird? d.h., wenn der In-Core-Inode erzeugt wird, muss er von einem On-Disk-Inode stammen. Also, wie passiert das?
  • Warum speichert der In-Core-Inode keinen Zeiger auf den Inode auf der Festplatte?
  • Wenn es eine Änderung an der In-Core-Inode gibt, wie wird sie dann auf die Inode auf der Platte übertragen? Alle Hinweise auf den Code oder Code-Flow wären hilfreich.

Danke!

    
One 11.02.2011, 18:54
quelle

1 Antwort

2

In core Inode wird vom Algorithmus algorithm ialloc vom Disk-Inode kopiert, nachdem ein freier Inode für den neu zugewiesenen Disk-Inode unter Verwendung des Algorithmus iget zugewiesen wurde.

Kernel setzt Flags, um Diskrepanzen zwischen dem Disk-Inode und der In-Core-Kopie anzuzeigen. Wenn Kernel Änderungen an der Datei oder am Inode aufzeichnen muss, schreibt er die In-Core-Kopie des Inodes nach Prüfung dieser Flags auf den Datenträger .

    
Ashitosh 13.02.2011, 15:09
quelle

Tags und Links