Do spisu treści systemu plików
Przewodnik po plikach zawierających definicje funkcji
obsługujących system plików FAT
Funkcje dotyczące systemu plików FAT znajdują się w większości w
katalogu "/fs/fat".
W większości, ponieważ obsługa tego filesystemu
przez Linuxa, podobnie jak obsługa innych różnych od ext2
filesystemów, realizowana jest w dużym stopniu przez te same
funkcje i za pomocą tych samych algorytmów. Różnice występują
przede wszystkim w algorytmach i funkcjach niskopoziomowych.
Oto najważniejsze pliki, które zawierają definicje funkcji związanych
z odczytem i zapisem w systemie plików FAT:
- 1. /fs/fat/file.c
- Ten plik zawiera definicje funkcji wysokopoziomowych, wywoływanych
przez wspólne dla wszystkich systemów plików wysokopoziomowe funkcje
read, write etc. za pośrednictwem struktury "file_operations".
Funkcje te korzystają przede wszystkim z funkcji niskopoziomowych
realizujących operacje na buforach zdefiniowanych w pliku
"/fat/buffer.c".
- 1.1. fat_prefetch()
- 1.2. fat_file_read()
- 1.3. fat_file_write()
- 1.4. fat_truncate()
- 2. /fs/fat/buffer.c
- Ten plik zawiera definicje funkcji niskopoziomowych, dotyczących
operacji na buforach, wywoływanych przez funkcje wysokopoziomowe
zawarte w pliku "/fat/file.c". Funkcje te odwołują się przede
wszystkim do funkcji obsługujących cache zdefiniowanych w pliku
"cache.c".
- 2.1. fat_bread()
- 2.2. fat_getblk()
- 2.3. fat_brelse()
- 2.4. fat_mark_buffer_dirty()
- 2.5. fat_set_uptodate()
- 2.6. fat_is_uptodate()
- 2.7. fat_ll_rw_block()
Oto pozostałe pliki znajdujące się w katalogu "/fs/fat/" i funkcje,
które są w nich zdefiniowane:
- 3. /fs/fat/cache.c
- W pliku tym zdefiniowano następujące funkcje:
fat_access(),
cache_init(), cache_lookup(), list_cache(), cache_add(),
fat_cache_inval_inode(), fat_cache_inval_dev(), get_cluster(),
fat_smap(), fat_free(). Funkcje te obsługują cache i znajdują się
o poziom niżej od funkcji obsługujących bufory.
- 4. /fs/fat/dir.c
- W pliku tym zdefiniowano następujące funkcje:
fat_dir_read(),
uni2ascii(), fat_readdirx(), fat_filldir(), fat_readdir(),
vfat_ioctl_fill(), fat_dir_ioctl(). Są to podstawowe funkcje
wyższego poziomu służące do obsługi katalogów w systemie plików FAT.
- 5. /fs/fat/fatfs_syms.c
- W pliku tym zdefiniowano jedynie funkcję init_fat_fs().
Służy ona do inicjalizacji obsługi systemu plików FAT. Jej działanie
polega na zarejestrowaniu zestawu standardowych operacji.
- 6. /fs/fat/inode.c
- W pliku tym zdefiniowano podstawowe funkcje do obsługi
i-węzłów:
fat_put_inode(), fat_put_super(), parse_options(),
fat_read_super(), fat_statfs(), fat_bmap(), is_exec(),
fat_read_inode(), fat_write_inode(), fat_notify_change(),
init_module(), cleanup_module(). W obecnej wersji
te funkcje obsługują także VFAT, czyli długie nazwy plików
wprowadzone przez Windows 95.
- 7. /fs/fat/misc.c
- W pliku tym zdefiniowano różne pomocnicze,
w większości niskopoziomowe funkcje dotyczące bezpośrednich
operacji na dysku:
fat_fs_panic(), is_binary(), fat_lock_creation(),
fat_unlock_creation(), lock_fat(), unlock_fat(),
fat_add_cluster(), date_dos2unix(), fat_date_unix2dos(),
fat_get_etry(), raw_scan_sector(), raw_scan_root(),
raw_scan_nonroot(), raw_scan(), parent_ino(), fat_subdirs(),
fat_scan().
- 8. /fs/fat/mmap.c
- Funkcje zdefiniowane w tym pliku:
fat_file_mmap_nopage(), fat_mmap(). Realizują one
mapowanie plików z filesystemu FAT do pamięci.
- 9. /fs/fat/tables.c
- W tym pliku nie zdefiniowano żadnych funkcji. Zawiera
on tabele konwersji znaków dla systemów ASCII i Unicode.
Autor: Krzysztof Ostrowski