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
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 */