s_blocks_count
- całkowita liczba bloków danych
s_free_blocks_count
- liczba wolnych bloków danych
s_inodes_count
- liczba i-węzłów na partycji
s_free_inodes_count
- liczba wolnych i-węzłów
s_inodes_pre_group
- liczba i-węzłów w grupie
s_mnt_count
- liczba operacji montowania od ostatniego sprawdzenia
s_max_mnt_count
- co ile montowań wykonujemy sprawdzenia
s_state
- status (0 - zamontowany, 1 - poprawnie odmontowany, 2 - błędy)
s_free_blocks_count
- liczba wolnych bloków w grupie
s_free_inodes_count
- liczba wolnych i-węzłów w grupie
s_block_bitmap
wielkości 8 (standardowo) ext2_count_free
- Liczy ile jest wolnych bloków w podanej mapie bitowej.
load_block_bitmap
- Ładuje mapę bitową zadanej grupy bloków do pamięci podręcznej.
read_block_bitmap
- Odczytuje mapę bitową z dysku do zadanego slotu w superbloku.
static int read_block_bitmap (struct super_block * sb, unsigned int block_group, unsigned long bitmap_nr);
*sb
- wskaźnik do superbloku, dla którego ładujemy bitmapę.
block_group
- numer grupy bloków którego bitmapę ładujemy.
bitmap_nr
- indeks w tablicy bitmap superbloku.
unsigned long ext2_count_free (struct buffer_head * map, unsigned int numchars);
*map
- początek buforu z mapą bitową
numchar
- długość mapy bitowej (w bajtach)
static inline int load_block_bitmap (struct super_block * sb, unsigned int block_group);
*sb
- wskaźnik do deskryptora super bloku w obrębie którego działamy.
block_group
- numer grupy bloków której bitmapę chcemy wczytać.
static int __load_block_bitmap (struct super_block * sb, unsigned int block_group)
*sb
- wskaźnik do deskryptora superbloku w obrębie którego działamy.
block_group
- numer grupy bloków której bitmapę chcemy wczytać.
void ext2_free_blocks (const struct inode * inode, unsigned long block, unsigned long count)
static int ext2_alloc_block (struct inode * inode, unsigned long goal, int *err)
*inode
- wskaźnik do i-węzła dla którego chcemy alokować nowy blok
goal
- numer bloku od którego mamy rozpocząć poszukiwania
*err
- wsk. na potrzeby wyniku
*err
- wsk. do ew. błędu
ext2_new_block
z takim samy goal
i inode
oraz z odpowiednimi wsk. dla prealokacji
ext2_new_block
z takim samy goal
i inode
oraz z pustymi wskaźnikami dla prealkokacji
int ext2_new_block (const struct inode * inode, unsigned long goal, u32 * prealloc_count, u32 * prealloc_block, int * err)
*inode
- wskaźnik do i-węzła dla którego chcemy alokować nowy blok
goal
- numer bloku od którego mamy rozpocząć poszukiwania
*prealloc_count
- wsk. do liczby bloków które będziemy próbować prealokować
*prealloc_block
- wsk. na potrzeby wyniku
*err
- wsk. na potrzeby wyniku
*prealloc_count
- wsk. do liczba bloków które udało nam sie prealokować
*prealloc_block
- wsk. do numeru pierwszego prealokowanego bloku
*err
- wsk. do ew. błędu
lock_super
)
prealloc_count-1
bloków za nim.
unlock_super
)