Next: Obsługa nagłówków wolnych buforów
Up: Struktury VFS
Previous: i-węzły
Organizacja:
Węzły znajdują się w globalnej tablicy hash'ującej której kluczem
jest superblok i numer i-węzła. Do tego mamy listy:
- inode_in_use
- - lista używanych węzłów, czyli takich do
których są dowiązania.
- inode_unused
- - lista węzłów nie używanych przez żaden process.
- zmodyfikowane węzły wstawiane są do listy w superbloku
s_dirty. Pozwala to na szybkie synchronizowanie całego superbloku.
Przykład wykonanie iget
argumenty: superblok i numer węzła
- Na podstawie podstawie klucza podanego w argumętach
szuka się węzła w inode_hashtable.
Jeśli jest to przekłada się go do kloejki używanych i zwiększa licznik
odwołań. Jesli węzeł był zablokowany to czeka się najpierw na jego
zwolnienie.
- Jeśli w tablicy nie znaleziono węzła to alokuje się nowy
get_new_inode
- Funkcja get_new_inode alokuje strukture.
Zwiększa licznik dowiązań. Woła read_inode dla superbloku
by zainicjować go właściwymi danymi.
admin
2001-12-18