[Kos-dev] Suppression du gpfme->lock

Thomas Petazzoni kos-dev@enix.org
Mon, 25 Mar 2002 10:13:28 +0100


salut,

>     Thomas> peut pas le faire plus tot. Je vois pas du tout comment tu
>     Thomas> veux faire autrement. La on parcourt les PT SEULEMENT sur
> 
> cf un mail precedent.

Desole, j'ai relu, et toujours pas compris comment tu peux faire mieux
que la methode optimale. Je sais pas si tu as lu le code de ma fonction,
mais j'apelle update_vpage UNIQUEMENT pour des pages qui sont vraiment
mappees ! On est au moins oblige de le faire pour chaque page mappee,
non ?

Je parcours la liste des ranges utilises, donc obligatoirement TOUTES
les pages de ces ranges sont mappees. Bref je vois pas du tout comment
on peut faire mieux.

> Certes, certes. N'empeche qu'un fichier *est* accessible en mode
> 'bloc' (ie y'a seek dispo). Ce n'est pas un /peripherique/ au sens
> "hardware", mais l'acces est qd meme de type 100% bloc. Evidemment,
> comme tout ce qui est accessible en mode bloc, l'acces type caractere
> est forcement egalement disponible (tout fd contient un pointeur
> courant, que chaque read deplace qd c'est du bloc ; qd c'est du
> caractere, y'a meme pas besoin de gerer ce genre de pointeur).

Bin si faut bien gerer un pointeur pour le mode caractere, quand je fais

fgetc(machin);
fgetc(machin);

Il me retourne le premier puis le second caractere de machin.

Ma question c'est : le noyau en l'etat actuel ne peut te renvoyer que
des blocs de 512 octets qui sont des parties de fichiers, il peut pas
renvoyer des caracteres tout seul.

Thomas
--
PETAZZONI Thomas - icq #34937744
thomas.petazzoni@enix.org - http://www.enix.org/~thomas/
Projet KOS : http://kos.enix.org
Club LinUT : http://club-linut.enix.org