TacOS-team / tacos

Système d'exploitation / Operating System
GNU General Public License v3.0
9 stars 4 forks source link

Lancer test_io une 10aine de fois fait qu'il ne passe plus les tests #172

Closed MaximeCheramy closed 10 years ago

MaximeCheramy commented 11 years ago

...mais déjà, ça ne plante pas et c'est déjà un progrès.

MaximeCheramy commented 10 years ago

Ouais non, en fait ça fait parfois planter. J'ai ajouté un script pour automatiser les 10 lancements :

mishell script.sh

MaximeCheramy commented 10 years ago

J'arrive à créer un problème au bout d'un lancement ou deux. Visiblement, le nombre de blocks dispos pour l'inode est seulement de 5 et vu que je ne libère jamais, j'arrive rapidement à créer un moment où l'allocation de nouveau block échoue. Reste encore à déterminer si ce nombre très faible (5) est normal ou pas. C'est peut être lié à l'espace libre restant ?

MaximeCheramy commented 10 years ago

Ouais en fait c'est cohérent avec les infos du montage :

[0.05][fs/ext2/ext2.c] mounting EXT2 [0.06][fs/ext2/ext2.c] Nombre d'inodes : 184 [0.06][fs/ext2/ext2.c] Taille d'un inode : 128 [0.06][fs/ext2/ext2.c] Blocks libres : 5 [0.06][fs/ext2/ext2.c] Inodes libres : 158 [0.06][fs/ext2/ext2.c] Taille block : 1024 [0.06][fs/ext2/ext2.c] Blocks par groupe : 8192

Du coup, à moi de coder le free des blocks...

MaximeCheramy commented 10 years ago

Bon, j'ai bien avancé, je n'ai plus de tests qui foirent mais j'ai un plantage au bout d'un moment. J'obtiens un « inode allocation failed. ». Je vais donc devoir m'attaquer à la libération des inodes. Je ne sais pas si l'erreur est obtenue parce qu'il n'y a plus d'inode de libre, faut que je regarde.

MaximeCheramy commented 10 years ago

C'était bien un problème d'inodes non libérés. Le plantage était lié à test_io qui gérait mal certaines erreurs (genre le fopen qui renvoie NULL).