@@ -340,8 +340,14 @@ int lookup_entry(dir_inode, name) {
```c
del_entry(dir_inode,name)
```
<divstyle="font-size: 0.8em">
- La fonction `del_entry` supprime un fichier d'un répertoire
-`del_entry` réalise une recherche linéaire de la chaîne de caractères `name` dans les entrées de répertoire (`dir_entry`) du répertoire dont l'inode est `dir_inode` :
- Attention : tout comme pour `lookup_entry`, le contenu du répertoire peut-être réparti sur plusieurs blocs
- Une fois l'entrée de répertoire (`dir_entry`) trouvée, son champs inode est mis à zéro et le bloc modifié est écrit sur disque
- Une fois l'entrée de répertoire (`dir_entry`) et son numéro d'inode trouvée:
- le nombre de liens pointant vers l'inode correspondant est décrémenté;
- si le nombre de liens tombe à 0 il faut supprimer l'inode (e.g. en mettant le bit dans le bitmap d'inode à 0);
- le champ inode du `dir_entry` est mis à zéro et le bloc modifié est écrit sur disque.