La structure qui s'occupe de ça se nomme un « dentry » (pour directory entry) et,
outre l'inode du répertoire, elle contient le nom du répertoire parent et les noms
des répertoires enfants.
Ouh la non. Le dentry n'est pas le répertoire entier (sinon ca augmenterait les risques d'accès concurrents, et donc diminuerait les chances de pouvoir utiliser le code RCU), le répertoire contient plein de dentry, un dentry par fils en fait (d'où le nom "directory-entry").
Un dentry contient en fait le nom du fils (ou un pointeur vers un nom alloué à coté s'il est très long), un pointeur vers l'inoeud de ce fils, et un pointeur vers le dentry du répertoire parent.
# dentry
Posté par Brice Goglin . En réponse à la dépêche Le noyau Linux est disponible en version 2.6.38. Évalué à 9.
Ouh la non. Le dentry n'est pas le répertoire entier (sinon ca augmenterait les risques d'accès concurrents, et donc diminuerait les chances de pouvoir utiliser le code RCU), le répertoire contient plein de dentry, un dentry par fils en fait (d'où le nom "directory-entry").
Un dentry contient en fait le nom du fils (ou un pointeur vers un nom alloué à coté s'il est très long), un pointeur vers l'inoeud de ce fils, et un pointeur vers le dentry du répertoire parent.
http://lxr.linux.no/#linux+v2.6.38/include/linux/dcache.h#L116