[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