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