Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • main
1 result

Target

Select target project
  • gc_courses/sys-exploit/course
1 result
Select Git revision
  • main
1 result
Show changes
Commits on Source (3)
......@@ -502,8 +502,9 @@ Contenu du bloc indirect référencé par l'inode 16 (0x10)
<fieldset>
<legend>En conséquence :</legend>
- Pour lire le contenu de l'inode `n`, il faut lire l'entrée à l'indice `(n-1)` dans la table des inodes
- Pour savoir si l'inode `n` est utilisé, il faut lire le bit à l'indice `n` dans le bitmap des inodes
- Pour lire le contenu de l'inode `n`, il faut lire l'entrée à l'indice **`(n-1)`** dans la table des inodes
- Pour savoir si l'inode `n` est utilisé, il faut lire le bit à l'indice **`n`** dans le bitmap des inodes
- Pour lister les inodes il faut lire de l'inode 1 à l'inode `ninodes` **inclut**.
</fieldset>
......
......@@ -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