Mon message semble un peu long, mais en fait c'est parce que j'ai
anticipé sur les questions qu'on pourrait me poser.
Je suis en train de faire un programme pour traiter les sorties de
l'application badblocks. Cette application renvoie les numéros de bloc
défectueux sur un disque dur, à raison d'un par ligne.
Mon but est de faire un script appelant fdisk pour créer des partitions
dans l'espace non défectueux. Pour l'instant, je me contente d'afficher
les espaces que je pourrais utiliser et ceux qui ne sont pas
récupérables.
J'appelle le script avec en argument la taille minimale de l'espace à
récupérer (afin de ne pas se retrouver avec des partitions de 1ko) et
cela semble fonctionner. Pourtant j'obtiens un résultat surprenant
en regardant le nombres de blocs perdus (qui s'affiche à la fin de
l'application) :
En effet, le programme m'indique que je perds plus de blocs avec des
partitions de 25000 blocs minimum qu'avec des partitions de 125000 blocs
minimum !
N'étant pas bien réveillé, je pense qu'il y a une énorme coquille que
je ne vois pas dans mon code, alors je m'en remets à vos avis éveillés.
Le script (une douzaine de lignes) est disponible sur
http://html2.apinc.org/fichiers/200502/bb2fdisk.txt
Le fichier (29ko) qui me sert pour les tests est disponible sur
http://html2.apinc.org/fichiers/200502/bb.log
Le résultat exhaustif des tests pour 25000 et 125000 est disponible
sur http://html2.apinc.org/fichiers/200502/bbtests.txt