From 794c29bb1f4726a35e280c00c42b1443703cfe63 Mon Sep 17 00:00:00 2001
From: Guillaume Chanel <Guillaume.Chanel@unige.ch>
Date: Thu, 17 Oct 2024 15:44:56 +0200
Subject: [PATCH] Precise other del_entry steps

---
 9.filesystems/05_Systemes_fichiers_implementation.md | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/9.filesystems/05_Systemes_fichiers_implementation.md b/9.filesystems/05_Systemes_fichiers_implementation.md
index 8a15357..fa5219e 100644
--- a/9.filesystems/05_Systemes_fichiers_implementation.md
+++ b/9.filesystems/05_Systemes_fichiers_implementation.md
@@ -340,8 +340,14 @@ int lookup_entry(dir_inode, name) {
 ```c
 del_entry(dir_inode, name)
 ```
+<div style="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.
+
+</div>
\ No newline at end of file
-- 
GitLab