Next: Literatura
Up: namei3
Previous: Gdzie jest namei?
- Algorytm namei nie podlegał znaczącym modyfikacjom na przestrzeni lat.
Jego idea pozostała nie zmieniona w porównaniu z klasycznym systemem UNIX (BSD, System V).
- Największą różnicą pomiędzy wersją 2.0 i 2.2 jądra Linux'a, jest dodanie funkcji lookup_dentry()
zastępującej funkcje dir_namei(), _namei(), follow_link().
- W wersji 2.2 jądra istniały dwie wersje funkcji: namei oraz lnamei. Jedyną różnicą między nimi było to,
że namei podążało za dowiązaniami a lnamei nie.
Były one zdefiniowane jako makra w pliku /include/linux/fs.h.
W jądrze 2.4 wprowadzono zestaw następujących zasad,
które decydują czy należy podążyć za linkiem czy też nie:
- dowiązanie wewnątrz ścieżki - zawsze podążaj
- dowiązanie jest ostatnim elementem ścieżki i następuje tworzenie/usuwanie/przesunięcie
- nigdy nie podążaj
- jeśli ustawiono flagę LOOKUP_FOLLOW - podążaj
- jeśli ścieżka zawiera jeszcze kolejne slash'e - podążaj
- w przeciwnym przypadku - nie podążaj
- W wersji 2.4 jądra
- umieszczono napisany od nowa podsytem namei,
dopasowany do nowej architektury przestrzeni nazw (namespace)
- usunięto funkcje __namei(), lookup_dentry().
- dodano funkcje path_walk(), do_follow_link
- W jądrach gałęzi 2.5 należy spodziewać się poprawek,
oczyszczenia kodu i usunięcia niektórych funkcji.
2001-12-28