[Kos-cvs] [kos] Modification CVS par d2
KOS CVS
kos-dev <kos-dev@enix.org>
Sun, 21 Apr 2002 14:09:32 +0200 (CEST)
Module : kos
Modifié par : d2 21/04/02 14:09:31
Fichiers modifiés :
grub : script_grub
modules/babel : shadow_resource.h
modules/babel/sys: _sys.c _sys.h _sys_babel.c
modules/babel/tower: _tower.c _tower.h _tower_devfs.c
_tower_fakefs.c _tower_mount.c
_tower_name_space.c _tower_resource.c
_tower_shadow_resource.c tower.h
modules/fs : filesystem.h
modules/fs/fat : _fat_babel.c
modules/kos : spinlock.h wolfgang.c
modules/lib : strdup.c string.h
modules/vmm : _vmm_kmem.c
modules/x86/lib: atomic.h
Détails :
Support de .. et . dans open. Support de root_sr->parent_sr = root_sr, ce qui permet d'ecrire /../../../../../bin qui est equivalent a /bin. Support du nommage relatif (base_sr passe a bbl_open), jusqu'au niveau syscall : on peut passer base_sr=NULL si on ne veut pas d'adressage relatif ; cote user, tant qu'on n'a pas la resource pour CWD, la libc passe base_res=NULL (en attendant la resource CWD). Sinon, finalement, les ///// sont supportes aussi par le open babel vu que ca complique pas trop. Pour locker les SR, il faut maintenant utiliser les macros read_lock_sr/read_unlock_sr (idem write) en tete de shadow_resource.h => en dehors de bbl_open(), ca fait presque la meme chose que spinlock(). Dans open, on evite de faire des strdup lors du scan pour aller plus vite => on doit passer la longueur des chaines aux get_trans() ; voir towe_devs pour un exemple d'utilisation.