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ń |