Do tematu: System plików

Do tematu: Struktury danych

ext2_inode_info
 
 
Typ Nazwa Opis
__u32  [15]   i_data tablica numerów bloków zawierających dane pliku na dysku, a także wskazujących bloki, które wskazują na dane (czyli bloki pośrednie) (**)
__u32  i_flags flagi odpowiadające flagom i_flags w struct inode
__u32   i_faddr adres fragmentu ??? (*)
(inicjalizowane na 0 w >>ext2_new_inode)
__u8   i_frag_no  liczba fragmentów
__u8   i_frag_size  rozmiar fragmentu
__u16  i_osync  dla i-węzłów w trybie synchronizacji oznacza, czy dany i-węzeł trzeba zsynchronizować (ext2_sync_inode)
__u32  i_file_acl lista kontroli dostępów (ACL - Access Control List) dla pliku
__u32 i_dir_acl lista kontroli dostępów dla katalogu
__u32 i_dtime czas usunięcia (deletion time) - czas ostatniego "odłożenia" i-węzła na dysk (ext2_put_inode)
__u32 i_version numer wersji i-węzła (dla NFS)
__u32 i_block_group w której grupie na dysku znajduje się i-węzeł
__u32 i_next_alloc_block numer bloku przy następnej alokacji (?)
__u32 i_next_alloc_goal numer bloku docelowego przy następnej alokacji
__u32 i_prealloc_block pierwszy zaalokowany blok w procesie prealokacji
__u32 i_prealloc_count liczba zaalokowanych z wyprzedzeniem bloków
int  :1 i_new_inode czy i-węzeł jest nowy - stworzony, a nie odczytany z dysku

(*)    Nie znalazłem innych wystąpień tej zmiennej w kodzie - poza wymienionymi
(**)    Nie wiedzieć czemu rozmiar tej tablicy ustawiony jest sztywno na 15, a np. w funkcji ext2_read_inode (>>fs/ext2/inode.c) uznaje się EXT2_NBLOCKS za liczbę elementów tej tablicy !

Autor:
Grzegorz Gawron

Skład:
Robert Dąbrowski