Do tematu: Struktury danych
buffer_head
Typ | Nazwa | Opis |
kdev_t | b_dev | numer systemu plików, z którego dane znajdują się w buforze, bądź B_FREE jeśli bufor jest pusty |
unsigned long | b_blocknr | gdy bufor niepusty zawiera logiczny adres bloku w systemie plików |
kdev_t | b_rdev | numer urządzenia w systemie plików |
unsigned long | b_rsector | numer sektora odpowiadającego buforowi |
unsigned long | b_state | zawiera szczegółowe informacje o stanie bufora
dalej opiszę kolejne bity tego pola |
bit 0 | BH_Uptodate | bufor zawiera aktualne dane z dysku |
bit 1 | BH_Dirty | zawartość bufora trzeba zapisać, nastąpiła modyfikacja |
bit 2 | BH_Lock | trwa operacja wejścia-wyjścia na buforze |
bit 3 | BH_Req | zawiera zero jeśli dane w buforze zostały unieważnione |
bit 4 | BH_Touched | zawiera jeden jeśli na buforze została wykonana jakaś operacja (został dotknięty) |
bit 5 | BH_Has_aged | jeśli jeden to bufor zestarzał się i będzie mógł być wkrótce usunięty z pamięci |
bit 6 | BH_Protected | zawiera jeden jeśli bufor jest chroniony |
bit 7 | BH_FreeONIO | trzeba zwolnić bufor natychmiast po operacji wejścia-wyjścia |
unsigned int | b_count | liczba procesów korzystających z bufora |
struct wait_queue * | b_wait | kolejka procesów czekających na zwolnienie bufora |
unsigned long | b_flushtime | informacja kiedy należy ponownie zapisać bufor na dysk, zero gdy nie trzeba |
unsigned int | b_list | numer listy, na której znajduje się ten bufor |
unsigned long | b_size | rozmiar bufora, jeden z pięciu możliwych od 512 do 8192 bajtów, tu przechowywany jest numer rozmiaru |
char * | b_data | wskaźnik do bloku danych |
unsigned long | b_lru_time | czas ostatniego dostępu do bufora |
struct buffer_head * | b_next,
b_prev |
dowiązania do kolejki zawierającej wszystkie bufory |
struct buffer_head * | b_next_free,
b_prev_free |
dowiązania do kolejki buforów wolnych |
struct buffer_head * | b_this_page | dowiązanie do kolejki jednokierunkowej buforów na tej stronie pamięci |
struct buffer_head* | b_reqnext | wskaźnik do kolejki żądań |