[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.