Porquoi il ne faut pas supprimer les blocs

soumaya -  
 soumaya -
Bonjours
pour supprimer un fichier ,le sgf efface l'inode du fichier et non pas les blocs contenants les données,notre prof de sys d’exp nous a dit que c'est dangereux d'effacer le contenu d'un fichier puisqu'il peut avoir des liens symboliques,et il nous a démandé de développer cette idée et de chercher des autres raisons s'il existe
svp faite moi plaisir on m’informant sur ce sujet et merci d’avance
A voir également:

1 réponse

asevere Messages postés 13521 Statut Webmaster 426
 
Salut,
Pour être précis, on n'efface pas l'inode, on le rend disponible :)

Un systeme de fichier est créé avec un nombre statique d'inodes qui determine le nombre maximum de fichiers pouvant être créé.
C'est de là que viens le fait qu'une partition de 10Go peut être pleine avec pourtant seulement 10Mo d'utilisés. (creation du nombre maximum de fichier vides)

Effectivement on ne supprime pas les données; que le bloque contienne des 1 ou des 0, c'est pas génant, puisqu'il ne sera plus addressé par quelque inode que ce soit.
Par contre, sur l'explication donnée par ton prof, soit tu n'as pas saisi, soit il s'est mal exprimé, mais je ne suis pas convaincu.

Que l'on supprime les données d'un fichier qui est lié symboliquement, le lien en lui même serat correct, mais les deux fichiers, (le fichier et le lien) pointerait vers de bloques "vides"
Un lien symoblique étant simplement une reference a un autre inode.

Sur les Hardlink, pourquoi pas.
Comme chaque inode contient le nombre de liens durs qui pointent dessus, la supressions des données serait embetante, dans ce cas précis, on ne libere pas l'inode non plus, on décrémente simplement le compteur qui s'y trouve :)

Un autre inconvéniant si l'on supprimait les bloque de données et non les inodes, c'est d'une part, que le nombre d'inode étant fixe, une fois atteind, toute supressions de fichiers ne changerait rien, le systeme de fichier serait definitivement saturé.
D'autre par, les Bloques, même "vidés", seraient toujours adressés par l'inode du fichier, et donc considéré comme espace utilisé.

@++
...Mana mana
   Tutudutu...
0
soumaya
 
Merci pour votre explication
0

Discussions similaires