[Kos-dev] Anonymous : pas si facile que ca

d2 kos-dev@enix.org
28 Mar 2002 10:47:52 +0100


>>>>> "d2" == David Decotigny <David.Decotigny@irisa.fr> writes:
    d2> La subtilite, ca doit etre de faire que le mmap(/dev/null)
    d2> alloue une nouvelle shadow_ressource. Et pas pour le reste
    d2> (fichiers, devices, ...).

Peut-etre qu'une solution a ca serait : un open() (puisqu'on fait open
avant mmap : donc on dispose d'une vraie ressource avant de faire le
mmap) qui marcherait comme suit :
  - recup SR liee au fichier recherche (lookup)
  - appel de la methode open() sur la sr => renvoie la ressource
(ie fonctionnement tout a fait canonique).

Et dans le cas /dev/null, la methode open() de la SR globale unique au
systeme dev_null_master (celle renvoyee par le lookup) ferait la chose
suivante :
  - ***allocation nouvelle sr***
  - allocation nouvelle ressource qui pointe vers la sr

De ce fait, on a de facon transparente une nouvelle sr a chaque
mmap(/dev/null) (raccourci pour ecrire mmap(open("/dev/null?)); ). Et
on garde le principe "1 chemin dans le FS associee a 1 seule et unique
SR". Dans le cas de /dev/null, cette SR, c'est dev_null_master, qui
possede une methode open() un peu sophistiquee (alloc d'une autre SR).

Bonne journee,

-- 
d2