next up previous
Next: Literatura Up: namei3 Previous: Gdzie jest namei?

Historia

  1. 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).
  2. 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().
  3. 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:
    1. dowiązanie wewnątrz ścieżki - zawsze podążaj
    2. dowiązanie jest ostatnim elementem ścieżki i następuje tworzenie/usuwanie/przesunięcie - nigdy nie podążaj
    3. jeśli ustawiono flagę LOOKUP_FOLLOW - podążaj
    4. jeśli ścieżka zawiera jeszcze kolejne slash'e - podążaj
    5. w przeciwnym przypadku - nie podążaj
  4. W wersji 2.4 jądra
  5. W jądrach gałęzi 2.5 należy spodziewać się poprawek, oczyszczenia kodu i usunięcia niektórych funkcji.


2001-12-28