next up previous contents
Next: Sposób obsługiwania Up: Obsługa pamięci podręcznej pozycji Previous: Obsługa pamięci podręcznej pozycji   Spis rzeczy

Struktury odpowiedzialne za katalogi

System plików Ext2 implementuje katalogi jako specjalny rodzaj plików, których bloki danych przechowują nazwy plików razem z odpowiadającymi im numerami i-węzłów. Dokładniej te bloki przechowują struktury typu ext2_dir_entry_2, a w każdej jest zapisany

  1. Numer i-węzła
  2. Długość pozycji katalogu
  3. Typ pliku1
  4. Nazwa pliku

W celu jednak przyśpieszenia dostępu do pozycji katalogowych część z nich jest przechowywana w pamięci w strukturze dentry, która reprezentuje poszczególne obiekty z katalogów. Wygląda ona mniej więcej tak:

struct dentry {
  int               d_count;      /* ile procesów z niego korzysta */
  unsigned int      d_flags;      /* jakieś flagi */
  struct inode *    d_inode;      /* wsk. na i-węzeł naszego katalogu */
  struct inode *    d_parent;     /* wsk. na i-węzeł kat. nadrzędnego */
  ...
  struct list_head  d_hash;       /* lista mieszająca tego katalogu */
  ...
  struct qstr       d_name;       /* nazwa - jeśli jest długa */
  ...
  unsigned char     d_iname[DNAME_INLINE_LEN];	  
}                                 /* nazwa - jeśli jest krótka */



2001-12-19