Study
File detail
File content
Jednoduchý souborový systém (pokr.)
===================================
- existují tři základní přístupy k implementaci
1) hodnota bude NULL - použije se defaultní funkce
2) použijeme jednu z generických funkcí
3) vlastní implementace jednotlivých funkcí
- lze kombinovat vlastní funkce s generickými
- máme superblock a jeho operace - u čistě paměťového FS není příliš důležité
- u běžného FS je potřeba minimálně superblock načíst/zapsat
- dentry mají také své operace
- můžeme si definovat vlastní hash, podle kterého se dentry vyhledává
(většinou v návaznosti na datové struktury FS)
- mohou být vlastní operace tvoření/rušení dentry, používá se u žurnálovacích FS
- pro nás nejzajímavější jsou operace s inody
- file je inode z pohledu uživatele - obvyklé operace jsou read, write,
změna nastavení práv
- u inode máme dvě sady operací:
i_ops
f_ops
- používají se jiné funkce pro soubory a jiné pro adresáře
posfs_file_iops
posfs_dir_iops
posfs_sym_iops
...
posfs_file_fops
posfs_dir_fops
posfs_sym_fops
- v každém souboru je odkaz na dentry
- v každé dentry jsme schopni se dostat na její inode, pokud nějaká je
- dentry, která má prázdnou inode, signalizuje neexistující objekt (tyto inode
se používají v dentry cache, protože operace vyhledávání jsou náročné)
myfs_dir_inode_symlink
- vytváří symlink na objekt, který je parametrem (ne naopak!!!)