logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 22-06-2024 17:30:03

sylvain_78
Membre
Lieu : Nouvelle Aquitaine
Distrib. : Bookworm
Noyau : Linux 6.1.0-13-amd64
(G)UI : KDE plasma
Inscription : 31-10-2017

Attribut étendu ext4 "I" sur répertoire

Bonjour,

Je me suis aperçu que certains répertoires d'un volume ext4 ont l'attribut étendu "I" (i majuscule).
C'est le cas pour baucoups de répertoires, notamment ~/Téléchargements, /tmp et /etc/.

Le man de chattr indique :

L'attribut « I » sert au code des arbres de hachage
pour indiquer qu'un  répertoire est en train d'y être indexé.
Il ne peut pas être ajouté ou retiré avec chattr(1),
il est tout de même affiché par lsattr(1).

... et ça ne me parle pas plus que ça.

En potassant un peu la doc ext4 sur le wiki je comprends qu'il y a deux façons de stocker les répertoires en ext4 : à plat ou sous forme de table de hachage. Ce serait donc ça.

... mais alors la question est la suivante : pourquoi seulement certains répertoires sont-il traités ainsi ?
En lançant un lsattr -R | grep "\-I\-" il y a en fait beaucoup de répertoires dans ce cas dans mon home et je pense qu'il s'agit de gros répertoires qui justifient l'usage d'une table de hachage. Mais le wiki ne donne pas d'indication.

Hors ligne

#2 22-06-2024 18:46:59

vv222
Administrateur
Distrib. : Debian Sid
(G)UI : sway
Inscription : 18-11-2013
Site Web

Re : Attribut étendu ext4 "I" sur répertoire

Tu peux ignorer ça sans problème.

Ça indique juste ce que ton système de fichiers utilise pour indexer le contenu de ce répertoire, pour résumer grossièrement les répertoires qui ont ce "I" utilisent une méthode d’indexation différente des autres (une table de hachage, comme tu l’as noté), optimisées pour les chemins contenant de nombreux fichiers. L’ajout de cet attribut est totalement automatique, et il n’y a aucune raison valable de chercher à le retirer.

Jouer sous Debian ? Facile !

Ceterum censeo Barum esse delendam

En ligne

#3 23-06-2024 15:20:13

sylvain_78
Membre
Lieu : Nouvelle Aquitaine
Distrib. : Bookworm
Noyau : Linux 6.1.0-13-amd64
(G)UI : KDE plasma
Inscription : 31-10-2017

Re : Attribut étendu ext4 "I" sur répertoire

Bonjour,

Merci vv222 ! ça confirme ce que j'ai compris.
Mais la logique du choix du type d'indexation reste entière : pourquoi certains répertoires et pas d'autres ?
Que le répertoire contenant les 88.6 Gio de la distribution Debian soit indexé par table de hachage, je comprends.
Mais pourquoi ~/Téléchargements qui ne contient pas plus de dix fichiers à chaque fois l'est également ?
Le wiki ext4 ne dit rien là dessus, ou alors ça m'a échappé.

C'est un peu frustrant de comprendre à moitié, mais bon, comme tu dis, je vais ignorer...

Hors ligne

#4 23-06-2024 16:06:01

vv222
Administrateur
Distrib. : Debian Sid
(G)UI : sway
Inscription : 18-11-2013
Site Web

Re : Attribut étendu ext4 "I" sur répertoire

sylvain_78 a écrit :

Mais la logique du choix du type d'indexation reste entière : pourquoi certains répertoires et pas d'autres ?


J’ai trouvé la documentation officielle à ce sujet : https://ext4.wiki.kernel.org/index.php/ … ry_Entries

Elle n’indique malheureusement pas ce qui fait que le noyau décide ou non de définir le flag EXT4_INDEX_FL pour un inode donné. J’ai peur que pour ça il n’y ait pas d’alternative à plonger dans le code source du pilote ext4 pour Linux.


Jouer sous Debian ? Facile !

Ceterum censeo Barum esse delendam

En ligne

#5 23-06-2024 20:00:36

sylvain_78
Membre
Lieu : Nouvelle Aquitaine
Distrib. : Bookworm
Noyau : Linux 6.1.0-13-amd64
(G)UI : KDE plasma
Inscription : 31-10-2017

Re : Attribut étendu ext4 "I" sur répertoire

Merci encore vv222, désolé d'avoir occupé ton dimanche...

Je vais poser à tout hasard la question sur "Debian User Forums", mais mon anglais est un peu boiteux. sad

Je poste si j'ai une réponse.

Bonne soirée !

Hors ligne

#6 23-06-2024 23:16:27

vv222
Administrateur
Distrib. : Debian Sid
(G)UI : sway
Inscription : 18-11-2013
Site Web

Re : Attribut étendu ext4 "I" sur répertoire

sylvain_78 a écrit :

Merci encore vv222, désolé d'avoir occupé ton dimanche...


Pas d’inquiétude, si ce sujet m’a occupé 10 minutes dans ma journée c’est bien un maximum big_smile


Jouer sous Debian ? Facile !

Ceterum censeo Barum esse delendam

En ligne

#7 27-06-2024 03:05:04

sylvain_78
Membre
Lieu : Nouvelle Aquitaine
Distrib. : Bookworm
Noyau : Linux 6.1.0-13-amd64
(G)UI : KDE plasma
Inscription : 31-10-2017

Re : Attribut étendu ext4 "I" sur répertoire

Tada !
La réponse est venue de Slovaquie (merci ruwolf).
EXT4 choisit d'utiliser les Hash Tree lorsque les entrées du répertoire dépassent un bloc. (voir la discussion ici)
Petite subtilité, les blocs ne sont pas restitués lorsque des fichiers sont supprimés. Pour récupérer les blocs correspondants aux fichiers effacés dans un répertoire <REP>, il faut créer un répertoire, y copier les fichiers restants de <REP>, effacer <REP> puis renommer le nouveau répertoire en <REP>. Voir ici.

Dernière modification par sylvain_78 (27-06-2024 03:07:32)

Hors ligne

Pied de page des forums